[tryton-debian-vcs] tryton-client branch debian updated. debian/3.6.3-1-3-g462d47c

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Nov 11 11:18:03 UTC 2015


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

commit 462d47c2f505d1a20b833ff7df1bf7ad91945ba0
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Nov 11 12:14:29 2015 +0100

    Merging upstream version 3.8.2.

diff --git a/CHANGELOG b/CHANGELOG
index ef23615..007089f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.8.2 - 2015-11-09
+* Bug fixes (see mercurial logs for details)
+
 Version 3.8.1 - 2015-11-02
 * Bug fixes (see mercurial logs for details)
 
diff --git a/PKG-INFO b/PKG-INFO
index f08bb4b..541ab4d 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.8.1
+Version: 3.8.2
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index f08bb4b..541ab4d 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.8.1
+Version: 3.8.2
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/tryton/__init__.py b/tryton/__init__.py
index 4db434a..a2dc5b3 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__ = "3.8.1"
+__version__ = "3.8.2"
diff --git a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo
index 069d66e..9af5825 100644
Binary files a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo and b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo
index 7fd34fb..0886c40 100644
Binary files a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo and b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo
index e6889f5..6589c1d 100644
Binary files a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo and b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo
index fb78ede..beb6ed5 100644
Binary files a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo and b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo
index 2bb46c1..a2f38cb 100644
Binary files a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo
index 3a6fc7a..761452e 100644
Binary files a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo
index 35dbab5..da425f5 100644
Binary files a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo
index f7e6158..f04034f 100644
Binary files a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo
index d87df04..28181a9 100644
Binary files a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo
index 725b633..823e1b8 100644
Binary files a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo and b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo
index 642b287..0287e2f 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/it_IT/LC_MESSAGES/tryton.mo b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo
index cf4eb31..24ede59 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/ja_JP/LC_MESSAGES/tryton.mo b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo
index bb13f41..6eb2d9a 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/lt_LT/LC_MESSAGES/tryton.mo b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo
index 5d78102..6d48d0f 100644
Binary files a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo and b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo
index 6409b4a..dfdc407 100644
Binary files a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo and b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo
index 70f433c..ee9b439 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/ru_RU/LC_MESSAGES/tryton.mo b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo
index 01ce8a4..d06832d 100644
Binary files a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo and b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo
index 6546b93..07d0877 100644
Binary files a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo and b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index 65e2e3c..4a9e075 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -327,8 +327,8 @@ class FloatField(Field):
                 p = digits[1]
             else:
                 d = value * factor
-                if not isinstance(value, Decimal):
-                    d = Decimal(repr(value * factor))
+                if not isinstance(d, Decimal):
+                    d = Decimal(repr(d))
                 p = -int(d.as_tuple().exponent)
             return locale.format('%.*f', (p, value * factor), True)
         else:
commit fa234f68d86dc76b09443edfe464de2151061157
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Nov 11 12:13:35 2015 +0100

    Merging upstream version 3.8.1.

diff --git a/CHANGELOG b/CHANGELOG
index 93b6ed1..ef23615 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.8.1 - 2015-11-02
+* Bug fixes (see mercurial logs for details)
+
 Version 3.8.0 - 2015-11-02
 * Bug fixes (see mercurial logs for details)
 * Use italic labels for editable fields
diff --git a/PKG-INFO b/PKG-INFO
index 97c1364..f08bb4b 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.8.0
+Version: 3.8.1
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 97c1364..f08bb4b 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.8.0
+Version: 3.8.1
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/tryton/__init__.py b/tryton/__init__.py
index 3b7287f..4db434a 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__ = "3.8.0"
+__version__ = "3.8.1"
diff --git a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo
index 3ff3b16..069d66e 100644
Binary files a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo and b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo
index 2affe92..7fd34fb 100644
Binary files a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo and b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo
index 7161334..e6889f5 100644
Binary files a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo and b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo
index 08060c2..fb78ede 100644
Binary files a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo and b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo
index 0108f96..2bb46c1 100644
Binary files a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo
index 54453ae..3a6fc7a 100644
Binary files a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo
index 8f150cf..35dbab5 100644
Binary files a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo
index 09931c7..f7e6158 100644
Binary files a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo
index f5b16eb..d87df04 100644
Binary files a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo and b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo
index 75105b7..725b633 100644
Binary files a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo and b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo
index 19865e4..642b287 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/it_IT/LC_MESSAGES/tryton.mo b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo
index afbd8cb..cf4eb31 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/ja_JP/LC_MESSAGES/tryton.mo b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo
index 2c1c1ff..bb13f41 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/lt_LT/LC_MESSAGES/tryton.mo b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo
index 0738613..5d78102 100644
Binary files a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo and b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo
index 9981ae8..6409b4a 100644
Binary files a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo and b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo
index 0a29f21..70f433c 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/ru_RU/LC_MESSAGES/tryton.mo b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo
index deb32cc..01ce8a4 100644
Binary files a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo and b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo
index d28e6c8..6546b93 100644
Binary files a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo and b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index a3ac0c1..65e2e3c 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -326,7 +326,10 @@ class FloatField(Field):
             if digits:
                 p = digits[1]
             else:
-                p = -int(Decimal(repr(value * factor)).as_tuple().exponent)
+                d = value * factor
+                if not isinstance(value, Decimal):
+                    d = Decimal(repr(value * factor))
+                p = -int(d.as_tuple().exponent)
             return locale.format('%.*f', (p, value * factor), True)
         else:
             return ''
commit b260f233aa442a027c295c8143847ab0563f591e
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Nov 11 12:10:59 2015 +0100

    Merging upstream version 3.8.0.

diff --git a/CHANGELOG b/CHANGELOG
index a64a66d..93b6ed1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,11 +1,15 @@
-Version 3.6.3 - 2015-09-08
-* Bug fixes (see mercurial logs for details)
-
-Version 3.6.2 - 2015-07-13
-* Bug fixes (see mercurial logs for details)
-
-Version 3.6.1 - 2015-05-19
-* Bug fixes (see mercurial logs for details)
+Version 3.8.0 - 2015-11-02
+* Bug fixes (see mercurial logs for details)
+* Use italic labels for editable fields
+* Escape '_' in button string and page string
+* Export selected records only
+* Use HTML for RichText widget
+* Change Progressbar to work with float between 0 and 1
+* Add Fast Tabbing option
+* Remove colors on widgets
+* Bold label of required fields
+* Explicit error message for invalid record
+* Add reversed operators to PYSON expressions
 
 Version 3.6.0 - 2015-04-20
 * Bug fixes (see mercurial logs for details)
diff --git a/MANIFEST.in b/MANIFEST.in
index 2834f60..6804662 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -13,11 +13,3 @@ include doc/*
 recursive-include doc *.rst
 recursive-include doc *.po
 recursive-include doc *.pot
-include share/pixmaps/tryton/LICENSE
-include share/pixmaps/tryton/*.png
-include share/pixmaps/tryton/*.svg
-include share/pixmaps/tryton/*.ico
-include share/pixmaps/tryton/*.icns
-recursive-include share/locale *.mo
-recursive-include share/locale *.po
-include share/locale/*.pot
diff --git a/PKG-INFO b/PKG-INFO
index 926ed32..97c1364 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.6.3
+Version: 3.8.0
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.6/
+Download-URL: http://downloads.tryton.org/3.8/
 Description: tryton
         ======
         
@@ -33,9 +33,6 @@ Description: tryton
         
                 python doc/build.py
         
-          share/
-              The shared files like translations and images.
-        
           tryton/
               tryton sources.
         
@@ -79,9 +76,11 @@ Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Hungarian
+Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Portuguese (Brazilian)
 Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Spanish
-Classifier: Natural Language :: Slovak
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Japanese
 Classifier: Operating System :: OS Independent
diff --git a/README b/README
index 8294db9..224f101 100644
--- a/README
+++ b/README
@@ -24,9 +24,6 @@ Package Contents
 
         python doc/build.py
 
-  share/
-      The shared files like translations and images.
-
   tryton/
       tryton sources.
 
diff --git a/doc/conf.py b/doc/conf.py
index 26d1da7..8acebdc 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 = '3.6'
+version = '3.8'
 # The full version, including alpha/beta/rc tags.
-release = '3.6'
+release = '3.8'
 
 # 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 36b04cf..b4b0bb3 100644
--- a/doc/installation.rst
+++ b/doc/installation.rst
@@ -8,6 +8,7 @@ Prerequisites
  * pygtk 2.22 or later (http://www.pygtk.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/)
diff --git a/doc/usage.rst b/doc/usage.rst
index 6ba5c44..f3799c7 100644
--- a/doc/usage.rst
+++ b/doc/usage.rst
@@ -481,6 +481,11 @@ Save Width/Height:
 Save Tree Expanded State:
   Check box to enable saving of expanded and selected nodes in trees/lists.
 
+.. _Menu-Options-Form-Fast_Tabbing:
+
+Fast Tabbing:
+  Check box to enable fast tabbing navigation by skipping readonly entries.
+
 .. _Menu-Options-Form-Spell_Checking:
 
 Spell Checking:
diff --git a/portuguese.nsh b/portuguese.nsh
new file mode 100644
index 0000000..c60ef3b
--- /dev/null
+++ b/portuguese.nsh
@@ -0,0 +1,17 @@
+;This file is part of Tryton.  The COPYRIGHT file at the top level of
+;this repository contains the full copyright notices and license terms.
+
+!verbose 3
+
+!ifdef CURLANG
+    !undef CURLANG
+!endif
+!define CURLANG ${LANG_ENGLISH}
+
+LangString LicenseText ${CURLANG} "Tryton é licenciado sob a General Public License conforme publicada pela Free Software Foundation, conforme a versão 3 da licença, ou (segundo sua escolha) qualquer versão posterior. Favor ler a licença cuidadosamente. Clique em Seguinte para continuar."
+LangString LicenseNext ${CURLANG} "&Seguinte"
+LangString PreviousInstall ${CURLANG} "Favor remover a instalação anterior do Tryton"
+LangString SecTrytonName ${CURLANG} "Tryton"
+LangString SecTrytonDesc ${CURLANG} "Instala tryton.exe e outros arquivos necessários"
+LangString SecStartMenuName ${CURLANG} "Menu Iniciar e Atalhos da Área de Trabalho"
+LangString SecStartMenuDesc ${CURLANG} "Criar atalhos no menu iniciar e na área de trabalho"
diff --git a/setup-single.nsi b/setup-single.nsi
index 360906b..ae68549 100644
--- a/setup-single.nsi
+++ b/setup-single.nsi
@@ -12,7 +12,7 @@ OutFile "tryton-${VERSION}.exe"
 SetCompressor lzma
 SetCompress auto
 SilentInstall silent
-Icon "share\pixmaps\tryton\tryton.ico"
+Icon "tryton\data\pixmaps\tryton\tryton.ico"
 
 Section
     InitPluginsDir
diff --git a/setup.cfg b/setup.cfg
index 3acc320..562c93e 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,22 +1,22 @@
 [extract_messages]
 copyright_holder = Tryton
 msgid_bugs_address = issue_tracker at tryton.org
-output_file = share/locale/tryton.pot
+output_file = tryton/data/locale/tryton.pot
 keywords = _, gettext
 
 [init_catalog]
 domain = tryton
-input_file = share/locale/tryton.pot
-output_dir = share/locale
+input_file = tryton/data/locale/tryton.pot
+output_dir = tryton/data/locale
 
 [compile_catalog]
 domain = tryton
-directory = share/locale
+directory = tryton/data/locale
 
 [update_catalog]
 domain = tryton
-input_file = share/locale/tryton.pot
-output_dir = share/locale
+input_file = tryton/data/locale/tryton.pot
+output_dir = tryton/data/locale
 
 [egg_info]
 tag_build = 
diff --git a/setup.nsi b/setup.nsi
index a41a27a..7c81390 100644
--- a/setup.nsi
+++ b/setup.nsi
@@ -41,7 +41,7 @@ Var STARTMENU_FOLDER
 
 ;Pages
 
-!define MUI_ICON "share\pixmaps\tryton\tryton.ico"
+!define MUI_ICON "tryton\data\pixmaps\tryton\tryton.ico"
 !define MUI_LICENSEPAGE_TEXT_BOTTOM "$(LicenseText)"
 !define MUI_LICENSEPAGE_BUTTON "$(LicenseNext)"
 
diff --git a/setup.py b/setup.py
index 4d307d2..6760405 100644
--- a/setup.py
+++ b/setup.py
@@ -33,40 +33,14 @@ try:
 except ImportError:
         pass
 
-languages = (
-    'bg_BG',
-    'ca_ES',
-    'cs_CZ',
-    'de_DE',
-    'es_AR',
-    'es_CO',
-    'es_EC',
-    'es_ES',
-    'fr_FR',
-    'ja_JP',
-    'lt_LT',
-    'nl_NL',
-    'ru_RU',
-    'sl_SI',
-    )
-
-
-def all_languages():
-    for lang in languages:
-        yield lang
-        yield lang.split('_')[0]
-
-data_files = [
-    ('share/pixmaps/tryton', glob.glob('share/pixmaps/tryton/*.png') +
-        glob.glob('share/pixmaps/tryton/*.svg')),
-    ('share/locale', ['share/locale/tryton.pot']),
-    ]
-for lang in languages:
-    data_files += [
-        ('share/locale/%s/LC_MESSAGES' % lang,
-            glob.glob('share/locale/%s/LC_MESSAGES/*.mo' % lang) +
-            glob.glob('share/locale/%s/LC_MESSAGES/*.po' % lang)),
+package_data = {
+    'tryton': ['data/pixmaps/tryton/*.png',
+        'data/pixmaps/tryton/*.svg',
+        'data/locale/*/LC_MESSAGES/*.mo',
+        'data/locale/*/LC_MESSAGES/*.po',
         ]
+    }
+data_files = []
 
 if os.name == 'nt':
     import py2exe
@@ -74,7 +48,8 @@ if os.name == 'nt':
     args['windows'] = [{
         'script': os.path.join('bin', 'tryton'),
         'icon_resources': [
-                (1, os.path.join('share', 'pixmaps', 'tryton', 'tryton.ico'))],
+                (1, os.path.join('tryton', 'data', 'pixmaps',
+                        'tryton', 'tryton.ico'))],
     }]
     args['options'] = {
         'py2exe': {
@@ -109,17 +84,18 @@ elif sys.platform == 'darwin':
             'argv_emulation': True,
             'includes': ('pygtk, gtk, glib, cairo, pango, pangocairo, atk, '
                 'gobject, gio, gtk.keysyms'),
-            'resources': 'tryton/plugins',
+            '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('share', 'pixmaps', 'tryton',
-                'tryton.icns'),
+            'iconfile': os.path.join('tryton', 'data', 'pixmaps',
+                'tryton', 'tryton.icns'),
         },
     }
+    del package_data['tryton']
 
 
 def get_version():
@@ -149,6 +125,7 @@ dist = setup(name=name,
     download_url=download_url,
     keywords='business application ERP',
     packages=find_packages(),
+    package_data=package_data,
     data_files=data_files,
     scripts=['bin/tryton'],
     classifiers=[
@@ -164,9 +141,11 @@ dist = setup(name=name,
         'Natural Language :: English',
         'Natural Language :: French',
         'Natural Language :: German',
+        'Natural Language :: Hungarian',
+        'Natural Language :: Italian',
+        'Natural Language :: Portuguese (Brazilian)',
         'Natural Language :: Russian',
         'Natural Language :: Spanish',
-        'Natural Language :: Slovak',
         'Natural Language :: Slovenian',
         'Natural Language :: Japanese',
         'Operating System :: OS Independent',
@@ -178,6 +157,7 @@ dist = setup(name=name,
     install_requires=[
         # "pygtk >= 2.6",
         "python-dateutil",
+        "chardet",
         ],
     extras_require={
         'simplejson': ['simplejson'],
@@ -215,10 +195,11 @@ if os.name == 'nt':
 
         dist_dir = dist.command_obj['py2exe'].dist_dir
 
-        if os.path.isdir(os.path.join(dist_dir, 'plugins')):
-            shutil.rmtree(os.path.join(dist_dir, 'plugins'))
-        shutil.copytree(os.path.join(os.path.dirname(__file__), 'tryton',
-                'plugins'), os.path.join(dist_dir, 'plugins'))
+        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'))
@@ -246,17 +227,10 @@ if os.name == 'nt':
             if os.path.isfile(file):
                 shutil.copy(file, dist_dir)
 
-        for lang in all_languages():
-            if os.path.isdir(os.path.join(dist_dir, 'share', 'locale', lang)):
-                shutil.rmtree(os.path.join(dist_dir, 'share', 'locale', lang))
-            if os.path.isdir(os.path.join(gtk_dir, 'share', 'locale', lang)):
-                shutil.copytree(os.path.join(gtk_dir, 'share', 'locale', lang),
-                    os.path.join(dist_dir, 'share', 'locale', lang))
-            if os.path.isdir(os.path.join(os.path.dirname(__file__),
-                        'share', 'locale', lang)):
-                shutil.copytree(os.path.join(os.path.dirname(__file__),
-                        'share', 'locale', lang),
-                    os.path.join(dist_dir, 'share', 'locale', lang))
+        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')):
@@ -373,19 +347,10 @@ elif sys.platform == 'darwin':
                     dirname, 'gtkrc')
                 gtkrc.write(open(rcfile).read())
 
-        for lang in all_languages():
-            if os.path.isdir(os.path.join(resources_dir, 'share', 'locale',
-                        lang)):
-                shutil.rmtree(os.path.join(resources_dir, 'share', 'locale',
-                        lang))
-            if os.path.isdir(os.path.join(gtk_dir, 'share', 'locale', lang)):
-                shutil.copytree(os.path.join(gtk_dir, 'share', 'locale', lang),
-                    os.path.join(resources_dir, 'share', 'locale', lang))
-            if os.path.isdir(os.path.join(os.path.dirname(__file__),
-                        'share', 'locale', lang)):
-                shutil.copytree(os.path.join(os.path.dirname(__file__),
-                        'share', 'locale', lang),
-                    os.path.join(resources_dir, 'share', 'locale', lang))
+        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(
diff --git a/share/locale/bg_BG/LC_MESSAGES/tryton.mo b/share/locale/bg_BG/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 1e05c90..0000000
Binary files a/share/locale/bg_BG/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/ca_ES/LC_MESSAGES/tryton.mo b/share/locale/ca_ES/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 08f9221..0000000
Binary files a/share/locale/ca_ES/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/cs_CZ/LC_MESSAGES/tryton.mo b/share/locale/cs_CZ/LC_MESSAGES/tryton.mo
deleted file mode 100644
index e186b86..0000000
Binary files a/share/locale/cs_CZ/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/de_DE/LC_MESSAGES/tryton.mo b/share/locale/de_DE/LC_MESSAGES/tryton.mo
deleted file mode 100644
index b2cdee9..0000000
Binary files a/share/locale/de_DE/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/es_AR/LC_MESSAGES/tryton.mo b/share/locale/es_AR/LC_MESSAGES/tryton.mo
deleted file mode 100644
index a6e1458..0000000
Binary files a/share/locale/es_AR/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/es_CO/LC_MESSAGES/tryton.mo b/share/locale/es_CO/LC_MESSAGES/tryton.mo
deleted file mode 100644
index e033a54..0000000
Binary files a/share/locale/es_CO/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/es_EC/LC_MESSAGES/tryton.mo b/share/locale/es_EC/LC_MESSAGES/tryton.mo
deleted file mode 100644
index f35af54..0000000
Binary files a/share/locale/es_EC/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/es_ES/LC_MESSAGES/tryton.mo b/share/locale/es_ES/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 2ee9c80..0000000
Binary files a/share/locale/es_ES/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/fr_FR/LC_MESSAGES/tryton.mo b/share/locale/fr_FR/LC_MESSAGES/tryton.mo
deleted file mode 100644
index b837302..0000000
Binary files a/share/locale/fr_FR/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/ja_JP/LC_MESSAGES/tryton.mo b/share/locale/ja_JP/LC_MESSAGES/tryton.mo
deleted file mode 100644
index c6dff5f..0000000
Binary files a/share/locale/ja_JP/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/lt_LT/LC_MESSAGES/tryton.mo b/share/locale/lt_LT/LC_MESSAGES/tryton.mo
deleted file mode 100644
index cff0ece..0000000
Binary files a/share/locale/lt_LT/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/nl_NL/LC_MESSAGES/tryton.mo b/share/locale/nl_NL/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 712b918..0000000
Binary files a/share/locale/nl_NL/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/ru_RU/LC_MESSAGES/tryton.mo b/share/locale/ru_RU/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 236ff77..0000000
Binary files a/share/locale/ru_RU/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/sl_SI/LC_MESSAGES/tryton.mo b/share/locale/sl_SI/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 33421e3..0000000
Binary files a/share/locale/sl_SI/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/share/locale/tryton.pot b/share/locale/tryton.pot
deleted file mode 100644
index e96d1ee..0000000
--- a/share/locale/tryton.pot
+++ /dev/null
@@ -1,1312 +0,0 @@
-msgid "specify alternate config file"
-msgstr ""
-
-msgid "development mode"
-msgstr ""
-
-msgid "logging everything at INFO level"
-msgstr ""
-
-msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr ""
-
-msgid "specify the login user"
-msgstr ""
-
-msgid "specify the server port"
-msgstr ""
-
-msgid "specify the server hostname"
-msgstr ""
-
-msgid "Too much arguments"
-msgstr ""
-
-#, python-format
-msgid "File \"%s\" not found"
-msgstr ""
-
-#, python-format
-msgid "Unable to write config file %s!"
-msgstr ""
-
-#, python-format
-msgid "Unable to set locale %s"
-msgstr ""
-
-msgid "Select your action"
-msgstr ""
-
-msgid "No action defined!"
-msgstr ""
-
-msgid "Tryton Connection"
-msgstr ""
-
-msgid "Server:"
-msgstr ""
-
-msgid "Port:"
-msgstr ""
-
-msgid "Selection"
-msgstr ""
-
-msgid "Your selection:"
-msgstr ""
-
-msgid "Save As..."
-msgstr ""
-
-msgid "Always ignore this warning."
-msgstr ""
-
-msgid "Do you want to proceed?"
-msgstr ""
-
-msgid "Confirmation"
-msgstr ""
-
-msgid "Concurrency Exception"
-msgstr ""
-
-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 ""
-
-msgid "Compare"
-msgstr ""
-
-msgid "Write Anyway"
-msgstr ""
-
-msgid "Error"
-msgstr ""
-
-msgid "Report Bug"
-msgstr ""
-
-msgid "Application Error!"
-msgstr ""
-
-msgid "Error: "
-msgstr ""
-
-#, python-format
-msgid "To report bugs you must have an account on <u>%s</u>"
-msgstr ""
-
-msgid "Bug Tracker"
-msgstr ""
-
-msgid "User:"
-msgstr ""
-
-msgid "Password:"
-msgstr ""
-
-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 ""
-
-msgid "Created new bug with ID "
-msgstr ""
-
-msgid ""
-"Connection error!\n"
-"Bad username or password!"
-msgstr ""
-
-msgid "Exception:"
-msgstr ""
-
-msgid ""
-"The server fingerprint has changed since last connection!\n"
-"The application will stop connecting to this server until its fingerprint"
-" is fixed."
-msgstr ""
-
-msgid "Security risk!"
-msgstr ""
-
-msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
-msgstr ""
-
-msgid "Network Error!"
-msgstr ""
-
-msgid "<i>Search...</i>"
-msgstr ""
-
-msgid "<i>Create...</i>"
-msgstr ""
-
-msgid "Value"
-msgstr ""
-
-msgid "Displayed value"
-msgstr ""
-
-msgid "Format"
-msgstr ""
-
-msgid "Display format"
-msgstr ""
-
-msgid "Open the calendar"
-msgstr ""
-
-msgid "Date Format"
-msgstr ""
-
-msgid "Displayed date format"
-msgstr ""
-
-msgid "y"
-msgstr ""
-
-msgid "yes"
-msgstr ""
-
-msgid "true"
-msgstr ""
-
-msgid "t"
-msgstr ""
-
-msgid "True"
-msgstr ""
-
-msgid "False"
-msgstr ""
-
-msgid "Edit..."
-msgstr ""
-
-msgid "Attachments..."
-msgstr ""
-
-msgid "Actions..."
-msgstr ""
-
-msgid "Relate..."
-msgstr ""
-
-msgid "Report..."
-msgstr ""
-
-msgid "E-Mail..."
-msgstr ""
-
-msgid "Print..."
-msgstr ""
-
-msgid "Y"
-msgstr ""
-
-msgid "M"
-msgstr ""
-
-msgid "w"
-msgstr ""
-
-msgid "d"
-msgstr ""
-
-msgid "h"
-msgstr ""
-
-msgid "m"
-msgstr ""
-
-msgid "s"
-msgstr ""
-
-msgid "_File"
-msgstr ""
-
-msgid "_User"
-msgstr ""
-
-msgid "_Options"
-msgstr ""
-
-msgid "Fa_vorites"
-msgstr ""
-
-msgid "_Help"
-msgstr ""
-
-msgid "Search"
-msgstr ""
-
-msgid "No result found."
-msgstr ""
-
-msgid "_Connect..."
-msgstr ""
-
-msgid "_Disconnect"
-msgstr ""
-
-msgid "Data_base"
-msgstr ""
-
-msgid "_New Database..."
-msgstr ""
-
-msgid "_Restore Database..."
-msgstr ""
-
-msgid "_Backup Database..."
-msgstr ""
-
-msgid "Dro_p Database..."
-msgstr ""
-
-msgid "_Quit..."
-msgstr ""
-
-msgid "_Preferences..."
-msgstr ""
-
-msgid "_Menu Reload"
-msgstr ""
-
-msgid "_Menu Toggle"
-msgstr ""
-
-msgid "_Global Search"
-msgstr ""
-
-msgid "_Toolbar"
-msgstr ""
-
-msgid "_Default"
-msgstr ""
-
-msgid "_Text and Icons"
-msgstr ""
-
-msgid "_Icons"
-msgstr ""
-
-msgid "_Text"
-msgstr ""
-
-msgid "_Menubar"
-msgstr ""
-
-msgid "Change Accelerators"
-msgstr ""
-
-msgid "_Mode"
-msgstr ""
-
-msgid "_Normal"
-msgstr ""
-
-msgid "_PDA"
-msgstr ""
-
-msgid "_Form"
-msgstr ""
-
-msgid "Save Width/Height"
-msgstr ""
-
-msgid "Save Tree State"
-msgstr ""
-
-msgid "Spell Checking"
-msgstr ""
-
-msgid "_Previous Tab"
-msgstr ""
-
-msgid "_Next Tab"
-msgstr ""
-
-msgid "Search Limit..."
-msgstr ""
-
-msgid "_Email..."
-msgstr ""
-
-msgid "_Save Options"
-msgstr ""
-
-msgid "_Tips..."
-msgstr ""
-
-msgid "_Keyboard Shortcuts..."
-msgstr ""
-
-msgid "_About..."
-msgstr ""
-
-msgid "Manage Favorites"
-msgstr ""
-
-msgid ""
-"The following action requires to close all tabs.\n"
-"Do you want to continue?"
-msgstr ""
-
-msgid "Close Tab"
-msgstr ""
-
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-
-msgid "Access denied!"
-msgstr ""
-
-msgid "Database drop failed with error message:\n"
-msgstr ""
-
-msgid "Database drop failed!"
-msgstr ""
-
-msgid "Database dropped successfully!"
-msgstr ""
-
-msgid "Open Backup File to Restore..."
-msgstr ""
-
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-
-msgid "Database is password protected!"
-msgstr ""
-
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-
-msgid "Database restore failed with error message:\n"
-msgstr ""
-
-msgid "Database restore failed!"
-msgstr ""
-
-msgid "Database restored successfully!"
-msgstr ""
-
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-
-msgid "Database dump failed with error message:\n"
-msgstr ""
-
-msgid "Database dump failed!"
-msgstr ""
-
-msgid "Database backuped successfully!"
-msgstr ""
-
-msgid "New"
-msgstr ""
-
-msgid "Create a new record"
-msgstr ""
-
-msgid "Save"
-msgstr ""
-
-msgid "Save this record"
-msgstr ""
-
-msgid "Switch"
-msgstr ""
-
-msgid "Switch view"
-msgstr ""
-
-msgid "_Reload"
-msgstr ""
-
-msgid "Reload"
-msgstr ""
-
-msgid "_New"
-msgstr ""
-
-msgid "_Save"
-msgstr ""
-
-msgid "_Switch View"
-msgstr ""
-
-msgid "_Reload/Undo"
-msgstr ""
-
-msgid "_Delete..."
-msgstr ""
-
-msgid "_Close Tab"
-msgstr ""
-
-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 ""
-
-msgid "No connection!"
-msgstr ""
-
-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 ""
-
-msgid "Create new database"
-msgstr ""
-
-msgid "C_reate"
-msgstr ""
-
-msgid "Create the new database."
-msgstr ""
-
-msgid "Server Setup:"
-msgstr ""
-
-msgid "Server connection:"
-msgstr ""
-
-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 ""
-
-msgid "C_hange"
-msgstr ""
-
-msgid "Setup the server connection..."
-msgstr ""
-
-msgid "Tryton Server Password:"
-msgstr ""
-
-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 ""
-
-msgid "New database setup:"
-msgstr ""
-
-msgid "Database name:"
-msgstr ""
-
-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 ""
-
-msgid "Default language:"
-msgstr ""
-
-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 ""
-
-msgid "Admin password:"
-msgstr ""
-
-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 ""
-
-msgid "Confirm admin password:"
-msgstr ""
-
-msgid "Type the Admin password again"
-msgstr ""
-
-msgid "The new admin password doesn't match the confirmation field.\n"
-msgstr ""
-
-msgid "Passwords doesn't match!"
-msgstr ""
-
-msgid ""
-"A database with the same name already exists.\n"
-"Try another database name."
-msgstr ""
-
-msgid "This database name already exist!"
-msgstr ""
-
-msgid "Sorry, wrong password for the Tryton server. Please try again."
-msgstr ""
-
-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 ""
-
-msgid "Error creating database!"
-msgstr ""
-
-msgid "Could not connect to server!"
-msgstr ""
-
-msgid "This client version is not compatible with the server!"
-msgstr ""
-
-msgid "No database found, you must create one!"
-msgstr ""
-
-msgid "Backup a database"
-msgstr ""
-
-msgid "Backup"
-msgstr ""
-
-msgid "Backup the choosen database."
-msgstr ""
-
-msgid "Choose a Tryton database to backup:"
-msgstr ""
-
-msgid "Delete a database"
-msgstr ""
-
-msgid "Delete"
-msgstr ""
-
-msgid "Delete the choosen database."
-msgstr ""
-
-msgid "Choose a Tryton database to delete:"
-msgstr ""
-
-msgid "Server Connection:"
-msgstr ""
-
-msgid "Database:"
-msgstr ""
-
-msgid "Profile Editor"
-msgstr ""
-
-msgid "Profile"
-msgstr ""
-
-msgid "_Add"
-msgstr ""
-
-msgid "_Remove"
-msgstr ""
-
-msgid "Host:"
-msgstr ""
-
-msgid "Create"
-msgstr ""
-
-msgid "Fetching databases list"
-msgstr ""
-
-msgid "Username:"
-msgstr ""
-
-msgid "Could not connect to the server"
-msgstr ""
-
-msgid "Incompatible version of the server"
-msgstr ""
-
-msgid "Login"
-msgstr ""
-
-msgid "_Cancel"
-msgstr ""
-
-msgid "Cancel connection to the Tryton server"
-msgstr ""
-
-msgid "C_onnect"
-msgstr ""
-
-msgid "Connect the Tryton server"
-msgstr ""
-
-msgid "Profile:"
-msgstr ""
-
-msgid "_Manage profiles"
-msgstr ""
-
-msgid "Host / Database information"
-msgstr ""
-
-msgid "User name:"
-msgstr ""
-
-msgid "Restore Database"
-msgstr ""
-
-msgid "File to Restore:"
-msgstr ""
-
-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 ""
-
-msgid "New Database Name:"
-msgstr ""
-
-msgid "Update Database:"
-msgstr ""
-
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-
-msgid "Restore"
-msgstr ""
-
-msgid "Restore the database from file."
-msgstr ""
-
-msgid "Email"
-msgstr ""
-
-msgid "Email Program Settings"
-msgstr ""
-
-msgid "Command Line:"
-msgstr ""
-
-msgid "Legend of Available Placeholders:"
-msgstr ""
-
-msgid "To:"
-msgstr ""
-
-msgid "CC:"
-msgstr ""
-
-msgid "Subject:"
-msgstr ""
-
-msgid "Body:"
-msgstr ""
-
-msgid "Attachment:"
-msgstr ""
-
-msgid "Previous"
-msgstr ""
-
-msgid "Previous Record"
-msgstr ""
-
-msgid "Next"
-msgstr ""
-
-msgid "Next Record"
-msgstr ""
-
-msgid "Attachment(0)"
-msgstr ""
-
-msgid "Add an attachment to the record"
-msgstr ""
-
-msgid "_Duplicate"
-msgstr ""
-
-msgid "_Previous"
-msgstr ""
-
-msgid "_Next"
-msgstr ""
-
-msgid "_Search"
-msgstr ""
-
-msgid "View _Logs..."
-msgstr ""
-
-msgid "Show revisions..."
-msgstr ""
-
-msgid "A_ttachments..."
-msgstr ""
-
-msgid "_Actions..."
-msgstr ""
-
-msgid "_Relate..."
-msgstr ""
-
-msgid "_Report..."
-msgstr ""
-
-msgid "_E-Mail..."
-msgstr ""
-
-msgid "_Print..."
-msgstr ""
-
-msgid "_Export Data..."
-msgstr ""
-
-msgid "_Import Data..."
-msgstr ""
-
-#, python-format
-msgid "Attachment(%d)"
-msgstr ""
-
-msgid "You have to select one record!"
-msgstr ""
-
-msgid "ID:"
-msgstr ""
-
-msgid "Creation User:"
-msgstr ""
-
-msgid "Creation Date:"
-msgstr ""
-
-msgid "Latest Modification by:"
-msgstr ""
-
-msgid "Latest Modification Date:"
-msgstr ""
-
-msgid "Model:"
-msgstr ""
-
-msgid "Are you sure to remove this record?"
-msgstr ""
-
-msgid "Are you sure to remove those records?"
-msgstr ""
-
-msgid "Records not removed!"
-msgstr ""
-
-msgid "Records removed!"
-msgstr ""
-
-msgid "Working now on the duplicated record(s)!"
-msgstr ""
-
-msgid "Record saved!"
-msgstr ""
-
-msgid "Invalid form!"
-msgstr ""
-
-msgid " of "
-msgstr ""
-
-msgid ""
-"This record has been modified\n"
-"do you want to save it ?"
-msgstr ""
-
-msgid "Action"
-msgstr ""
-
-msgid "Launch action"
-msgstr ""
-
-msgid "Relate"
-msgstr ""
-
-msgid "Open related records"
-msgstr ""
-
-msgid "Report"
-msgstr ""
-
-msgid "Open report"
-msgstr ""
-
-msgid "E-Mail"
-msgstr ""
-
-msgid "E-Mail report"
-msgstr ""
-
-msgid "Print"
-msgstr ""
-
-msgid "Print report"
-msgstr ""
-
-msgid "Unknown"
-msgstr ""
-
-msgid "Limit"
-msgstr ""
-
-msgid "Search Limit Settings"
-msgstr ""
-
-msgid "Limit:"
-msgstr ""
-
-msgid "Preferences"
-msgstr ""
-
-msgid "Edit User Preferences"
-msgstr ""
-
-msgid "Preference"
-msgstr ""
-
-msgid "Current Password:"
-msgstr ""
-
-msgid "Revision"
-msgstr ""
-
-msgid "Select a revision"
-msgstr ""
-
-msgid "Revision:"
-msgstr ""
-
-msgid "Keyboard Shortcuts"
-msgstr ""
-
-msgid "Text Entries Shortcuts"
-msgstr ""
-
-msgid "Cut selected text"
-msgstr ""
-
-msgid "Copy selected text"
-msgstr ""
-
-msgid "Paste copied text"
-msgstr ""
-
-msgid "Next widget"
-msgstr ""
-
-msgid "Previous widget"
-msgstr ""
-
-msgid "Relation Entries Shortcuts"
-msgstr ""
-
-msgid "Create new relation"
-msgstr ""
-
-msgid "Open/Search relation"
-msgstr ""
-
-msgid "List Entries Shortcuts"
-msgstr ""
-
-msgid "Create new line"
-msgstr ""
-
-msgid "Open relation"
-msgstr ""
-
-msgid "Mark line for deletion"
-msgstr ""
-
-msgid "Unmark line for deletion"
-msgstr ""
-
-msgid "Edition Widgets"
-msgstr ""
-
-msgid ""
-"<b>Welcome to Tryton</b>\n"
-"\n"
-"\n"
-msgstr ""
-
-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 ""
-
-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 ""
-
-msgid ""
-"<b>Export graphs</b>\n"
-"\n"
-"You can save any graphs in PNG file with right-click on it.\n"
-msgstr ""
-
-msgid "Tips"
-msgstr ""
-
-msgid "_Display a new tip next time"
-msgstr ""
-
-msgid "Export to CSV"
-msgstr ""
-
-msgid "<b>Predefined exports</b>"
-msgstr ""
-
-msgid "<b>All fields</b>"
-msgstr ""
-
-msgid "Clear"
-msgstr ""
-
-msgid "Save Export"
-msgstr ""
-
-msgid "Delete Export"
-msgstr ""
-
-msgid "<b>Fields to export</b>"
-msgstr ""
-
-msgid "<b>Options</b>"
-msgstr ""
-
-msgid "Open"
-msgstr ""
-
-msgid "Add _field names"
-msgstr ""
-
-msgid "Name"
-msgstr ""
-
-#, python-format
-msgid "%s (string)"
-msgstr ""
-
-msgid "What is the name of this export?"
-msgstr ""
-
-#, python-format
-msgid "Override '%s' definition?"
-msgstr ""
-
-#, python-format
-msgid "%d record saved!"
-msgstr ""
-
-#, python-format
-msgid "%d records saved!"
-msgstr ""
-
-#, python-format
-msgid ""
-"Operation failed!\n"
-"Error message:\n"
-"%s"
-msgstr ""
-
-msgid "Link"
-msgstr ""
-
-msgid "Add"
-msgstr ""
-
-msgid "Remove <Del>"
-msgstr ""
-
-msgid "Create a new record <F3>"
-msgstr ""
-
-msgid "Delete selected record <Del>"
-msgstr ""
-
-msgid "Undelete selected record <Ins>"
-msgstr ""
-
-msgid "Import from CSV"
-msgstr ""
-
-msgid "Auto-Detect"
-msgstr ""
-
-msgid "<b>Fields to import</b>"
-msgstr ""
-
-msgid "File to Import:"
-msgstr ""
-
-msgid "Open..."
-msgstr ""
-
-msgid "CSV Parameters"
-msgstr ""
-
-msgid "Field Separator:"
-msgstr ""
-
-msgid "Text Delimiter:"
-msgstr ""
-
-msgid "Encoding:"
-msgstr ""
-
-msgid "Lines to Skip:"
-msgstr ""
-
-msgid "Field name"
-msgstr ""
-
-msgid "You must select an import file first!"
-msgstr ""
-
-msgid "Error opening CSV file"
-msgstr ""
-
-#, python-format
-msgid "Error processing the file at field %s."
-msgstr ""
-
-#, python-format
-msgid "%d record imported!"
-msgstr ""
-
-#, python-format
-msgid "%d records imported!"
-msgstr ""
-
-msgid "Wizard"
-msgstr ""
-
-msgid "ID"
-msgstr ""
-
-msgid "Creation User"
-msgstr ""
-
-msgid "Creation Date"
-msgstr ""
-
-msgid "Modification User"
-msgstr ""
-
-msgid "Modification Date"
-msgstr ""
-
-msgid "Unable to get view tree state"
-msgstr ""
-
-msgid "Unable to set view tree state"
-msgstr ""
-
-msgid ":"
-msgstr ""
-
-msgid "Save As"
-msgstr ""
-
-msgid "Image Size"
-msgstr ""
-
-msgid "Width:"
-msgstr ""
-
-msgid "Height:"
-msgstr ""
-
-msgid "PNG image (*.png)"
-msgstr ""
-
-msgid "Image size too large!"
-msgstr ""
-
-msgid ".."
-msgstr ""
-
-msgid "F_ilters"
-msgstr ""
-
-msgid "Show bookmarks of filters"
-msgstr ""
-
-msgid "Remove this bookmark"
-msgstr ""
-
-msgid "Bookmark this filter"
-msgstr ""
-
-msgid "Bookmark Name:"
-msgstr ""
-
-msgid "Find"
-msgstr ""
-
-msgid "Today"
-msgstr ""
-
-msgid "Week View"
-msgstr ""
-
-msgid "Month View"
-msgstr ""
-
-msgid "Week"
-msgstr ""
-
-msgid "Select a File..."
-msgstr ""
-
-msgid "Show plain text"
-msgstr ""
-
-msgid "Add value"
-msgstr ""
-
-#, python-format
-msgid "Remove \"%s\""
-msgstr ""
-
-msgid "Select an Image..."
-msgstr ""
-
-msgid "All files"
-msgstr ""
-
-msgid "Images"
-msgstr ""
-
-msgid "Add existing record"
-msgstr ""
-
-msgid "Remove selected record <Del>"
-msgstr ""
-
-msgid "Open a record <F2>"
-msgstr ""
-
-msgid "Search a record <F2>"
-msgstr ""
-
-msgid "Remove selected record"
-msgstr ""
-
-msgid "Edit selected record <F2>"
-msgstr ""
-
-msgid "Change text to bold"
-msgstr ""
-
-msgid "Change text to italic"
-msgstr ""
-
-msgid "Change text to underline"
-msgstr ""
-
-msgid "Choose font-family"
-msgstr ""
-
-msgid "Choose font-size"
-msgstr ""
-
-msgid "Justify of line to the left"
-msgstr ""
-
-msgid "Justify of line to the center"
-msgstr ""
-
-msgid "Justify of line to the right"
-msgstr ""
-
-msgid "Justify of line to fill window"
-msgstr ""
-
-msgid "Change the foreground text"
-msgstr ""
-
-msgid "Change the background text"
-msgstr ""
-
-msgid "Change the markup text view"
-msgstr ""
-
-msgid "Select a foreground color"
-msgstr ""
-
-msgid "Select a background color"
-msgstr ""
-
-msgid "Translation"
-msgstr ""
-
-msgid "Edit"
-msgstr ""
-
-msgid "Fuzzy"
-msgstr ""
-
-msgid "You need to save the record before adding translations!"
-msgstr ""
-
-msgid "No other language available!"
-msgstr ""
-
-msgid "Translate view"
-msgstr ""
-
diff --git a/share/pixmaps/tryton/tryton.icns b/share/pixmaps/tryton/tryton.icns
deleted file mode 100644
index b501666..0000000
Binary files a/share/pixmaps/tryton/tryton.icns and /dev/null differ
diff --git a/share/pixmaps/tryton/tryton.ico b/share/pixmaps/tryton/tryton.ico
deleted file mode 100644
index 96e06f8..0000000
Binary files a/share/pixmaps/tryton/tryton.ico and /dev/null differ
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 926ed32..97c1364 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.6.3
+Version: 3.8.0
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.6/
+Download-URL: http://downloads.tryton.org/3.8/
 Description: tryton
         ======
         
@@ -33,9 +33,6 @@ Description: tryton
         
                 python doc/build.py
         
-          share/
-              The shared files like translations and images.
-        
           tryton/
               tryton sources.
         
@@ -79,9 +76,11 @@ Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Hungarian
+Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Portuguese (Brazilian)
 Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Spanish
-Classifier: Natural Language :: Slovak
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Japanese
 Classifier: Operating System :: OS Independent
diff --git a/tryton.egg-info/SOURCES.txt b/tryton.egg-info/SOURCES.txt
index 7ef7058..e8b1bef 100644
--- a/tryton.egg-info/SOURCES.txt
+++ b/tryton.egg-info/SOURCES.txt
@@ -9,6 +9,7 @@ catalan.nsh
 english.nsh
 french.nsh
 german.nsh
+portuguese.nsh
 russian.nsh
 setup-single.nsi
 setup.cfg
@@ -27,91 +28,6 @@ doc/installation.rst
 doc/introduction.rst
 doc/make.bat
 doc/usage.rst
-share/locale/tryton.pot
-share/locale/bg_BG/LC_MESSAGES/tryton.mo
-share/locale/bg_BG/LC_MESSAGES/tryton.po
-share/locale/ca_ES/LC_MESSAGES/tryton.mo
-share/locale/ca_ES/LC_MESSAGES/tryton.po
-share/locale/cs_CZ/LC_MESSAGES/tryton.mo
-share/locale/cs_CZ/LC_MESSAGES/tryton.po
-share/locale/de_DE/LC_MESSAGES/tryton.mo
-share/locale/de_DE/LC_MESSAGES/tryton.po
-share/locale/es_AR/LC_MESSAGES/tryton.mo
-share/locale/es_AR/LC_MESSAGES/tryton.po
-share/locale/es_CO/LC_MESSAGES/tryton.mo
-share/locale/es_CO/LC_MESSAGES/tryton.po
-share/locale/es_EC/LC_MESSAGES/tryton.mo
-share/locale/es_EC/LC_MESSAGES/tryton.po
-share/locale/es_ES/LC_MESSAGES/tryton.mo
-share/locale/es_ES/LC_MESSAGES/tryton.po
-share/locale/fr_FR/LC_MESSAGES/tryton.mo
-share/locale/fr_FR/LC_MESSAGES/tryton.po
-share/locale/ja_JP/LC_MESSAGES/tryton.mo
-share/locale/ja_JP/LC_MESSAGES/tryton.po
-share/locale/lt_LT/LC_MESSAGES/tryton.mo
-share/locale/lt_LT/LC_MESSAGES/tryton.po
-share/locale/nl_NL/LC_MESSAGES/tryton.mo
-share/locale/nl_NL/LC_MESSAGES/tryton.po
-share/locale/ru_RU/LC_MESSAGES/tryton.mo
-share/locale/ru_RU/LC_MESSAGES/tryton.po
-share/locale/sl_SI/LC_MESSAGES/tryton.mo
-share/locale/sl_SI/LC_MESSAGES/tryton.po
-share/pixmaps/tryton/tryton-attachment-hi.svg
-share/pixmaps/tryton/tryton-attachment.svg
-share/pixmaps/tryton/tryton-bookmark.svg
-share/pixmaps/tryton/tryton-clear.svg
-share/pixmaps/tryton/tryton-close.svg
-share/pixmaps/tryton/tryton-connect.svg
-share/pixmaps/tryton/tryton-copy.svg
-share/pixmaps/tryton/tryton-delete.svg
-share/pixmaps/tryton/tryton-dialog-error.svg
-share/pixmaps/tryton/tryton-dialog-information.svg
-share/pixmaps/tryton/tryton-dialog-warning.svg
-share/pixmaps/tryton/tryton-disconnect.svg
-share/pixmaps/tryton/tryton-executable.svg
-share/pixmaps/tryton/tryton-find-replace.svg
-share/pixmaps/tryton/tryton-find.svg
-share/pixmaps/tryton/tryton-folder-new.svg
-share/pixmaps/tryton/tryton-fullscreen.svg
-share/pixmaps/tryton/tryton-go-home.svg
-share/pixmaps/tryton/tryton-go-jump.svg
-share/pixmaps/tryton/tryton-go-next.svg
-share/pixmaps/tryton/tryton-go-previous.svg
-share/pixmaps/tryton/tryton-help.svg
-share/pixmaps/tryton/tryton-icon.png
-share/pixmaps/tryton/tryton-icon.svg
-share/pixmaps/tryton/tryton-list-add.svg
-share/pixmaps/tryton/tryton-list-remove.svg
-share/pixmaps/tryton/tryton-locale.svg
-share/pixmaps/tryton/tryton-lock.svg
-share/pixmaps/tryton/tryton-log-out.svg
-share/pixmaps/tryton/tryton-mail-message-new.svg
-share/pixmaps/tryton/tryton-mail-message.svg
-share/pixmaps/tryton/tryton-new.svg
-share/pixmaps/tryton/tryton-noimage.png
-share/pixmaps/tryton/tryton-open.svg
-share/pixmaps/tryton/tryton-preferences-system-session.svg
-share/pixmaps/tryton/tryton-preferences-system.svg
-share/pixmaps/tryton/tryton-preferences.svg
-share/pixmaps/tryton/tryton-print-email.svg
-share/pixmaps/tryton/tryton-print-open.svg
-share/pixmaps/tryton/tryton-print.svg
-share/pixmaps/tryton/tryton-refresh.svg
-share/pixmaps/tryton/tryton-save-as.svg
-share/pixmaps/tryton/tryton-save.svg
-share/pixmaps/tryton/tryton-star.svg
-share/pixmaps/tryton/tryton-start-here.svg
-share/pixmaps/tryton/tryton-system-file-manager.svg
-share/pixmaps/tryton/tryton-system.svg
-share/pixmaps/tryton/tryton-text-background.svg
-share/pixmaps/tryton/tryton-text-foreground.svg
-share/pixmaps/tryton/tryton-text-markup.svg
-share/pixmaps/tryton/tryton-undo.svg
-share/pixmaps/tryton/tryton-unstar.svg
-share/pixmaps/tryton/tryton-web-browser.svg
-share/pixmaps/tryton/tryton.icns
-share/pixmaps/tryton/tryton.ico
-share/pixmaps/tryton/tryton.png
 tryton/__init__.py
 tryton/client.py
 tryton/config.py
@@ -150,11 +66,102 @@ tryton/common/domain_parser.py
 tryton/common/entry_position.py
 tryton/common/environment.py
 tryton/common/focus.py
+tryton/common/htmltextbuffer.py
 tryton/common/placeholder_entry.py
 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/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/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/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/pixmaps/tryton/tryton-attachment-hi.svg
+tryton/data/pixmaps/tryton/tryton-attachment.svg
+tryton/data/pixmaps/tryton/tryton-bookmark.svg
+tryton/data/pixmaps/tryton/tryton-clear.svg
+tryton/data/pixmaps/tryton/tryton-close.svg
+tryton/data/pixmaps/tryton/tryton-connect.svg
+tryton/data/pixmaps/tryton/tryton-copy.svg
+tryton/data/pixmaps/tryton/tryton-delete.svg
+tryton/data/pixmaps/tryton/tryton-dialog-error.svg
+tryton/data/pixmaps/tryton/tryton-dialog-information.svg
+tryton/data/pixmaps/tryton/tryton-dialog-warning.svg
+tryton/data/pixmaps/tryton/tryton-disconnect.svg
+tryton/data/pixmaps/tryton/tryton-executable.svg
+tryton/data/pixmaps/tryton/tryton-find-replace.svg
+tryton/data/pixmaps/tryton/tryton-find.svg
+tryton/data/pixmaps/tryton/tryton-folder-new.svg
+tryton/data/pixmaps/tryton/tryton-fullscreen.svg
+tryton/data/pixmaps/tryton/tryton-go-home.svg
+tryton/data/pixmaps/tryton/tryton-go-jump.svg
+tryton/data/pixmaps/tryton/tryton-go-next.svg
+tryton/data/pixmaps/tryton/tryton-go-previous.svg
+tryton/data/pixmaps/tryton/tryton-help.svg
+tryton/data/pixmaps/tryton/tryton-icon.png
+tryton/data/pixmaps/tryton/tryton-icon.svg
+tryton/data/pixmaps/tryton/tryton-list-add.svg
+tryton/data/pixmaps/tryton/tryton-list-remove.svg
+tryton/data/pixmaps/tryton/tryton-locale.svg
+tryton/data/pixmaps/tryton/tryton-lock.svg
+tryton/data/pixmaps/tryton/tryton-log-out.svg
+tryton/data/pixmaps/tryton/tryton-mail-message-new.svg
+tryton/data/pixmaps/tryton/tryton-mail-message.svg
+tryton/data/pixmaps/tryton/tryton-new.svg
+tryton/data/pixmaps/tryton/tryton-noimage.png
+tryton/data/pixmaps/tryton/tryton-open.svg
+tryton/data/pixmaps/tryton/tryton-preferences-system-session.svg
+tryton/data/pixmaps/tryton/tryton-preferences-system.svg
+tryton/data/pixmaps/tryton/tryton-preferences.svg
+tryton/data/pixmaps/tryton/tryton-print-email.svg
+tryton/data/pixmaps/tryton/tryton-print-open.svg
+tryton/data/pixmaps/tryton/tryton-print.svg
+tryton/data/pixmaps/tryton/tryton-refresh.svg
+tryton/data/pixmaps/tryton/tryton-save-as.svg
+tryton/data/pixmaps/tryton/tryton-save.svg
+tryton/data/pixmaps/tryton/tryton-star.svg
+tryton/data/pixmaps/tryton/tryton-start-here.svg
+tryton/data/pixmaps/tryton/tryton-system-file-manager.svg
+tryton/data/pixmaps/tryton/tryton-system.svg
+tryton/data/pixmaps/tryton/tryton-text-background.svg
+tryton/data/pixmaps/tryton/tryton-text-foreground.svg
+tryton/data/pixmaps/tryton/tryton-text-markup.svg
+tryton/data/pixmaps/tryton/tryton-undo.svg
+tryton/data/pixmaps/tryton/tryton-unstar.svg
+tryton/data/pixmaps/tryton/tryton-web-browser.svg
+tryton/data/pixmaps/tryton/tryton.png
 tryton/gui/__init__.py
 tryton/gui/main.py
 tryton/gui/window/__init__.py
@@ -167,6 +174,7 @@ 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
 tryton/gui/window/limit.py
 tryton/gui/window/nomodal.py
 tryton/gui/window/preference.py
diff --git a/tryton.egg-info/requires.txt b/tryton.egg-info/requires.txt
index f3de687..3528c21 100644
--- a/tryton.egg-info/requires.txt
+++ b/tryton.egg-info/requires.txt
@@ -1,4 +1,5 @@
 python-dateutil
+chardet
 
 [cdecimal]
 cdecimal
diff --git a/tryton/__init__.py b/tryton/__init__.py
index 4fd62c1..3b7287f 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__ = "3.6.3"
+__version__ = "3.8.0"
diff --git a/tryton/action/main.py b/tryton/action/main.py
index 34b99d4..16c6d25 100644
--- a/tryton/action/main.py
+++ b/tryton/action/main.py
@@ -84,6 +84,11 @@ class Action(object):
     def _exec_action(action, data=None, context=None):
         if context is None:
             context = {}
+        else:
+            context = context.copy()
+        if 'date_format' not in context:
+            context['date_format'] = rpc.CONTEXT.get(
+                'locale', {}).get('date', '%x')
         if data is None:
             data = {}
         else:
@@ -114,9 +119,6 @@ class Action(object):
             ctx.update(action_ctx)
             ctx.update(context)
             action_ctx.update(context)
-            if 'date_format' not in action_ctx:
-                action_ctx['date_format'] = rpc.CONTEXT.get(
-                    'locale', {}).get('date', '%x')
 
             ctx['context'] = ctx
             decoder = PYSONDecoder(ctx)
diff --git a/tryton/common/button.py b/tryton/common/button.py
index 0a4bb28..6ba98c0 100644
--- a/tryton/common/button.py
+++ b/tryton/common/button.py
@@ -9,9 +9,7 @@ class Button(gtk.Button):
 
     def __init__(self, attrs=None):
         self.attrs = attrs or {}
-        label = attrs.get('string', '')
-        if '_' not in label:
-            label = '_' + label
+        label = '_' + attrs.get('string', '').replace('_', '__')
         super(Button, self).__init__(label=label, stock=None,
             use_underline=True)
         self._set_icon(attrs.get('icon'))
diff --git a/tryton/common/cellrenderercombo.py b/tryton/common/cellrenderercombo.py
index 34fd386..0d81655 100644
--- a/tryton/common/cellrenderercombo.py
+++ b/tryton/common/cellrenderercombo.py
@@ -2,119 +2,30 @@
 # this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
-import pango
 
 from tryton.common.selection import selection_shortcuts
 
 
-class CellRendererCombo(gtk.GenericCellRenderer):
-    __gproperties__ = {
-        'text': (gobject.TYPE_STRING, None, 'Text',
-            'Text', gobject.PARAM_READWRITE),
-        'foreground': (gobject.TYPE_STRING, None, 'Foreground',
-            'Foreground', gobject.PARAM_WRITABLE),
-        'foreground-set': (gobject.TYPE_INT, 'Foreground Set',
-            'Foreground Set', 0, 10, 0, gobject.PARAM_READWRITE),
-        'background': (gobject.TYPE_STRING, None, 'Background',
-            'Background', gobject.PARAM_WRITABLE),
-        'background-set': (gobject.TYPE_INT, 'Background Set',
-            'Background Set', 0, 10, 0, gobject.PARAM_READWRITE),
-        'editable': (gobject.TYPE_INT, 'Editable',
-            'Editable', 0, 10, 0, gobject.PARAM_READWRITE),
-        'xalign': (gobject.TYPE_FLOAT, 'XAlign',
-            'XAlign', 0, 1, 0, gobject.PARAM_READWRITE),
-        'visible': (gobject.TYPE_INT, 'Visible',
-            'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
-        'has-entry': (gobject.TYPE_INT, 'Has Entry',
-            'Has Entry', 0, 10, 0, gobject.PARAM_READWRITE),
-        'model': (gobject.TYPE_OBJECT, 'Model', 'Model',
-            gobject.PARAM_READWRITE),
-        'text-column': (gobject.TYPE_INT, 'Text Column',
-            'Text Column', 0, 10, 0, gobject.PARAM_READWRITE),
-        'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
-            'Strikethrough', False, gobject.PARAM_WRITABLE),
-        }
-
-    def __init__(self):
-        self.__gobject_init__()
-        self._renderer = gtk.CellRendererCombo()
-        self.set_property("mode", self._renderer.get_property("mode"))
-
-        self.text = self._renderer.get_property('text')
-        self.editable = self._renderer.get_property('editable')
-        self.visible = True
+class CellRendererCombo(gtk.CellRendererCombo):
 
     def set_sensitive(self, value):
-        if hasattr(self._renderer, 'set_sensitive'):
-            return self._renderer.set_sensitive(value)
-        return self._renderer.set_property('sensitive', value)
-
-    def do_set_property(self, pspec, value):
-        setattr(self, pspec.name, value)
-        if pspec.name == 'visible':
-            return
-        self._renderer.set_property(pspec.name, value)
-        self.set_property("mode", self._renderer.get_property("mode"))
-
-    def do_get_property(self, pspec):
-        return getattr(self, pspec.name)
+        self.set_property('sensitive', value)
 
-    def on_get_size(self, widget, cell_area):
-        return self._renderer.get_size(widget, cell_area)
-
-    def on_render(self, window, widget, background_area, cell_area,
-            expose_area, flags):
-        if not self.visible:
-            return
-        # Handle Pixmap window as pygtk failed
-        if type(window) == gtk.gdk.Pixmap:
-            layout = widget.create_pango_layout(self.text)
-            layout.set_font_description(widget.style.font_desc)
-            w, h = layout.get_size()
-            xalign = self._renderer.get_property('xalign')
-            x = int(cell_area.x + (cell_area.width - w / pango.SCALE) * xalign)
-            y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
-            window.draw_layout(widget.style.text_gc[0], x, y, layout)
-            return
-        return self._renderer.render(window, widget, background_area,
-                cell_area, expose_area, flags)
-
-    def on_activate(self, event, widget, path, background_area, cell_area,
+    def do_activate(self, event, widget, path, background_area, cell_area,
             flags):
-        if not self.visible:
+        if not self.props.visible:
             return
-        return self._renderer.activate(event, widget, path, background_area,
-                cell_area, flags)
+        return gtk.CellRendererCombo.do_activate(self, event, widget, path,
+            background_area, cell_area, flags)
 
-    def on_start_editing(self, event, widget, path, background_area,
+    def do_start_editing(self, event, widget, path, background_area,
             cell_area, flags):
-        if not self.visible:
+        if not self.props.visible:
             return
         if not event:
             event = gtk.gdk.Event(gtk.keysyms.Tab)
-        editable = self._renderer.start_editing(event, widget, path,
-                background_area, cell_area, flags)
-
-        colormap = editable.get_colormap()
-        style = editable.get_style()
-        if hasattr(self, 'background') \
-                and getattr(self, 'background') != 'white':
-            bg_color = colormap.alloc_color(getattr(self, 'background'))
-            fg_color = gtk.gdk.color_parse("black")
-            editable.modify_bg(gtk.STATE_ACTIVE, bg_color)
-            editable.modify_base(gtk.STATE_NORMAL, bg_color)
-            editable.modify_fg(gtk.STATE_NORMAL, fg_color)
-            editable.modify_text(gtk.STATE_NORMAL, fg_color)
-            editable.modify_text(gtk.STATE_INSENSITIVE, fg_color)
-        else:
-            editable.modify_bg(gtk.STATE_ACTIVE, style.bg[gtk.STATE_ACTIVE])
-            editable.modify_base(gtk.STATE_NORMAL,
-                style.base[gtk.STATE_NORMAL])
-            editable.modify_fg(gtk.STATE_NORMAL, style.fg[gtk.STATE_NORMAL])
-            editable.modify_text(gtk.STATE_NORMAL,
-                style.text[gtk.STATE_NORMAL])
-            editable.modify_text(gtk.STATE_INSENSITIVE,
-                style.text[gtk.STATE_INSENSITIVE])
+        editable = gtk.CellRendererCombo.do_start_editing(self, event, widget,
+            path, background_area, cell_area, flags)
         return selection_shortcuts(editable)
 
 gobject.type_register(CellRendererCombo)
diff --git a/tryton/common/cellrendererfloat.py b/tryton/common/cellrendererfloat.py
index 5ff8a17..9b8e396 100644
--- a/tryton/common/cellrendererfloat.py
+++ b/tryton/common/cellrendererfloat.py
@@ -10,7 +10,7 @@ class CellRendererFloat(CellRendererInteger):
 
     def __init__(self):
         super(CellRendererFloat, self).__init__()
-        self.digits = (16, 2)
+        self.digits = None
 
     def on_start_editing(self, event, widget, path, background_area,
             cell_area, flags):
@@ -45,8 +45,9 @@ class CellRendererFloat(CellRendererInteger):
         if decimal_point in new_value:
             new_int, new_decimal = new_value.rsplit(decimal_point, 1)
 
-        if len(new_int) > self.digits[0] \
-                or len(new_decimal) > self.digits[1]:
+        if (self.digits
+                and (len(new_int) > self.digits[0]
+                    or len(new_decimal) > self.digits[1])):
             entry.stop_emission('insert-text')
 
 
diff --git a/tryton/common/cellrenderertext.py b/tryton/common/cellrenderertext.py
index 0f15701..b4bc9b7 100644
--- a/tryton/common/cellrenderertext.py
+++ b/tryton/common/cellrenderertext.py
@@ -2,119 +2,28 @@
 # this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
-import pango
 
 
-class CellRendererText(gtk.GenericCellRenderer):
-    __gproperties__ = {
-        'text': (gobject.TYPE_STRING, None, 'Text',
-            'Text', gobject.PARAM_READWRITE),
-        'foreground': (gobject.TYPE_STRING, None, 'Foreground',
-            'Foreground', gobject.PARAM_WRITABLE),
-        'foreground-set': (gobject.TYPE_INT, 'Foreground Set',
-            'Foreground Set', 0, 10, 0, gobject.PARAM_READWRITE),
-        'background': (gobject.TYPE_STRING, None, 'Background',
-            'Background', gobject.PARAM_WRITABLE),
-        'background-set': (gobject.TYPE_INT, 'Background Set',
-            'Background Set', 0, 10, 0, gobject.PARAM_READWRITE),
-        'editable': (gobject.TYPE_INT, 'Editable',
-            'Editable', 0, 10, 0, gobject.PARAM_READWRITE),
-        'xalign': (gobject.TYPE_FLOAT, 'XAlign',
-            'XAlign', 0, 1, 0, gobject.PARAM_READWRITE),
-        'visible': (gobject.TYPE_INT, 'Visible',
-            'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
-        'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
-            'Strikethrough', False, gobject.PARAM_WRITABLE),
-        'single-paragraph-mode': (gobject.TYPE_BOOLEAN,
-            'Single Paragraph Mode', 'Single Paragraph Mode', False,
-            gobject.PARAM_WRITABLE),
-        }
-
-    def __init__(self):
-        self.__gobject_init__()
-        self._renderer = gtk.CellRendererText()
-        self.set_property("mode", self._renderer.get_property("mode"))
-
-        self.text = self._renderer.get_property('text')
-        self.editable = self._renderer.get_property('editable')
-        self.visible = True
+class CellRendererText(gtk.CellRendererText):
 
     def set_sensitive(self, value):
-        if hasattr(self._renderer, 'set_sensitive'):
-            return self._renderer.set_sensitive(value)
-        return self._renderer.set_property('sensitive', value)
-
-    def do_set_property(self, pspec, value):
-        setattr(self, pspec.name, value)
-        if pspec.name == 'visible':
-            return
-        self._renderer.set_property(pspec.name, value)
-        self.set_property("mode", self._renderer.get_property("mode"))
+        self.set_property('sensitive', value)
 
-    def do_get_property(self, pspec):
-        return getattr(self, pspec.name)
-
-    def on_get_size(self, widget, cell_area):
-        return self._renderer.get_size(widget, cell_area)
-
-    def on_render(self, window, widget, background_area, cell_area,
-            expose_area, flags):
-        if not self.visible:
-            return
-        # Handle Pixmap window as pygtk failed
-        if type(window) == gtk.gdk.Pixmap:
-            layout = widget.create_pango_layout(self.text)
-            layout.set_font_description(widget.style.font_desc)
-            w, h = layout.get_size()
-            xalign = self._renderer.get_property('xalign')
-            x = int(cell_area.x + (cell_area.width - w / pango.SCALE) * xalign)
-            y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
-            window.draw_layout(widget.style.text_gc[0], x, y, layout)
-            return
-        return self._renderer.render(window, widget, background_area,
-                cell_area, expose_area, flags)
-
-    def on_activate(self, event, widget, path, background_area, cell_area,
+    def do_activate(self, event, widget, path, background_area, cell_area,
             flags):
-        if not self.visible:
+        if not self.props.visible:
             return
-        return self._renderer.activate(event, widget, path, background_area,
-                cell_area, flags)
+        return gtk.CellRendererText.activate(self, event, widget, path,
+            background_area, cell_area, flags)
 
-    def on_start_editing(self, event, widget, path, background_area,
+    def do_start_editing(self, event, widget, path, background_area,
             cell_area, flags):
-        if not self.visible:
+        if not self.props.visible:
             return
         if not event:
             event = gtk.gdk.Event(gtk.keysyms.Tab)
-        editable = gtk.Entry()
-        editable.set_property('shadow-type', gtk.SHADOW_NONE)
-
-        colormap = editable.get_colormap()
-        style = editable.get_style()
-        if hasattr(self, 'background') \
-                and getattr(self, 'background') != 'white':
-            bg_color = colormap.alloc_color(getattr(self, 'background'))
-            fg_color = gtk.gdk.color_parse("black")
-            editable.modify_bg(gtk.STATE_ACTIVE, bg_color)
-            editable.modify_base(gtk.STATE_NORMAL, bg_color)
-            editable.modify_fg(gtk.STATE_NORMAL, fg_color)
-            editable.modify_text(gtk.STATE_NORMAL, fg_color)
-            editable.modify_text(gtk.STATE_INSENSITIVE, fg_color)
-        else:
-            editable.modify_bg(gtk.STATE_ACTIVE, style.bg[gtk.STATE_ACTIVE])
-            editable.modify_base(gtk.STATE_NORMAL,
-                style.base[gtk.STATE_NORMAL])
-            editable.modify_fg(gtk.STATE_NORMAL, style.fg[gtk.STATE_NORMAL])
-            editable.modify_text(gtk.STATE_NORMAL,
-                style.text[gtk.STATE_NORMAL])
-            editable.modify_text(gtk.STATE_INSENSITIVE,
-                style.text[gtk.STATE_INSENSITIVE])
-
-        editable.set_text(self.text)
-        editable.grab_focus()
-        editable.show()
-        return editable
+        return gtk.CellRendererText.do_start_editing(self, event, widget,
+            path, background_area, cell_area, flags)
 
 
 class CellRendererTextCompletion(CellRendererText):
@@ -123,10 +32,10 @@ class CellRendererTextCompletion(CellRendererText):
         super(CellRendererTextCompletion, self).__init__()
         self.set_completion = set_completion
 
-    def on_start_editing(self, event, widget, path, background_area, cell_area,
+    def do_start_editing(self, event, widget, path, background_area, cell_area,
             flags):
         editable = super(CellRendererTextCompletion,
-            self).on_start_editing(event, widget, path, background_area,
+            self).do_start_editing(event, widget, path, background_area,
                 cell_area, flags)
         self.set_completion(editable, path)
         return editable
diff --git a/tryton/common/cellrenderertoggle.py b/tryton/common/cellrenderertoggle.py
index 32f74be..04e6dd3 100644
--- a/tryton/common/cellrenderertoggle.py
+++ b/tryton/common/cellrenderertoggle.py
@@ -4,78 +4,25 @@ import gtk
 import gobject
 
 
-class CellRendererToggle(gtk.GenericCellRenderer):
-    __gproperties__ = {
-        'activatable': (gobject.TYPE_INT, 'Activatable',
-            'Activatable', 0, 10, 0, gobject.PARAM_READWRITE),
-        'visible': (gobject.TYPE_INT, 'Visible',
-            'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
-        }
-
-    __gsignals__ = {
-        'toggled': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
-            (gobject.TYPE_STRING, )),
-        }
-
-    def __init__(self):
-        self.__gobject_init__()
-        self._renderer = gtk.CellRendererToggle()
-        self._renderer.connect('toggled', self._sig_toggled)
-        self.set_property("mode", self._renderer.get_property("mode"))
-
-        self.activatable = self._renderer.get_property('activatable')
-        self.visible = True
+class CellRendererToggle(gtk.CellRendererToggle):
 
     def set_sensitive(self, value):
-        if hasattr(self._renderer, 'set_sensitive'):
-            return self._renderer.set_sensitive(value)
-        return self._renderer.set_property('sensitive', value)
-
-    def do_set_property(self, pspec, value):
-        setattr(self, pspec.name, value)
-        if pspec.name == 'visible':
-            return
-        self._renderer.set_property(pspec.name, value)
-        self.set_property("mode", self._renderer.get_property("mode"))
-
-    def do_get_property(self, pspec):
-        return getattr(self, pspec.name)
-
-    def on_get_size(self, widget, cell_area):
-        return self._renderer.get_size(widget, cell_area)
+        self.set_property('sensitive', value)
 
-    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
-        return self._renderer.render(window, widget, background_area,
-                cell_area, expose_area, flags)
-
-    def on_activate(self, event, widget, path, background_area, cell_area,
+    def do_activate(self, event, widget, path, background_area, cell_area,
             flags):
-        if not self.visible:
+        if not self.props.visible:
             return
         if not event:
             event = gtk.gdk.Event(gtk.keysyms.KP_Space)
-        return self._renderer.activate(event, widget, path, background_area,
-                cell_area, flags)
+        return gtk.CellRendererToggle.do_activate(self, event, widget, path,
+            background_area, cell_area, flags)
 
-    def on_start_editing(self, event, widget, path, background_area,
+    def do_start_editing(self, event, widget, path, background_area,
             cell_area, flags):
-        return self._renderer.start_editing(event, widget, path,
-                background_area, cell_area, flags)
-
-    def get_active(self):
-        return self._renderer.get_active()
-
-    def set_active(self, setting):
-        return self._renderer.set_active(setting)
-
-    def _sig_toggled(self, renderer, path):
-        if self.activatable and self.visible:
-            self.emit('toggled', path)
+        if not self.props.visible:
+            return
+        return gtk.CellRendererToggle.do_start_editing(event, widget, path,
+            background_area, cell_area, flags)
 
 gobject.type_register(CellRendererToggle)
diff --git a/tryton/common/common.py b/tryton/common/common.py
index ee2a494..094eef5 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -435,7 +435,6 @@ def file_selection(title, filename='',
     win = gtk.FileChooserDialog(title, None, action, buttons)
     win.set_transient_for(parent)
     win.set_icon(TRYTON_ICON)
-    win.set_current_folder(CONFIG['client.default_path'])
     if filename:
         if action in (gtk.FILE_CHOOSER_ACTION_SAVE,
                 gtk.FILE_CHOOSER_ACTION_CREATE_FOLDER):
@@ -469,34 +468,14 @@ def file_selection(title, filename='',
 
     button = win.run()
     if button != gtk.RESPONSE_OK:
-        parent.present()
-        win.destroy()
-        return False
-    if not multi:
-        filepath = win.get_filename()
-        if filepath:
-            filepath = filepath.decode('utf-8')
-            try:
-                CONFIG['client.default_path'] = \
-                    os.path.dirname(filepath)
-                CONFIG.save()
-            except IOError:
-                pass
-        parent.present()
-        win.destroy()
-        return filepath
+        result = False
+    elif not multi:
+        result = win.get_filename()
     else:
-        filenames = win.get_filenames()
-        if filenames:
-            filenames = [x.decode('utf-8') for x in filenames]
-            try:
-                CONFIG['client.default_path'] = \
-                    os.path.dirname(filenames[0])
-            except IOError:
-                pass
-        parent.present()
-        win.destroy()
-        return filenames
+        result = win.get_filenames()
+    parent.present()
+    win.destroy()
+    return result
 
 
 _slugify_strip_re = re.compile(r'[^\w\s-]')
@@ -1367,11 +1346,6 @@ COLOR_SCHEMES = {
     'darkcyan': '#305755',
 }
 
-COLORS = {
-    'invalid': '#ff6969',
-    'required': '#d2d2ff',
-}
-
 
 def filter_domain(domain):
     '''
diff --git a/tryton/common/datetime_.py b/tryton/common/datetime_.py
index 1b8de7a..7dc25d0 100644
--- a/tryton/common/datetime_.py
+++ b/tryton/common/datetime_.py
@@ -275,7 +275,7 @@ class Time(gtk.ComboBoxEntry):
         self.__time = time
 
     def update_label(self):
-        if not self.__time:
+        if self.__time is None:
             self.__entry.set_text('')
             return
 
diff --git a/tryton/common/domain_inversion.py b/tryton/common/domain_inversion.py
index ae67e5a..9e232f0 100644
--- a/tryton/common/domain_inversion.py
+++ b/tryton/common/domain_inversion.py
@@ -4,6 +4,7 @@
 import operator
 import types
 import datetime
+from collections import defaultdict
 
 
 def in_(a, b):
@@ -15,23 +16,17 @@ def in_(a, b):
     else:
         return operator.contains(b, a)
 
-OPERATORS = {
-    '=': operator.eq,
-    '>': operator.gt,
-    '<': operator.lt,
-    '<=': operator.le,
-    '>=': operator.ge,
-    '!=': operator.ne,
-    'in': in_,
-    'not in': lambda a, b: not in_(a, b),
-    # Those operators are not supported (yet ?)
-    'like': lambda a, b: True,
-    'ilike': lambda a, b: True,
-    'not like': lambda a, b: True,
-    'not ilike': lambda a, b: True,
-    'child_of': lambda a, b: True,
-    'not child_of': lambda a, b: True,
-}
+OPERATORS = defaultdict(lambda: lambda a, b: True)
+OPERATORS.update({
+        '=': operator.eq,
+        '>': operator.gt,
+        '<': operator.lt,
+        '<=': operator.le,
+        '>=': operator.ge,
+        '!=': operator.ne,
+        'in': in_,
+        'not in': lambda a, b: not in_(a, b),
+        })
 
 
 def locale_part(expression, field_name, locale_name='id'):
@@ -46,8 +41,7 @@ def locale_part(expression, field_name, locale_name='id'):
 def is_leaf(expression):
     return (isinstance(expression, (list, tuple))
         and len(expression) > 2
-        and isinstance(expression[1], basestring)
-        and expression[1] in OPERATORS)
+        and isinstance(expression[1], basestring))
 
 
 def constrained_leaf(part, boolop=operator.and_):
@@ -141,7 +135,7 @@ def eval_domain(domain, context, boolop=operator.and_):
             eval_domain(domain[1:], context, boolop))
 
 
-def localize_domain(domain, field_name=None):
+def localize_domain(domain, field_name=None, strip_target=False):
     "returns only locale part of domain. eg: langage.code -> code"
     if domain in ('AND', 'OR', True, False):
         return domain
@@ -154,10 +148,12 @@ def localize_domain(domain, field_name=None):
         locale_name = 'id'
         if isinstance(domain[2], basestring):
             locale_name = 'rec_name'
+        n = 3 if strip_target else 4
         return [locale_part(domain[0], field_name, locale_name)] \
-            + list(domain[1:3]) + list(domain[4:])
+            + list(domain[1:n]) + list(domain[4:])
     else:
-        return [localize_domain(part, field_name) for part in domain]
+        return [localize_domain(part, field_name, strip_target)
+            for part in domain]
 
 
 def simplify(domain):
@@ -608,10 +604,12 @@ def test_localize():
     assert localize_domain(domain, 'x') == [['y', 'child_of', [1]]]
 
     domain = [['x.id', '=', 1, 'y']]
-    assert localize_domain(domain, 'x') == [['id', '=', 1]]
+    assert localize_domain(domain, 'x', False) == [['id', '=', 1, 'y']]
+    assert localize_domain(domain, 'x', True) == [['id', '=', 1]]
 
     domain = [['a.b.c', '=', 1, 'y', 'z']]
-    assert localize_domain(domain, 'x') == [['b.c', '=', 1, 'z']]
+    assert localize_domain(domain, 'x', False) == [['b.c', '=', 1, 'y', 'z']]
+    assert localize_domain(domain, 'x', True) == [['b.c', '=', 1, 'z']]
 
 if __name__ == '__main__':
     test_simple_inversion()
diff --git a/tryton/common/htmltextbuffer.py b/tryton/common/htmltextbuffer.py
new file mode 100644
index 0000000..abd0e07
--- /dev/null
+++ b/tryton/common/htmltextbuffer.py
@@ -0,0 +1,426 @@
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+from io import BytesIO
+import xml.etree.ElementTree as ET
+from xml.sax.saxutils import escape, unescape
+from HTMLParser import HTMLParser
+
+import pango
+import gtk
+import chardet
+
+MIME = 'text/html'
+
+
+def _reverse_dict(dct):
+    return {j: i for i, j in dct.iteritems()}
+
+SIZE2SCALE = {
+    '1': pango.SCALE_XX_SMALL,
+    '2': pango.SCALE_X_SMALL,
+    '3': pango.SCALE_SMALL,
+    '4': pango.SCALE_MEDIUM,
+    '5': pango.SCALE_LARGE,
+    '6': pango.SCALE_X_LARGE,
+    '7': pango.SCALE_XX_LARGE,
+    }
+SCALE2SIZE = _reverse_dict(SIZE2SCALE)
+ALIGN2JUSTIFICATION = {
+    'left': gtk.JUSTIFY_LEFT,
+    'center': gtk.JUSTIFY_CENTER,
+    'right': gtk.JUSTIFY_RIGHT,
+    'justify': gtk.JUSTIFY_FILL,
+    }
+JUSTIFICATION2ALIGN = _reverse_dict(ALIGN2JUSTIFICATION)
+FAMILIES = ['normal', 'sans', 'serif', 'monospace']
+
+
+def _markup(text):
+    return '<markup>%s</markup>' % text
+
+
+def _strip_markup(text):
+    return text[len(u'<markup>'):-len(u'</markup>')]
+
+
+def _strip_newline(text):
+    return ''.join(text.splitlines())
+
+
+class MarkupHTMLParse(HTMLParser):
+    def __init__(self):
+        HTMLParser.__init__(self)
+        self.root = ET.Element('markup')
+        self._tags = [self.root]
+        self.head = False
+        self.body = True
+
+    def handle_starttag(self, tag, attrs):
+        if tag in ['b', 'i', 'u', 'div', 'font']:
+            el = ET.SubElement(self._tags[-1], tag)
+            for key, value in attrs:
+                el.set(key, value)
+            self._tags.append(el)
+        elif tag == 'br':
+            ET.SubElement(self._tags[-1], tag)
+        elif tag == 'head':
+            self.head = True
+
+    def handle_endtag(self, tag):
+        if tag in ['b', 'i', 'u', 'div', 'font']:
+            el = self._tags.pop()
+            assert el.tag == tag
+        elif tag == 'head':
+            self.head = False
+        elif tag == 'body':
+            self.body = False
+
+    def handle_data(self, data):
+        if self.head or not self.body:
+            return
+        el = self._tags[-1]
+        if len(el) == 0:
+            if el.text is None:
+                el.text = ''
+            el.text += data
+        else:
+            child = el[-1]
+            if child.tail is None:
+                child.tail = ''
+            child.tail += data
+
+
+def parse_markup(markup_text):
+    'Return plain text and a list of start, end TextTag'
+    markup_text = BytesIO(_markup(markup_text))
+    plain_text = ''
+    tag_stack = []
+    tags = []
+    for event, element in ET.iterparse(markup_text, events=['start', 'end']):
+        if element.tag == 'markup':
+            if event == 'start' and element.text:
+                plain_text += unescape(element.text)
+            if event == 'end' and element.tail:
+                plain_text += unescape(element.tail)
+            continue
+        if event == 'start':
+            tag_stack.append((element, len(plain_text)))
+            if element.text:
+                plain_text += unescape(element.text)
+        elif event == 'end':
+            if element.tag == 'div':
+                plain_text += '\n'
+            assert tag_stack[-1][0] == element
+            _, start = tag_stack.pop()
+            end = len(plain_text)
+            tags.append((start, end, element))
+            if element.tail:
+                plain_text += unescape(element.tail)
+    return plain_text, tags
+
+
+def normalize_markup(markup_text, method='html'):
+    if isinstance(markup_text, unicode):
+        markup_text = markup_text.encode('utf-8')
+    parser = MarkupHTMLParse()
+    parser.feed(_strip_newline(markup_text))
+    root = parser.root
+    parent_map = {c: p for p in root.iter() for c in p}
+
+    def order(em):
+        "Re-order alphabetically tags"
+        if (len(em) == 1
+                and not em.text
+                and em.tag not in ['div', 'markup']):
+            child, = em
+            if ((em.tag > child.tag or child.tag == 'div')
+                    and not child.tail):
+                em.tag, child.tag = child.tag, em.tag
+                em.attrib, child.attrib = child.attrib, em.attrib
+                if em in parent_map:
+                    order(parent_map[em])
+
+    # Add missing div for the first line
+    if len(root) > 0 and root[0].tag != 'div':
+        div = ET.Element('div')
+        for em in list(root):
+            if em.tag != 'div':
+                root.remove(em)
+                div.append(em)
+            else:
+                break
+        root.insert(0, div)
+
+    for em in root.iter():
+        while em.text is None and len(em) == 1:
+            dup, = em
+            if dup.tag == em.tag and dup.tail is None:
+                em.attrib.update(dup.attrib)
+                em.remove(dup)
+                em.extend(dup)
+                em.text = dup.text
+            else:
+                break
+        order(em)
+
+    # Add missing br to empty lines
+    for em in root.findall('div'):
+        if em.text is None and len(em) == 0:
+            em.append(ET.Element('br'))
+    # TODO order attributes
+    return _strip_markup(ET.tostring(root, encoding='utf-8', method=method))
+
+
+def find_list_delta(old, new):
+    added = [e for e in new if e not in old]
+    removed = [e for e in reversed(old) if e not in new]
+    return added, removed
+
+
+def serialize(register, content, start, end, data):
+    text = ''
+    if start.compare(end) == 0:
+        return text
+    iter_ = start
+    while True:
+        # Loop over line per line to get a div per line
+        tags = []
+        active_tags = []
+
+        end_line = iter_.copy()
+        if not end_line.ends_line():
+            end_line.forward_to_line_end()
+        if end_line.compare(end) > 0:
+            end_line = end
+
+        # Open div of the line
+        align = None
+        for tag in iter_.get_tags():
+            if tag.props.justification_set:
+                align = JUSTIFICATION2ALIGN[tag.props.justification]
+        if align:
+            text += '<div align="%s">' % align
+        else:
+            text += '<div>'
+
+        while True:
+            new_tags = iter_.get_tags()
+
+            added, removed = find_list_delta(tags, new_tags)
+
+            for tag in removed:
+                if tag not in active_tags:
+                    continue
+
+                # close all open tags after this one
+                while active_tags:
+                    atag = active_tags.pop()
+                    text += _get_html(atag, close=True)
+                    if atag == tag:
+                        break
+                    added.insert(0, atag)
+
+            for tag in added:
+                text += _get_html(tag)
+                active_tags.append(tag)
+
+            tags = new_tags
+
+            old_iter = iter_.copy()
+
+            # Move to next tag toggle
+            while True:
+                iter_.forward_char()
+                if iter_.get_char() == '\0':
+                    break
+                if iter_.toggles_tag():
+                    break
+            # Might have moved too far
+            if iter_.compare(end_line) > 0:
+                iter_ = end_line
+
+            text += escape(old_iter.get_text(iter_))
+
+            if iter_.compare(end_line) == 0:
+                break
+
+        # close any open tags
+        for tag in reversed(active_tags):
+            text += _get_html(tag, close=True)
+
+        # Close the div of the line
+        text += '</div>'
+
+        iter_.forward_char()
+        if iter_.compare(end) >= 0:
+            break
+
+    return normalize_markup(text)
+
+
+def deserialize(register, content, iter_, text, create_tags, data):
+    if not isinstance(text, unicode):
+        encoding = chardet.detect(text)['encoding']
+        text = text.decode(encoding)
+    text = text.encode('utf-8')
+    text, tags = parse_markup(normalize_markup(text, method='xml'))
+    offset = iter_.get_offset()
+    content.insert(iter_, text)
+
+    def sort_key(tag):
+        start, end, element = tag
+        return start, -end, element
+
+    for start, end, element in sorted(tags, key=sort_key):
+        for tag in _get_tags(content, element):
+            istart = content.get_iter_at_offset(start + offset)
+            iend = content.get_iter_at_offset(end + offset)
+            content.apply_tag(tag, istart, iend)
+    return True
+
+
+def setup_tags(text_buffer):
+    for name, props in reversed(_TAGS):
+        text_buffer.create_tag(name, **props)
+_TAGS = [
+    ('bold', {'weight': pango.WEIGHT_BOLD}),
+    ('italic', {'style': pango.STYLE_ITALIC}),
+    ('underline', {'underline': pango.UNDERLINE_SINGLE}),
+    ]
+_TAGS.extend([('family %s' % family, {'family': family})
+        for family in FAMILIES])
+_TAGS.extend([('size %s' % size, {'scale': scale})
+        for size, scale in SIZE2SCALE.iteritems()])
+_TAGS.extend([('justification %s' % align, {'justification': justification})
+        for align, justification in ALIGN2JUSTIFICATION.iteritems()])
+
+
+def register_foreground(text_buffer, color):
+    name = 'foreground %s' % color
+    tag_table = text_buffer.get_tag_table()
+    tag = tag_table.lookup(name)
+    if not tag:
+        tag = text_buffer.create_tag(name, foreground_gdk=color)
+    return tag
+
+
+def _get_tags(content, element):
+    'Return tag for the element'
+    tag_table = content.get_tag_table()
+
+    if element.tag == 'b':
+        yield tag_table.lookup('bold')
+    elif element.tag == 'i':
+        yield tag_table.lookup('italic')
+    elif element.tag == 'u':
+        yield tag_table.lookup('underline')
+    if 'face' in element.attrib:
+        tag = tag_table.lookup('family %s' % element.attrib['face'])
+        if tag:
+            yield tag
+    size = element.attrib.get('size')
+    if size in SIZE2SCALE:
+        yield tag_table.lookup('size %s' % size)
+    if 'color' in element.attrib:
+        yield register_foreground(
+            content, gtk.gdk.Color(element.attrib['color']))
+    align = element.attrib.get('align')
+    if align in ALIGN2JUSTIFICATION:
+        yield tag_table.lookup('justification %s' % align)
+    # TODO style background-color
+
+
+def _get_html(texttag, close=False, div_only=False):
+    'Return the html tag'
+    # div alignment is managed at line level
+    tags = []
+    attrib = {}
+    font = attrib['font'] = {}
+    if texttag.props.weight_set and texttag.props.weight == pango.WEIGHT_BOLD:
+        tags.append('b')
+    if texttag.props.style_set and texttag.props.style == pango.STYLE_ITALIC:
+        tags.append('i')
+    if (texttag.props.underline_set
+            and texttag.props.underline == pango.UNDERLINE_SINGLE):
+        tags.append('u')
+    if texttag.props.family_set and texttag.props.family:
+        font['face'] = texttag.props.family
+    if texttag.props.scale_set and texttag.props.scale != pango.SCALE_MEDIUM:
+        font['size'] = SCALE2SIZE[texttag.props.scale]
+    if (texttag.props.foreground_set
+            and texttag.props.foreground_gdk != gtk.gdk.Color()):
+        font['color'] = str(texttag.props.foreground_gdk)
+    # TODO style background-color
+    if font:
+        tags.append('font')
+
+    if close:
+        return ''.join('</%s>' % t for t in tags)
+    return ''.join('<%s %s>' % (t, ' '.join('%s="%s"' % (a, v)
+                for a, v in attrib.get(t, {}).iteritems()))
+        for t in tags)
+
+
+def get_tags(content, start, end):
+    'Get all tags'
+    iter_ = start.copy()
+    tags = set()
+    while True:
+        tags.update(iter_.get_tags())
+        iter_.forward_char()
+        if iter_.compare(end) > 0:
+            iter_ = end
+        if iter_.compare(end) == 0:
+            break
+    tags.update(iter_.get_tags())
+    return tags
+
+
+def remove_tags(content, start, end, *names):
+    'Remove all tags starting by names'
+    tags = get_tags(content, start, end)
+    for tag in sorted(tags, key=lambda t: t.get_priority()):
+        for name in names:
+            if tag.props.name and tag.props.name.startswith(name):
+                content.remove_tag(tag, start, end)
+
+
+if __name__ == '__main__':
+    html = u'''<b>Bold</b>
+ <i>Italic</i>
+ <u>Underline</u>
+<div><br/></div>
+<div align="center">Center</div>
+<div><font face="sans" size="6">Sans6<font color="#f00">red</font></font></div>
+<div align="center"> <b> <i><u>Title</u></i> </b></div>'''
+
+    win = gtk.Window()
+    win.set_title('HTMLTextBuffer')
+
+    def cb(window, event):
+        print text_buffer.serialize(
+            text_buffer, MIME, text_buffer.get_start_iter(),
+            text_buffer.get_end_iter())
+        gtk.main_quit()
+    win.connect('delete-event', cb)
+    vbox = gtk.VBox()
+    win.add(vbox)
+
+    text_buffer = gtk.TextBuffer()
+    text_view = gtk.TextView(text_buffer)
+    vbox.pack_start(text_view)
+
+    setup_tags(text_buffer)
+    text_buffer.register_serialize_format(MIME, serialize, None)
+    text_buffer.register_deserialize_format(MIME, deserialize, None)
+
+    text_buffer.deserialize(
+        text_buffer, MIME, text_buffer.get_start_iter(), html)
+
+    result = text_buffer.serialize(
+        text_buffer, MIME, text_buffer.get_start_iter(),
+        text_buffer.get_end_iter())
+    assert normalize_markup(html) == result
+
+    win.show_all()
+    gtk.main()
diff --git a/tryton/config.py b/tryton/config.py
index a71b8ab..525218c 100644
--- a/tryton/config.py
+++ b/tryton/config.py
@@ -9,7 +9,7 @@ import logging
 import sys
 import locale
 import gtk
-import site
+import pkg_resources
 
 from tryton.exceptions import TrytonError
 from tryton import __version__
@@ -17,13 +17,6 @@ from tryton import __version__
 _ = gettext.gettext
 
 
-def get_home_dir():
-    if os.name == 'nt':
-        return os.path.join(os.environ['HOMEDRIVE'], os.environ['HOMEPATH']
-            ).decode(sys.getfilesystemencoding()).encode('utf-8')
-    return os.environ['HOME']
-
-
 def get_config_dir():
     if os.name == 'nt':
         return os.path.join(os.environ['APPDATA'], '.config', 'tryton',
@@ -58,8 +51,8 @@ class ConfigManager(object):
             'client.maximize': False,
             'client.save_width_height': True,
             'client.save_tree_state': True,
+            'client.fast_tabbing': True,
             'client.spellcheck': False,
-            'client.default_path': get_home_dir(),
             'client.lang': locale.getdefaultlocale()[0],
             'client.language_direction': 'ltr',
             'client.email': '',
@@ -171,27 +164,22 @@ class ConfigManager(object):
             self.defaults.get(key)))
 
 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'):
     CURRENT_DIR = os.path.dirname(unicode(sys.executable,
         sys.getfilesystemencoding()))
-else:
-    CURRENT_DIR = os.path.abspath(os.path.normpath(os.path.join(
-        unicode(os.path.dirname(__file__), 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
 
-for dir in [CURRENT_DIR, getattr(site, 'USER_BASE', sys.prefix), sys.prefix]:
-    PIXMAPS_DIR = os.path.join(dir, 'share', 'pixmaps', 'tryton')
-    if os.path.isdir(PIXMAPS_DIR):
-        break
+PIXMAPS_DIR = os.path.join(CURRENT_DIR, 'data', 'pixmaps', 'tryton')
+if not os.path.isdir(PIXMAPS_DIR):
+    PIXMAPS_DIR = pkg_resources.resource_filename(
+        'tryton', 'data/pixmaps/tryton')
 
 TRYTON_ICON = gtk.gdk.pixbuf_new_from_file(
-        os.path.join(PIXMAPS_DIR, 'tryton-icon.png').encode('utf-8'))
-
-
-def _data_dir():
-    data_dir = os.path.join(CURRENT_DIR, 'share', 'tryton')
-    if not os.path.isdir(data_dir):
-        data_dir = os.path.join(sys.prefix, 'share', 'tryton')
-    return data_dir
-DATA_DIR = _data_dir()
+    os.path.join(PIXMAPS_DIR, 'tryton-icon.png').encode('utf-8'))
diff --git a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..3ff3b16
Binary files /dev/null and b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/bg_BG/LC_MESSAGES/tryton.po b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
similarity index 61%
rename from share/locale/bg_BG/LC_MESSAGES/tryton.po
rename to tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
index 8025a19..3eea28c 100644
--- a/share/locale/bg_BG/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
@@ -2,93 +2,110 @@
 # Copyright (C) 2010 B2CK
 # This file is distributed under the same license as the tryton project.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
-#
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 1.5.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2012-04-23 11:06+0200\n"
-"Last-Translator: Nickolay Kolev <nickyk at gmx.net>\n"
-"Language-Team: bg_BG <LL at li.org>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+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 "записване на всичко на ниво INFO "
 
+#: 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 "Файла \"%s\" не е намерен"
 
+#: tryton/config.py:136
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Не може да запише конфигурационен файл %s!"
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Не може да зададе локални настройки %s"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Изберете действие"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "Не е зададено действие!"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Tryton връзка"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Сървър:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Порт:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Избор:"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "Вашия избор"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Запис като ..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "Винаги игнорирай това предупреждение."
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr ""
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Потвърждение"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Грешка при достъп"
 
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -106,37 +123,50 @@ msgstr ""
 "   - \"Сравняване\" за да видите променената версия;\n"
 "   - \"Запис \" за да запишете вашата текуща версия."
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "Сравняване"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Запис"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Грешка"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Съобщаване за грешка"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Грешка в приложението!"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "Грешка: "
 
+#: tryton/common/common.py:880
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "За да съобщите за грешка трябва да имате сметка на <u>%s</u>"
 
+#: tryton/common/common.py:910
 msgid "Bug Tracker"
 msgstr ""
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Потребител: "
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Парола:"
 
+#: 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"
@@ -144,9 +174,11 @@ msgstr ""
 "Тази грешка е вече съобщена от друг потребител..\n"
 "За да бъдете информирани потребителя ви е добавен списъка за този проблем"
 
+#: tryton/common/common.py:1002
 msgid "Created new bug with ID "
 msgstr "Създадена е нова грешка с ID"
 
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -154,21 +186,24 @@ msgstr ""
 "Грешка при свързване!\n"
 "Грешно потребителско име или парола!"
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "Грешка:"
 
+#: 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "Идентификатора на сървъра е променен след последната връзка!\n"
-"Приложението ще спре да се връзва към сървъра докато не бъде оправен "
-"идентификатора му."
+"Приложението ще спре да се връзва към сървъра докато не бъде оправен идентификатора му."
 
+#: tryton/common/common.py:1034
 msgid "Security risk!"
 msgstr "Риск за сигурността"
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -176,230 +211,317 @@ msgstr ""
 "Грешка при свързване!\n"
 "Невъзможност да се свърже със сървъра!"
 
+#: tryton/common/common.py:1119
 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:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 #, fuzzy
 msgid "Value"
 msgstr "Лъжа"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 msgid "Displayed value"
 msgstr ""
 
+#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
+#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
 #, fuzzy
 msgid "Format"
 msgstr "Нормален"
 
+#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
+#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
 msgid "Display format"
 msgstr ""
 
+#: tryton/common/datetime_.py:61
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Отваряне на календара"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr ""
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 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"
 msgstr ""
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "True"
 msgstr "Истина"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Лъжа"
 
+#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "Изход..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Прикачен файл:"
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Действия..."
 
+#: tryton/common/popup_menu.py:93
 #, fuzzy
 msgid "Relate..."
 msgstr "Свързани..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Справки..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Email..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Печат..."
 
+#: tryton/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:218
 msgid "_File"
 msgstr "Файл"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "Потребител"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "Настройки"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Помощ"
 
-msgid "Search"
-msgstr "Търсене"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr ""
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "Свързване..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "Изход..."
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "Предпочитания..."
 
+#: tryton/gui/main.py:487
 msgid "_Menu Reload"
 msgstr "Презареждане"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr "Превключване на меню"
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr ""
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "Лента с инструменти"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "По подразбиране"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "Текс и икони"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "Икони"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "Текст"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "Лента с меню"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "Смяна на бързи клавиши"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "Режим"
 
+#: tryton/gui/main.py:588
 msgid "_Normal"
 msgstr "Нормален"
 
+#: tryton/gui/main.py:596
 msgid "_PDA"
 msgstr "PDA"
 
+#: tryton/gui/main.py:603
 msgid "_Form"
 msgstr "Форма"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "Запазване на ширина/височина"
 
+#: tryton/gui/main.py:623
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Запазване на състояние разгърнато дърво"
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Проверка на правопис"
 
+#: tryton/gui/main.py:655
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "Предишен"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
 msgstr ""
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr "Ограничение при търсене..."
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "Email..."
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "Запазване на опции"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "Подсказки..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "Бързи клавиши..."
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "Относно..."
 
+#: tryton/gui/main.py:762
 #, 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:330
+#: 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 "Търсене"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -407,9 +529,11 @@ msgstr ""
 "Следващите действия изискват затваряне на всички прозорци.\n"
 "Искате ли да продължите?"
 
+#: tryton/gui/main.py:1173
 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?"
@@ -417,6 +541,7 @@ msgstr ""
 "Ще изтриете Tryton база данни.\n"
 "Сигурни ли сте че искате да продължите?"
 
+#: tryton/gui/main.py:1304
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -424,21 +549,28 @@ 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."
@@ -446,9 +578,11 @@ 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."
@@ -456,15 +590,19 @@ 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."
@@ -472,179 +610,224 @@ 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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Нов"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Създаване на нов запис"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Съхраняване"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Съхраняване на този запис"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Превключване"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Превключване на изглед"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "Презареждане"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Презареждане"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "Нов"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "Съхраняване"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Превключване на изглед"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "Презареждане/Обратно"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "Изтриване..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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' ако сървъра е инсталиран на този компютър. Натиснете 'Промяна'"
-" за да промените адреса."
+"порт'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"
+"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"
+"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."
+"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' ако сървъра е инсталиран на този компютър. Натиснете 'Промяна'"
-" за да промените адреса."
+"порт'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."
+"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"
+"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 "
+"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"
+"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"
+"Изберете парола за потребителя-администратор на новата база данни. С тези данни по-късно ще може да влезете в базата данни:\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."
@@ -652,128 +835,168 @@ 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"
+"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"
 "Съобщение за грешка:\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
 msgid "Profile"
 msgstr "Профил"
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "Добавяне"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "Изтриване"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
 msgstr "Хост:"
 
+#: tryton/gui/window/dblogin.py:98
 msgid "Create"
 msgstr "Създаване"
 
+#: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
 msgstr "Вземане на списъка с бази данни:"
 
+#: tryton/gui/window/dblogin.py:119
 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
 msgid "Incompatible version of the server"
 msgstr "Несъвместима версия на сървъра!"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Потребителско име"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "Отказ"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Отказ от свръзване с Tryton сървъра"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "Свързване"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Свързване с Tryton сървъра"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr "Профил:"
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr "Управление на профили"
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr "Информация за Хост / База данни"
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -785,12 +1008,15 @@ msgstr ""
 "Не може да използвате акценти, празен символ или специални символи! \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."
@@ -798,150 +1024,200 @@ 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
 msgid "Email Program Settings"
 msgstr "Настройки на програма за email"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Команден ред:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Лагенда за налични контейнери:"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "До"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "CC:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Относно:"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Тяло:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Прикачен файл:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Предишен"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "Предишен запис"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Следващ"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Следващ запис"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Прикачен файл(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Добавяне на прикачен файл към записа"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "Дублиране"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "Предишен"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Следващ"
 
+#: tryton/gui/window/form.py:63
 #, fuzzy
 msgid "_Search"
 msgstr "Търсене"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Преглед на логове"
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr ""
 
+#: tryton/gui/window/form.py:70
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Прикачен файл:"
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "Действия..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "Свързани..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "Справки..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "Email..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "Печат..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "Извличане на данни..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "Вмъкване на данни..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Прикачен файл(%d)"
 
-msgid "You have to select one record!"
-msgstr "Трябва да изберете един запис!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Потребител създал:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Дата на създаване:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Последно променен от:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Дата на последна промяна:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Модел:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Наистина ли искате да изтриете този запис?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Наистина ли искате да изтриете тези записи?"
 
-msgid "Records not removed!"
-msgstr "Записа не е изтрит!"
-
-msgid "Records removed!"
-msgstr "Записите изтрити!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Работите върху дублиран(и) запис(и)!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
 
-msgid "Record saved!"
-msgstr "Записа съхранен!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
 
-msgid "Invalid form!"
-msgstr "Невалидна форма!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " от"
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -949,119 +1225,247 @@ msgstr ""
 "Този запис е променен\n"
 "искате ли да го запишете ?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Действие"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Започване на действие"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "Свързани"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Отваряне на свързани записи"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Справки"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Отваряне на справка"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Email"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Изращане на справка по Email"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Печат"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Отпечатване на справка"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Неизвестен"
 
+#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Ограничение"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Настройки на органичения за търсене"
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Ограничение:"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Настройки"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Редактиране на потребителски настройки"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Настройки"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Текуща парола"
 
+#: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Предишен"
 
+#: tryton/gui/window/revision.py:28
 #, fuzzy
 msgid "Select a revision"
 msgstr "Избор:"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Бързи клавиши"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Текстови бързи клавиши"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Изрязване на избрания текст"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Копиране на избрания текст"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Поставяне на копирания текст"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Следваща джаджа"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Предишенна джаджа"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Създаване на нова връзка"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Отваряне/Търсене на връзка"
 
+#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Списък бързи клавиши"
 
+#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Създаване на нов ред"
 
+#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Отваряне на връзка"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Отбелязване на ред за изтриване"
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Изчистване на ред за изтриване"
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr ""
 
+#: tryton/gui/window/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"
@@ -1071,6 +1475,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1078,8 +1483,7 @@ msgid ""
 "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"
+"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"
@@ -1091,13 +1495,13 @@ msgstr ""
 "най-голямата луна на планетата Нептун, открита на 10 Октомври 1846\n"
 "от Уилям Ласел. В Слънчевата система тя е най-голямата луна\n"
 "с ретроградна орбита, това е орбита с противоположна посока\n"
-"на въртенето на планетата и. С 2,700 км в диаметър тя е седмата по "
-"големина\n"
+"на въртенето на планетата и. С 2,700 км в диаметър тя е седмата по големина\n"
 "луна в Слънчевата система. Тритон съсредоточава 99.5 % от цялата маса\n"
 "в орбитара на Нептун, включително пръстените на планетата и другите\n"
 "12 познати луни. Тя има повече маса от всички 159 познати луни в\n"
 "в Слънчевата система.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1109,6 +1513,7 @@ msgstr ""
 "Може да копирате записи от всеки списък с Ctrl + C\n"
 "и да ги поставите във всяка програма с Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1118,64 +1523,84 @@ msgstr ""
 "\n"
 "Може да съхраните всяка графика като PNG файл като кликнете върху нея.\n"
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "Подсказки"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "Показвай нова подсказка следващия път"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Извличане в CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Предварително зададени извличания</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Всички полета</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Изчистване"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Запис на извличане"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Изтриване на извличане"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Полета за извличане</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Настройки</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Отваряне"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Добавяне на имена на полета"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Име"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "Какво е името на това извличане?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "%d заспис съхранен!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "%d записа съхранени!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1186,263 +1611,333 @@ msgstr ""
 "Съобщение за грешка:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Връзка"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Добавяне"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Изтриване <Del>"
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Създаване на нов запис <F3>"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Изтриване на избрания запис <Del>"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Възтановяване на избрания запис <Ins>"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Вмъкване от CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Автоматично разпознаване"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Полета за вмъкване</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Файл за вмъкване:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Отваряне..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "CSV параметри"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Разделител на полета"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Разделител на думи:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Кодиране:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Редове за пропускане:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Име на поле"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Първо трябва да изберете файл за вмъкване!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Грешка при отваряне на CSV файл"
 
+#: tryton/gui/window/win_import.py:292
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Грешка при обработка на файл при поле %s"
 
+#: tryton/gui/window/win_import.py:367
 #, python-format
 msgid "%d record imported!"
 msgstr "%d запис вмъкнат!"
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
 msgstr "%d записи вмъкнати!"
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "Помощник"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 #, fuzzy
 msgid "ID"
 msgstr "д"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 #, fuzzy
 msgid "Creation User"
 msgstr "Потребител създал:"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 #, fuzzy
 msgid "Creation Date"
 msgstr "Дата на създаване:"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 #, fuzzy
 msgid "Modification User"
 msgstr "Дата на последна промяна:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 #, fuzzy
 msgid "Modification Date"
 msgstr "Дата на последна промяна:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 msgid "Unable to get view tree state"
 msgstr ""
 
+#: tryton/gui/window/view_form/screen/screen.py:710
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Не може да зададе локални настройки %s"
 
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Запис като"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Размер на изображение"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Ширина:"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "Височина:"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
 msgstr "PNG изображение (*.png)"
 
+#: tryton/gui/window/view_form/view/graph.py:159
 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
 msgid "F_ilters"
 msgstr "Филтри"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Търсене"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Тяло:"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Превключване на изглед"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Превключване на изглед"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-msgid "Select a File..."
-msgstr "Избор на файл"
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Всички файлове"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr "Показване само на текст"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-msgid "Select an Image..."
-msgstr "Избор на картинка"
-
-msgid "All files"
-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:64
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
 #, fuzzy
 msgid "Add existing record"
 msgstr "Съхраняване на този запис"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Изтриване на избрания запис <Del>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Open a record <F2>"
 msgstr "Отваряне на запис"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 msgid "Search a record <F2>"
 msgstr "Тъсене на запис"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Изтриване на избрания запис <Del>"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 msgid "Edit selected record <F2>"
 msgstr "Редактиране на избрания запис"
 
-msgid "Change text to bold"
-msgstr "Промяна на текста на удебелен"
-
-msgid "Change text to italic"
-msgstr "Промяна на текста на наклонен"
-
-msgid "Change text to underline"
-msgstr "Промяна на тек на подчертан"
-
-msgid "Choose font-family"
-msgstr "Избор на фамилия на шрифт"
-
-msgid "Choose font-size"
-msgstr "Избор на размер на шрифт"
-
-msgid "Justify of line to the left"
-msgstr "Подравняване на редовете отляво"
-
-msgid "Justify of line to the center"
-msgstr "Подравняване на редовете в център"
-
-msgid "Justify of line to the right"
-msgstr "Подравняване на редовете отдясно"
-
-msgid "Justify of line to fill window"
-msgstr "Подравняване на редовете да запълни прозореца"
-
-msgid "Change the foreground text"
-msgstr "Избот на цвят на текста"
-
-msgid "Change the background text"
-msgstr "Избор на фон на текста"
-
-msgid "Change the markup text view"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
 msgstr ""
 
-msgid "Select a foreground color"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
 msgstr ""
 
-msgid "Select a background color"
+#: 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
 #, fuzzy
 msgid "Translation"
 msgstr "Добавяне на превод"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr "Редактиране"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 msgid "Fuzzy"
 msgstr "Неясно"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
 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!"
 msgstr "Няма наличен друг език!"
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Превод на изглед"
-
diff --git a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..2affe92
Binary files /dev/null and b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ca_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
similarity index 55%
rename from share/locale/ca_ES/LC_MESSAGES/tryton.po
rename to tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
index 7e7120d..2000349 100644
--- a/share/locale/ca_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
@@ -3,95 +3,111 @@
 # 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.
+#, 2014.
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 2.4.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-04-16 17:31+0200\n"
-"PO-Revision-Date: 2015-04-16 17:33+0100\n"
-"Last-Translator: Sergi Almacellas Abellana <sergi at koolpi.com>\n"
-"Language-Team: Catalan <tryton-ca at googlegroups.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
-"X-Generator: Poedit 1.5.4\n"
+msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+#: tryton/config.py:76
 msgid "specify alternate config file"
 msgstr "Indica un fitxer de configuració alternatiu"
 
+#: tryton/config.py:79
 msgid "development mode"
 msgstr "mode desenvolupament"
 
+#: tryton/config.py:82
 msgid "logging everything at INFO level"
 msgstr "Registra tota la informació amb nivell INFO"
 
+#: tryton/config.py:84
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "indica el nivell de log: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
+#: tryton/config.py:87
 msgid "specify the login user"
 msgstr "Indica l'usuari"
 
+#: tryton/config.py:89
 msgid "specify the server port"
 msgstr "Indica el port del servidor"
 
+#: tryton/config.py:91
 msgid "specify the server hostname"
 msgstr "Indica el nom del servidor"
 
+#: tryton/config.py:95
 msgid "Too much arguments"
 msgstr "Massa arguments"
 
+#: tryton/config.py:98
 #, python-format
 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!"
 msgstr "No s'ha pogut escriure el fitxer configuració %s"
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "No s'ha pogut establir l'idioma %s"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Seleccioneu la vostra acció"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "No s'ha definit cap acció."
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Connexió a Tryton"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Servidor:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Port:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Selecció"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "La vostra selecció:"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Desa com..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "Ignora sempre aquest advertiment."
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr "Voleu continuar?"
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Confirmació"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Excepció de concurrència"
 
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -106,51 +122,65 @@ msgstr ""
 "Aquest registre ha estat modificat mentre l'editàveu.\n"
 "  Trieu:\n"
 "   - \"Cancel·la\" per no desar;\n"
-"   - \"Compara\" per veure la versió modificada:\n"
+"   - \"Compara\" per veure la versió modificada;\n"
 "   - \"Desa de totes formes\" per desar els vostres canvis."
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "Compara"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Desa de totes formes"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Error"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Informa de l'error"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Error d'aplicació."
 
+#: 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 "Per informar d'errors heu de tenir un compte a <u>%s</u>"
 
+#: tryton/common/common.py:910
 msgid "Bug Tracker"
 msgstr "Seguiment d'errors"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Usuari:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Contrasenya:"
 
+#: 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 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."
+"Per mantenir-vos informat afegirem el vostre usuari a la llista d'interessats en aquest assumpte."
 
+#: tryton/common/common.py:1002
 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
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -158,21 +188,24 @@ msgstr ""
 "Error de connexió.\n"
 "Nom d'usuari o contrasenya incorrectes."
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "Excepció:"
 
+#: 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "L'empremta digital del servidor ha canviat des de l'última connexió.\n"
-"L'aplicació no es podrà connectar a aquest servidor fins que es corregeixi "
-"l'empremta digital del servidor."
+"L'aplicació no es podrà connectar a aquest servidor fins que es corregeixi l'empremta digital del servidor."
 
+#: tryton/common/common.py:1034
 msgid "Security risk!"
 msgstr "Risc de seguretat."
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -180,222 +213,309 @@ msgstr ""
 "Error de connexió.\n"
 "No ha estat possible connectar-se al servidor."
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
 msgstr "Error de xarxa."
 
+#: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
 msgstr "<i>Cerca...</i>"
 
+#: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
 msgstr "<i>Crea...</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 "Obre el calendari"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr "Format dates"
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr "Format dates 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 "verdader"
 
+#: 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:507
 msgid "True"
 msgstr "Verdader"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Fals"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Edita..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjunts..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Accions..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionat..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correu electrònic..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimeix..."
 
+#: tryton/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"
+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 "_Fitxer"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "U_suari"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Opcions"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "_Preferits"
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Aj_uda"
 
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr "No s'han trobat resultats."
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "_Connecta..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "_Surt..."
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "_Preferències..."
 
+#: tryton/gui/main.py:487
 msgid "_Menu Reload"
 msgstr "_Recarrega el menú"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr "Commuta el _menú"
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr "Cerca _Global"
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "Barra d'_eines"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "Per _defecte"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "Text _i icones"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "_Icones"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "_Text"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "Barra de _menú"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "Canvia tecles ràpides"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "_Mode"
 
+#: 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 "_Formulari"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "Desa ample/alt"
 
+#: tryton/gui/main.py:623
 msgid "Save Tree State"
 msgstr "Desa l'estat de l'arbre"
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr "Tabulació ràpida"
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Correcció ortogràfica"
 
+#: tryton/gui/main.py:655
 msgid "_Previous Tab"
 msgstr "_Anterior"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
 msgstr "_Següent"
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr "_Límit de cerca..."
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "_Correu electrònic..."
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "_Desa opcions"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "Conse_lls..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "Com_binacions de tecles..."
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "_Quant a..."
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "Cerca"
 
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -403,9 +523,11 @@ msgstr ""
 "L'acció seleccionada requereix tancar totes les pestanyes.\n"
 "Voleu continuar?"
 
+#: tryton/gui/main.py:1173
 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?"
@@ -413,6 +535,7 @@ 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."
@@ -420,21 +543,28 @@ 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."
@@ -442,9 +572,11 @@ 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."
@@ -452,15 +584,19 @@ 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."
@@ -468,130 +604,169 @@ 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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Nou"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Crea un nou registre"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Desa"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Desa aquest registre"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Canvia la vista"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Canvia la vista"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Recarrega"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Recarrega"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nou"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Desa"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Canvia la vi_sta"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "_Recarrega/Desfés"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Elimina..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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"
+"3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "No s'ha pogut connectar al servidor\n"
 "1. Reviseu si el servidor s'està executant.\n"
 "2. Esbrineu a quina adreça i port està escoltant.\n"
-"3. Si hi ha un tallafocs entre el servidor i aquest client, assegureu-vos "
-"que l'adreça i el port (normalment 8000) del servidor no estan bloquejats.\n"
+"3. Si hi ha un tallafocs entre el servidor i aquest client, assegureu-vos que l'adreça i el port (normalment 8000) del servidor no estan bloquejats.\n"
 "Premeu a «Canvia» per canviar l'adreça."
 
+#: tryton/gui/window/dbcreate.py: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 "
+"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."
+"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"
@@ -601,46 +776,53 @@ msgstr ""
 "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 "
+"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"
+"Choose a password for the admin user of the new database. With these credentials you will be later able to login into the database:\n"
 "User name: admin\n"
 "Password: <The password you set here>"
 msgstr ""
-"Trieu una contrasenya per a l'usuari administrador de la nova base de dades. "
-"Podreu accedir a la base de dades amb aquestes credencials:\n"
+"Trieu una contrasenya per a l'usuari administrador de la nova base de dades. Podreu accedir a la base de dades amb aquestes credencials:\n"
 "Nom d'usuari: admin\n"
 "Contrasenya: <La contrasenya que introduïu aquí>"
 
+#: tryton/gui/window/dbcreate.py: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."
@@ -648,129 +830,169 @@ 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."
+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"
+"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"
+"Si hi ha una base de dades creada, podria estar danyada. Proveu d'eliminar aquesta base de dades. Reviseu el missatge d'error per obtenir informació addicional.\n"
 "Missatge d'error:\n"
 
+#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "S'ha produït un error al crear la base de dades."
 
+#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "No s'ha pogut connectar al servidor."
 
+#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Aquesta versió del client no és compatible amb el servidor."
 
+#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "No s'ha trobat cap base de dades, heu de crear-ne una."
 
+#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Realitza còpia de seguretat d'una base de dades"
 
+#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Còpia de seguretat"
 
+#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Fa còpia de seguretat de la base de dades triada."
 
+#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Trieu una base de dades Tryton per fer una còpia de seguretat:"
 
+#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Elimina una base de dades"
 
+#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Elimina"
 
+#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Elimina la base de dades seleccionada."
 
+#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Trieu la base de dades Tryton a eliminar:"
 
+#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Connexió al servidor:"
 
+#: tryton/gui/window/dbdumpdrop.py: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
 msgid "Profile"
 msgstr "Perfil"
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Afegeix"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Elimina"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
 msgstr "Servidor:"
 
+#: tryton/gui/window/dblogin.py:98
 msgid "Create"
 msgstr "Crea"
 
+#: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
 msgstr "Recuperant llista de bases de dades"
 
+#: tryton/gui/window/dblogin.py:119
 msgid "Username:"
 msgstr "Nom d'usuari:"
 
+#: tryton/gui/window/dblogin.py:297
 msgid "Could not connect to the server"
 msgstr "No s'ha pogut connectar al servidor"
 
+#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
 msgid "Incompatible version of the server"
 msgstr "El client no és compatible amb la versió del servidor"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Usuari"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "_Cancel·la"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancel·la connexió al servidor Tryton"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "C_onnecta"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Connecta al servidor Tryton"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr "Perfil:"
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr "_Administra perfils"
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr "Informació del Servidor / Base de dades"
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -782,12 +1004,15 @@ msgstr ""
 "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."
@@ -795,148 +1020,198 @@ 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
 msgid "Email Program Settings"
 msgstr "Configuració del programa de correu electrònic"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Línia de comandes:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Llegenda de paraules clau disponibles:"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "A:"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "CC:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Assumpte:"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Missatge:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Adjunt:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: 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:41
 msgid "Previous Record"
 msgstr "Registre anterior"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Següent"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Registre següent"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Adjunt(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Afegeix un adjunt al registre"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Duplica"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Anterior"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Seg_üent"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Cerca"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Veure _registre..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Mostra revisions..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "Adjun_ts..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Accions..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Relacionat..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Informes..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Correu electrònic..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "Im_primeix..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Exporta dades..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Importa dades..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunt(%d)"
 
-msgid "You have to select one record!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
 msgstr "Heu de triar un registre."
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Creat per:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Data de creació:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Última modificació per:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Última data de modificació:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Model:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Esteu segur que voleu eliminar aquest registre?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Esteu segur que voleu eliminar aquests registres?"
 
-msgid "Records not removed!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
 msgstr "Els registres no s'han eliminat."
 
-msgid "Records removed!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
 msgstr "Registres eliminats."
 
-msgid "Working now on the duplicated record(s)!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
 msgstr "Ara esteu treballant en el registre duplicat."
 
-msgid "Record saved!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
 msgstr "Registre desat."
 
-msgid "Invalid form!"
-msgstr "Formulari incorrecte."
-
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " de "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -944,117 +1219,245 @@ msgstr ""
 "Aquest registre ha estat modificat.\n"
 "Voleu desar-lo?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Acció"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Executa acció"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "_Relacionat"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Obre registres relacionats"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Informes"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Obre informe"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Correu electrònic"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Informe per email"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Imprimeix"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Imprimeix informe"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Desconegut"
 
+#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Límit"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Preferències del límit de cerca"
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Límit:"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferències"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Edita preferències d'usuari"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Preferències"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Contrasenya actual:"
 
+#: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Revisió"
 
+#: tryton/gui/window/revision.py:28
 msgid "Select a revision"
 msgstr "Seleccioneu una revisió"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr "Revisió:"
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Combinacions de tecles"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Dreceres en camps de text"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Talla el text seleccionat"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Copia el text seleccionat"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Enganxa el text seleccionat"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Camp següent"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Camp anterior"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Dreceres en relacions"
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Crea una nova relació"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Obre/Cerca una relació"
 
+#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Dreceres en llistes"
 
+#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Crea una nova línia"
 
+#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Obre una relació"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Marca la línia per ser eliminada"
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Desmarca la línia per ser eliminada"
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Controls en l'edició"
 
+#: tryton/gui/window/shortcuts.py:47
+msgid "Move Cursor"
+msgstr "Mou cursor"
+
+#: tryton/gui/window/shortcuts.py:48
+msgid "Move to right"
+msgstr "Mou a la dreta"
+
+#: tryton/gui/window/shortcuts.py:49
+msgid "Move to left"
+msgstr "Mou a l'esquerra"
+
+#: tryton/gui/window/shortcuts.py:50
+msgid "Move up"
+msgstr "Mou amunt"
+
+#: tryton/gui/window/shortcuts.py:51
+msgid "Move down"
+msgstr "Mou avall"
+
+#: tryton/gui/window/shortcuts.py:52
+msgid "Move up of one page"
+msgstr "Mou amunt una pàgina"
+
+#: tryton/gui/window/shortcuts.py:53
+msgid "Move down of one page"
+msgstr "Mou avall una pàgina"
+
+#: tryton/gui/window/shortcuts.py:54
+msgid "Move to top"
+msgstr "Mou al principi"
+
+#: tryton/gui/window/shortcuts.py:55
+msgid "Move to bottom"
+msgstr "Mou al final"
+
+#: tryton/gui/window/shortcuts.py:56
+msgid "Move to parent"
+msgstr "Mou al pare"
+
+#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+msgid "Select all"
+msgstr "Selecciona tot"
+
+#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+msgid "Unselect all"
+msgstr "Deselecciona tot"
+
+#: tryton/gui/window/shortcuts.py:62
+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
+msgid "Select/Activate current row"
+msgstr "Selecciona/Activa fila actual"
+
+#: tryton/gui/window/shortcuts.py:67
+msgid "Toggle selection"
+msgstr "Commuta selecció"
+
+#: tryton/gui/window/shortcuts.py:68
+msgid "Expand/Collapse"
+msgstr "Expandeix/Contrau"
+
+#: tryton/gui/window/shortcuts.py:69
+msgid "Expand row"
+msgstr "Expandeix fila"
+
+#: tryton/gui/window/shortcuts.py:70
+msgid "Collapse row"
+msgstr "Contrau fila"
+
+#: tryton/gui/window/shortcuts.py:71
+msgid "Toggle row"
+msgstr "Commuta fila"
+
+#: tryton/gui/window/shortcuts.py:72
+msgid "Expand all rows"
+msgstr "Expandeix totes les files"
+
+#: tryton/gui/window/shortcuts.py:73
+msgid "Collapse all rows"
+msgstr "Contrau totes les files"
+
+#: tryton/gui/window/shortcuts.py:76
+msgid "Tree view"
+msgstr "Vista d'arbre"
+
+#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1064,6 +1467,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1071,8 +1475,7 @@ msgid ""
 "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"
+"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"
@@ -1090,6 +1493,7 @@ msgstr ""
 "vint llunes conegudes.  Té més massa que totes les altres 159 llunes\n"
 "més petites del Sistema Solar combinades.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1101,6 +1505,7 @@ msgstr ""
 "Podeu copiar els registres de qualsevol llista amb Ctrl + C\n"
 "i enganxar-los en qualsevol aplicació amb Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1108,67 +1513,86 @@ msgid ""
 msgstr ""
 "<b>Exporta gràfics</b>\n"
 "\n"
-"Podeu desar els gràfics en un fitxer PNG fent clic amb el botó dret sobre la "
-"imatge.\n"
+"Podeu desar els gràfics en un fitxer PNG fent clic amb el botó dret sobre la imatge.\n"
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "Consells"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "_Mostra un nou consell la propera vegada"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exporta a CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportacions predeterminades</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Tots els camps</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Neteja"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Desa exportació"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Elimina exportació"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Camps a exportar</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opcions</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Obre"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Afegeix noms de _camp"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Nom"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (text)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "Quin és el nom d'aquesta exportació?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Voleu sobrescriure la definició de '%s'?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "S'ha desat %d registre."
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "S'han desat %d registres."
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1179,249 +1603,320 @@ msgstr ""
 "Missatge d'error:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enllaç"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Afegeix"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Elimina <Supr>"
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Crea un nou registre <F3>"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Elimina el registre seleccionat <Supr>"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Recupera el registre seleccionat <Ins>"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importa des de CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-detecta"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Camps a importar</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Fitxer a importar:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Obre..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Paràmetres CSV"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Separador de camp:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Delimitador de text:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Codificació:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Línies a ometre:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Nom del camp"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Primer heu de triar un fitxer a importar."
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Error a l'obrir el fitxer CSV"
 
+#: tryton/gui/window/win_import.py:292
 #, 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:367
 #, python-format
 msgid "%d record imported!"
 msgstr "S'ha importat %d registre."
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
 msgstr "S'han importat %d registres."
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "Assistent"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
 msgstr "Creat per"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
 msgstr "Data de creació"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
 msgstr "Modificat per"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
 msgstr "Data de modificació"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 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:710
 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:886
+#, 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:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr "\"%s\" és obligatori."
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, 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:948
+msgid "Pre-validation"
+msgstr "Prevalidació"
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Anomena i desa"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Mida de la imatge"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Amplada:"
 
+#: 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 "Imatge PNG (*.png)"
 
+#: tryton/gui/window/view_form/view/graph.py:159
 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
 msgid "F_ilters"
 msgstr "F_iltres"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr "Mostra les cerques preferides"
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr "Elimina de les cerques preferides"
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr "Desa com a cerca preferida"
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr "Nom de la cerca preferida:"
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Cerca"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Avui"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Vista setmanal"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Vista mensual"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Setmana"
 
-msgid "Select a File..."
-msgstr "Selecciona un fitxer..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr "Selecciona..."
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Tots els fitxers"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr "Selecciona"
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr "Mostra com a text pla"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr "Afegeix un valor"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
 
-msgid "Select an Image..."
-msgstr "Selecciona una imatge..."
-
-msgid "All files"
-msgstr "Tots els fitxers"
-
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
 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
 msgid "Add existing record"
 msgstr "Afegeix un registre existent"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 msgid "Remove selected record <Del>"
 msgstr "Elimina el registre seleccionat <Supr>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Open a record <F2>"
 msgstr "Obre el registre <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 msgid "Search a record <F2>"
 msgstr "Cerca un registre <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 msgid "Remove selected record"
 msgstr "Elimina el registre seleccionat"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 msgid "Edit selected record <F2>"
 msgstr "Edita registre seleccionat <F2>"
 
-msgid "Change text to bold"
-msgstr "Canvia text a negreta"
-
-msgid "Change text to italic"
-msgstr "Canvia text a cursiva"
-
-msgid "Change text to underline"
-msgstr "Canvia text a subratllat"
-
-msgid "Choose font-family"
-msgstr "Tria tipus de lletra"
-
-msgid "Choose font-size"
-msgstr "Tria grandària de la lletra"
-
-msgid "Justify of line to the left"
-msgstr "Alinea la línia a l'esquerra"
-
-msgid "Justify of line to the center"
-msgstr "Centra la línia"
-
-msgid "Justify of line to the right"
-msgstr "Alinea la línia a la dreta"
-
-msgid "Justify of line to fill window"
-msgstr "Justifica la línia per emplenar la finestra"
-
-msgid "Change the foreground text"
-msgstr "Canvia el text principal"
-
-msgid "Change the background text"
-msgstr "Canvia color de fons"
-
-msgid "Change the markup text view"
-msgstr "Canvia el text de marcat"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
 
-msgid "Select a foreground color"
-msgstr "Selecciona color principal"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr "Primer pla"
 
-msgid "Select a background color"
-msgstr "Selecciona color de fons"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+msgid "Select a color"
+msgstr "Seleccioneu un color"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
 msgid "Translation"
 msgstr "Traducció"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr "Edita"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 msgid "Fuzzy"
 msgstr "Dubtós"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
 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!"
 msgstr "No hi ha cap altre idioma disponible."
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Tradueix la vista"
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..7161334
Binary files /dev/null and b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/cs_CZ/LC_MESSAGES/tryton.po b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
similarity index 54%
rename from share/locale/cs_CZ/LC_MESSAGES/tryton.po
rename to tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
index 6b42715..4773a32 100644
--- a/share/locale/cs_CZ/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
@@ -1,91 +1,108 @@
-
+# 
 msgid ""
-msgstr ""
-"Project-Id-Version:  1.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2012-04-23 11:06+0200\n"
-"Last-Translator: Dan Horák <dan at danny.cz>\n"
-"Language-Team: Czech\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+#: tryton/config.py:76
 msgid "specify alternate config file"
 msgstr "zadejte alternativní konfigurační soubor"
 
+#: 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 "zadejte uživatelské jméno"
 
+#: tryton/config.py:89
 msgid "specify the server port"
 msgstr "zadejte číslo portu síťového serveru"
 
+#: tryton/config.py:91
 msgid "specify the server hostname"
 msgstr "zadejte název hostitele pro server"
 
+#: 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 "Nelze zapsat konfigurační soubor %s!"
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Nemohu nastavit lokalizaci %s"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Vyberte akci"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "Žádná akce není definována!"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Tryton spojení"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Server:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Port:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Výběr"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "Váš výběr:"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Uložit jako..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "zadejte alternativní konfigurační soubor"
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr ""
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Potvrzení"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Výjimka při souběhu"
 
+#: tryton/common/common.py:786
 #, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
@@ -104,37 +121,50 @@ msgstr ""
 "  - \"Porovnat\" pro zobrazení změněné verze,\n"
 "  - \"Přesto zapsat\" pro zapsání vaší verze."
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "Porovnat"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Přesto zapsat"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Chyba"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Nahlásit chybu"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Chyba aplikace!"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "Chyba:"
 
-#, fuzzy, python-format
+#: tryton/common/common.py:880
+#, 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
 msgid "Bug Tracker"
 msgstr "Sledování chyb"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Uživatel:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Heslo:"
 
+#: 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"
@@ -142,9 +172,11 @@ 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
 msgid "Created new bug with ID "
 msgstr "Založena nová chyba s ID"
 
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -152,18 +184,22 @@ msgstr ""
 "Chyba při spojení!\n"
 "Špatné uživatelské jméno nebo heslo!"
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "Výjimka:"
 
+#: 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 
+#: tryton/common/common.py:1034
 msgid "Security risk!"
 msgstr ""
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -171,245 +207,334 @@ msgstr ""
 "Chyba spojení!\n"
 "Nelze se připojit k serveru!"
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
 msgstr "Chyba sítě!"
 
+#: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
 msgstr ""
 
+#: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
 msgstr ""
 
+#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 #, fuzzy
 msgid "Value"
 msgstr "Nepravda"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 msgid "Displayed value"
 msgstr ""
 
+#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
+#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
 #, 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
 msgid "Display format"
 msgstr ""
 
+#: tryton/common/datetime_.py:61
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Otevřít kalendář"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr ""
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 msgid "y"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 #, fuzzy
 msgid "yes"
 msgstr "bajtů"
 
+#: tryton/common/domain_parser.py:235
 #, fuzzy
 msgid "true"
 msgstr "Pravda"
 
+#: tryton/common/domain_parser.py:235
 msgid "t"
 msgstr ""
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "True"
 msgstr "Pravda"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Nepravda"
 
+#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "Konec..."
 
+#: tryton/common/popup_menu.py:82
 #, fuzzy
 msgid "Attachments..."
 msgstr "Příloha:"
 
+#: tryton/common/popup_menu.py:92
 #, fuzzy
 msgid "Actions..."
 msgstr "Akce..."
 
+#: tryton/common/popup_menu.py:93
 #, fuzzy
 msgid "Relate..."
 msgstr "_Odstranit..."
 
+#: tryton/common/popup_menu.py:94
 #, fuzzy
 msgid "Report..."
 msgstr "Importovat data..."
 
+#: tryton/common/popup_menu.py:95
 #, fuzzy
 msgid "E-Mail..."
 msgstr "_Email..."
 
+#: tryton/common/popup_menu.py:96
 #, fuzzy
 msgid "Print..."
 msgstr "_Tisk..."
 
+#: tryton/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:218
 msgid "_File"
 msgstr "_Soubor"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Uživatel"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Volby"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Nápo_věda"
 
-msgid "Search"
-msgstr "Hledat"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr ""
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "_Připojit..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "Konec..."
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "_Vlastnosti..."
 
+#: tryton/gui/main.py:487
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "_Obnovit"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr ""
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr ""
 
+#: tryton/gui/main.py:518
 #, fuzzy
 msgid "_Toolbar"
 msgstr "Nástrojová lišta"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "_Výchozí"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "_Text a ikony"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "_Ikony"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "_Text"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "Hlavní nabídka"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr ""
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "_Režim"
 
+#: tryton/gui/main.py:588
 msgid "_Normal"
 msgstr "_Normální"
 
+#: tryton/gui/main.py:596
 msgid "_PDA"
 msgstr "_PDA"
 
+#: tryton/gui/main.py:603
 msgid "_Form"
 msgstr "Formulář"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr ""
 
+#: tryton/gui/main.py:623
 msgid "Save Tree State"
 msgstr ""
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Kontrola pravopisu"
 
+#: tryton/gui/main.py:655
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "_Předchozí"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
 msgstr ""
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr ""
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "_Email..."
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "Uložit nastavení"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "_Tipy..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "_Klávesové zkratky..."
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "_O programu..."
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "Hledat"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
+#: tryton/gui/main.py:1173
 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?"
@@ -417,6 +542,7 @@ 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."
@@ -424,21 +550,28 @@ 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."
@@ -446,9 +579,11 @@ 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."
@@ -456,15 +591,19 @@ 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."
@@ -472,183 +611,228 @@ 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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr ""
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Vytvořit nový záznam"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 #, fuzzy
 msgid "Save"
 msgstr "_Uložit"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Uložit tento záznam"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Přepnout"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Přepnout pohled"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Obnovit"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Obnovit"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nový"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Uložit"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Přepnout pohled"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "Obnovit/Zpět"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Odstranit..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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."
+"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"
+"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"
+"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."
+"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."
+"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."
+"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."
+"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"
+"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 "
+"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"
+"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"
+"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."
@@ -656,134 +840,174 @@ 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"
+"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"
+"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
 msgid "Profile"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Přidat"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Odstranit"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 #, fuzzy
 msgid "Host:"
 msgstr "Port:"
 
+#: tryton/gui/window/dblogin.py:98
 #, fuzzy
 msgid "Create"
 msgstr "_Vytvořit"
 
+#: tryton/gui/window/dblogin.py:101
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "Nastavení nové databáze:"
 
+#: tryton/gui/window/dblogin.py:119
 #, 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
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "Verze serveru není kompatibilní!"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Přihlášení"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "_Zrušit"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Zrušit spojení k Tryton serveru."
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "_Připojit"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Připojit k Tryton serveru"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -795,165 +1019,218 @@ msgstr ""
 "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
 msgid "Email Program Settings"
 msgstr "Poslat nastavení programu emailem"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Příkazový řádek:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Seznam dostupných náhrad:"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "Komu:"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "CC:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Předmět: "
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Tělo:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Příloha:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Předchozí"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "Předchozí záznam"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Další"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Následující záznam"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Přílohy(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Přidat přílohu k záznamu"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Duplikovat"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Předchozí"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "_Následující"
 
+#: tryton/gui/window/form.py:63
 #, fuzzy
 msgid "_Search"
 msgstr "Hledat"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Zobrazit záznamy..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr ""
 
+#: tryton/gui/window/form.py:70
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Příloha:"
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "Akce..."
 
+#: tryton/gui/window/form.py:74
 #, fuzzy
 msgid "_Relate..."
 msgstr "_Odstranit..."
 
+#: tryton/gui/window/form.py:77
 #, fuzzy
 msgid "_Report..."
 msgstr "Importovat data..."
 
+#: tryton/gui/window/form.py:79
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "_Email..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "_Tisk..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "Exportovat data"
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "Importovat data..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Příloha(%d)"
 
-msgid "You have to select one record!"
-msgstr "Musíte vybrat právě jeden záznam!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Vytvořeno uživatelem:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Datum vytvoření:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Poslední úpravu provedl:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Datum poslední úpravy:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Model:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Opravdu chcete odstranit tento záznam?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Opravdu chcete odstranit tyto záznamy?"
 
-msgid "Records not removed!"
-msgstr "Záznamy neodstraněny!"
-
-msgid "Records removed!"
-msgstr "Záznamy odstraněny!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Nyní pracujete s duplicitním záznamem!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
 
-msgid "Record saved!"
-msgstr "Záznam uložen!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
 
-msgid "Invalid form!"
-msgstr "Neplatný formulář!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " z "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -961,130 +1238,258 @@ msgstr ""
 "Tento záznam byl upraven\n"
 "chcete ho uložit?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Akce"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr ""
 
+#: tryton/gui/window/form.py:529
 #, fuzzy
 msgid "Relate"
 msgstr "_Vytvořit"
 
+#: tryton/gui/window/form.py:529
 #, fuzzy
 msgid "Open related records"
 msgstr "Otevřít záznam"
 
+#: tryton/gui/window/form.py:531
 #, fuzzy
 msgid "Report"
 msgstr "Sestavy"
 
+#: tryton/gui/window/form.py:531
 #, fuzzy
 msgid "Open report"
 msgstr "Otevřít záznam"
 
+#: tryton/gui/window/form.py:532
 #, fuzzy
 msgid "E-Mail"
 msgstr "Email"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr ""
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Tisk"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr ""
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Neznámý"
 
+#: tryton/gui/window/limit.py:17
 #, fuzzy
 msgid "Limit"
 msgstr "Omezit:"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr ""
 
+#: tryton/gui/window/limit.py:29
 #, fuzzy
 msgid "Limit:"
 msgstr "Omezit:"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nastavení"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Upravit uživatelské nastavení"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Nastavení"
 
+#: tryton/gui/window/preference.py:88
 #, fuzzy
 msgid "Current Password:"
 msgstr "Heslo správce:"
 
+#: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Předchozí"
 
+#: tryton/gui/window/revision.py:28
 #, fuzzy
 msgid "Select a revision"
 msgstr "Výběr"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Klávesové zkratky"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Zkratky pro texty"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Vyjmout vybraný text"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Kopírovat vybraný text"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Vložit vybraný text"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Další prvek"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Předchozí prvek"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Zkratky pro relace"
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Vytvořit novou relaci"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Otevřít/prohledat relaci"
 
+#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "Zkratky pro texty"
 
+#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Create new line"
 msgstr "Vytvořit novou relaci"
 
+#: tryton/gui/window/shortcuts.py:39
 #, fuzzy
 msgid "Open relation"
 msgstr "Otevřít/prohledat relaci"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Editovací prvky"
 
+#: tryton/gui/window/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"
@@ -1094,6 +1499,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1101,8 +1507,7 @@ msgid ""
 "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"
+"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"
@@ -1119,6 +1524,7 @@ msgstr ""
 "včetně prstenců planety a dalších 12 známých měsíců. Je také hmotnější\n"
 "než všech 159 menších měsíců ve sluneční soustavě dohromady.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1129,70 +1535,91 @@ msgstr ""
 "Ze seznamu můžete zkopírovat záznamy pomocí Ctrl + C\n"
 "a vložit je do libovolné aplikace pomocí Ctrl + V\n"
 
+#: tryton/gui/window/tips.py: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 "Tipy"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "Zobrazit příště další tip"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exportovat do CSV souboru"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Předdefinované exporty</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Všechna pole</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Vymazat"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Uložit exportu"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Smazat exportu"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Pole pro export</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Možnosti</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Otevřít"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Přidat jména polí"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "%d záznam uložen!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "%d záznamů uloženo!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1203,273 +1630,341 @@ msgstr ""
 "Chybová zpráva:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Odkaz"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Přidat"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr ""
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "Vytvořit nový záznam"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "Smazat vybraný záznam"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "Smazat vybraný záznam"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Import CSV souboru"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Automatická detekce"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Pole pro import</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Soubor k importu:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Otevřít..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Parametry CSV"
 
+#: tryton/gui/window/win_import.py:125
 #, fuzzy
 msgid "Field Separator:"
 msgstr "Oddělovač polí:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Oddělovač textu:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Kódování:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Vynechané řádky:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Jméno pole"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Nejprve je nutné vybrat soubor pro import!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Chyba při otevírání CSV souboru"
 
-#, fuzzy, python-format
+#: tryton/gui/window/win_import.py:292
+#, 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:367
 #, python-format
 msgid "%d record imported!"
 msgstr "%d záznam načten!"
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
 msgstr "%d záznamů načteno!"
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "Průvodce"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 #, fuzzy
 msgid "ID"
 msgstr "Najít"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 #, fuzzy
 msgid "Creation User"
 msgstr "Vytvořeno uživatelem:"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 #, fuzzy
 msgid "Creation Date"
 msgstr "Datum vytvoření:"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 #, fuzzy
 msgid "Modification User"
 msgstr "Datum poslední úpravy:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 #, fuzzy
 msgid "Modification Date"
 msgstr "Datum poslední úpravy:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 msgid "Unable to get view tree state"
 msgstr ""
 
+#: tryton/gui/window/view_form/screen/screen.py:710
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Nemohu nastavit lokalizaci %s"
 
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Uložit jako"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Velikost obrázku"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Šířka:"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "Výška:"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
 msgstr "Obrázek PNG (*.png)"
 
+#: tryton/gui/window/view_form/view/graph.py:159
 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
 #, fuzzy
 msgid "F_ilters"
 msgstr "_Soubor"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Najít"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Tělo:"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Přepnout pohled"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Přepnout pohled"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#, fuzzy
-msgid "Select a File..."
-msgstr "Vyberte soubor"
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Všechny soubory"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-#, fuzzy
-msgid "Select an Image..."
-msgstr "Vyberte soubor"
-
-msgid "All files"
-msgstr "Všechny soubory"
-
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
 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
 #, fuzzy
 msgid "Add existing record"
 msgstr "Uložit tento záznam"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Smazat vybraný záznam"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "Otevřít záznam"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "Hledat záznam"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Smazat vybraný záznam"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "Upravit vybraný záznam"
 
-msgid "Change text to bold"
-msgstr ""
-
-msgid "Change text to italic"
-msgstr ""
-
-msgid "Change text to underline"
-msgstr ""
-
-msgid "Choose font-family"
-msgstr ""
-
-msgid "Choose font-size"
-msgstr ""
-
-msgid "Justify of line to the left"
-msgstr ""
-
-msgid "Justify of line to the center"
-msgstr ""
-
-msgid "Justify of line to the right"
-msgstr ""
-
-msgid "Justify of line to fill window"
-msgstr ""
-
-msgid "Change the foreground text"
-msgstr ""
-
-msgid "Change the background text"
-msgstr ""
-
-msgid "Change the markup text view"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
 msgstr ""
 
-msgid "Select a foreground color"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
 msgstr ""
 
-msgid "Select a background color"
+#: 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
 #, fuzzy
 msgid "Translation"
 msgstr "Přidat překlad"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 msgid "Fuzzy"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
 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!"
 msgstr "Jiný jazyk není k dispozici!"
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Přeložit pohled"
-
diff --git a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..08060c2
Binary files /dev/null and b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/de_DE/LC_MESSAGES/tryton.po b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
similarity index 53%
rename from share/locale/de_DE/LC_MESSAGES/tryton.po
rename to tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
index d203212..00e360a 100644
--- a/share/locale/de_DE/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
@@ -3,95 +3,110 @@
 # This file is distributed under the same license as the tryton project.
 # Udo Spallek <udono at gmx.net>, 2008.
 # Mathias Behrle <mbehrle at m9s.biz>, 2008-2014.
-#
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 3.6.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2015-04-16 12:32+0100\n"
-"Last-Translator: Mathias Behrle <mbehrle at m9s.biz>\n"
-"Language-Team: de_DE <tryton-de at googlegroups.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
-"Language: de_DE\n"
-"X-Generator: Poedit 1.6.10\n"
+msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+#: tryton/config.py:76
 msgid "specify alternate config file"
 msgstr "Alternative Konfigurationsdatei angeben"
 
+#: tryton/config.py:79
 msgid "development mode"
 msgstr "Entwicklungsmodus"
 
+#: tryton/config.py:82
 msgid "logging everything at INFO level"
 msgstr "Allgemeiner Log-Level: INFO"
 
+#: tryton/config.py:84
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr "Log Level angeben: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr "Loglevel angeben: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
+#: tryton/config.py:87
 msgid "specify the login user"
 msgstr "Anmeldename angeben"
 
+#: tryton/config.py:89
 msgid "specify the server port"
 msgstr "Port des Servers angeben"
 
+#: tryton/config.py:91
 msgid "specify the server hostname"
 msgstr "Name des Servers angeben"
 
+#: tryton/config.py:95
 msgid "Too much arguments"
 msgstr "Zu viele Argumente"
 
+#: tryton/config.py:98
 #, python-format
 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!"
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
-msgstr "Kann locale %s nicht setzen"
+msgstr "Kann locale %s nicht setzen."
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Aktion wählen"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "Keine Aktion angegeben!"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Verbindung"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Server:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Port:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Auswahl"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "Ihre Auswahl:"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Speichern unter..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
-msgstr "Diese Warnung künftig nicht mehr anzeigen"
+msgstr "Diese Warnung künftig nicht mehr anzeigen."
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr "Fortfahren?"
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Bestätigung"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Aktualisierungskonflikt"
 
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -103,57 +118,69 @@ msgid ""
 msgstr ""
 "<b>Aktualisierungskonflikt beim Schreiben des aktuellen Datensatzes:</b>\n"
 "\n"
-"Dieser Datensatz wurde anderweitig geändert, während Sie ihn bearbeitet "
-"haben.\n"
+"Dieser Datensatz wurde anderweitig geändert, während Sie ihn bearbeitet haben.\n"
 "  Lösungsmöglichkeiten:\n"
-"   - \"Abbrechen\" um den Speichervorgang abzubrechen\n"
-"   - \"Vergleichen\" um die geänderte Version des Datensatzes zu betrachten\n"
-"   - \"Überschreiben\" um die gespeicherte Version mit Ihrer Version zu "
-"überschreiben"
+"    - \"Abbrechen\" um den Speichervorgang abzubrechen,\n"
+"    - \"Vergleichen\" um die geänderte Version des Datensatzes zu betrachten,\n"
+"    - \"Überschreiben\" um die gespeicherte Version mit Ihrer Version zu überschreiben."
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "Vergleichen"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Überschreiben"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Fehler"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Fehler berichten"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Anwendungsfehler!"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "Fehler:"
 
+#: tryton/common/common.py:880
 #, 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
 msgid "Bug Tracker"
 msgstr "Fehler melden"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Anmeldename:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Passwort:"
 
+#: 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 ""
 "Derselbe Fehlerbericht wurde bereits von einem anderen Benutzer berichtet.\n"
-"Zu Ihrer Information wurde Ihr Benutzername auf der Interessentenliste "
-"eingetragen."
+"Zu Ihrer Information wurde Ihr Benutzername auf der Interessentenliste eingetragen."
 
+#: tryton/common/common.py:1002
 msgid "Created new bug with ID "
 msgstr "Neuer Fehlerbericht angelegt mit ID "
 
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -161,22 +188,24 @@ msgstr ""
 "Verbindungsfehler!\n"
 "Anmeldename oder Passwort fehlerhaft."
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
-msgstr "Ausnahme: "
+msgstr "Ausnahme:"
 
+#: 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
-"Der Fingerabdruck des Servers hat sich seit der letzten Verbindung "
-"geändert!\n"
-"Der Client wird sich nicht mehr zu diesem Server verbinden bis der "
-"Fingerabdruck wieder dem des Servers entspricht."
+"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:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -184,232 +213,321 @@ msgstr ""
 "Verbindungsfehler!\n"
 "Kann nicht zum Server verbinden."
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
 msgstr "Netzwerkfehler!"
 
+#: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
 msgstr "<i>Suche...</i>"
 
+#: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
 msgstr "<i>Erstelle...</i>"
 
+#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 msgid "Value"
 msgstr "Wert"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 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
 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 "Angezeigtes Format"
 
+#: tryton/common/datetime_.py:61
 msgid "Open the calendar"
 msgstr "Kalender öffnen"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr "Datumsformat"
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr "Angezeigtes Datumsformat"
 
+#: tryton/common/domain_parser.py:235
 msgid "y"
 msgstr "J"
 
+#: tryton/common/domain_parser.py:235
 msgid "yes"
 msgstr "Ja"
 
+#: tryton/common/domain_parser.py:235
 msgid "true"
 msgstr "Wahr"
 
+#: tryton/common/domain_parser.py:235
 msgid "t"
 msgstr "w"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "True"
 msgstr "Wahr"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Falsch"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Bearbeiten..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Anhänge..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Aktionen..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Beziehungen..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Berichte..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "E-Mail..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Drucken..."
 
+#: tryton/common/timedelta.py:26
 msgid "Y"
 msgstr "J"
 
+#: tryton/common/timedelta.py:27
 msgid "M"
 msgstr "M"
 
+#: tryton/common/timedelta.py:28
 msgid "w"
 msgstr "W"
 
+#: tryton/common/timedelta.py:29
 msgid "d"
 msgstr "t"
 
+#: 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 "_Datei"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Benutzer"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Einstellungen"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Fa_voriten"
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Hilfe"
 
-msgid "Search"
-msgstr "Suchen"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr "Kein Ergebnis."
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "_Verbinden..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "_Beenden..."
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "_Einstellungen..."
 
+#: tryton/gui/main.py:487
 msgid "_Menu Reload"
 msgstr "_Menü neu laden"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr "Menü _umschalten"
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr "_Globale Suche"
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "_Werkzeugleiste"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "_Standard"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "Text _und Symbole"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "_Symbole"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "_Text"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "_Menüleiste"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "Schnelltasten ändern"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "_Modus"
 
+#: 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 "_Formular"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "Breite/Höhe speichern"
 
+#: tryton/gui/main.py:623
 msgid "Save Tree State"
 msgstr "Menüansicht speichern"
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr "Schneller Feldwechsel mit Tabulatortaste"
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Rechtschreibkorrektur"
 
+#: tryton/gui/main.py:655
 msgid "_Previous Tab"
-msgstr "_Vorheriger Tab"
+msgstr "_Vorherige Registerkarte"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
-msgstr "_Nächster Tab"
+msgstr "_Nächste Registerkarte"
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr "Suchlimitierung..."
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "_E-Mail..."
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "Einstellungen _speichern"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "_Tipps..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "_Schnelltasten..."
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "_Über..."
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "Suchen"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
-"Die folgende Aktion erfordert die Schließung aller Tabs.\n"
+"Die folgende Aktion erfordert die Schließung aller Registerkarten.\n"
 "Fortfahren?"
 
+#: tryton/gui/main.py:1173
 msgid "Close Tab"
-msgstr "Tab schließen"
+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?"
@@ -417,194 +535,242 @@ 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"
+"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 "Backup Datei für Wiederherstellung öffnen..."
+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."
+"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"
+"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."
+"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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Neu"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Neuen Datensatz erstellen"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Speichern"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Diesen Datensatz speichern"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Ansicht wechseln"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Ansicht wechseln"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Neu laden"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Neu laden"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Neu"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Speichern"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "_Ansicht wechseln"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "Neu laden/_Rückgängig"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Löschen..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 msgid "_Close Tab"
-msgstr "Tab schließen"
+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."
+"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 "
+"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"
+"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\n"
-"und der Port (üblicherweise 8000) nicht durch die Firewall blockiert "
-"werden.\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 "
+"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 "
+"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."
+"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 "
+"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"
@@ -612,52 +778,56 @@ msgid ""
 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 "
-"'ß'!\n"
-"Beispielname: tryton"
+"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."
+"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"
+"Choose a password for the admin user of the new database. With these credentials you will be later able to login into the database:\n"
 "User name: admin\n"
 "Password: <The password you set here>"
 msgstr ""
-"Wählen Sie hier ein Passwort für den Benutzer mit Administrationsrechten für "
-"die neue Datenbank. Mit diesem Passwort werden Sie sich anschließend in der "
-"neuen Datenbank anmelden können:\n"
+"Wählen Sie hier ein Passwort für den Benutzer mit Administrationsrechten für die neue Datenbank. Mit diesem Passwort werden Sie sich anschließend in der neuen Datenbank anmelden können:\n"
 "Anmeldename: admin\n"
 "Passwort: <Das hier vergebene Passwort>"
 
+#: tryton/gui/window/dbcreate.py: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."
@@ -665,133 +835,170 @@ msgstr ""
 "Eine Datenbank mit diesem Namen existiert bereits.\n"
 "Versuchen Sie einen anderen Datenbanknamen."
 
+#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Eine Datenbank mit diesem Namen existiert bereits!"
 
+#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr ""
-"Das für den Tryton Server eingegebene Passwort scheint falsch zu sein. Bitte "
-"nochmals eingeben."
+"Das für den Tryton Server eingegebene Passwort scheint falsch zu sein. Bitte"
+" nochmals eingeben."
 
+#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
-"If there is a database created, it could be broken. Maybe drop this "
-"database! Please check the error message for possible informations.\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"
+"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."
+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
 msgid "Profile"
 msgstr "Profil"
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Hinzufügen"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Entfernen"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
 msgstr "Host:"
 
+#: tryton/gui/window/dblogin.py:98
 msgid "Create"
 msgstr "Erstellen"
 
+#: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
 msgstr "Datenbankliste wird abgefragt..."
 
+#: tryton/gui/window/dblogin.py:119
 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
 msgid "Incompatible version of the server"
 msgstr "Inkompatible Serverversion"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Anmeldung"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "_Abbrechen"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Abbrechen"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "_Verbinden"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Verbindung zum Tryton Server herstellen"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr "Profil:"
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr "_Profile verwalten"
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr "Host-/Datenbankdetails"
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -803,12 +1010,15 @@ msgstr ""
 "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."
@@ -817,266 +1027,444 @@ msgstr ""
 "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
 msgid "Email Program Settings"
 msgstr "Einstellungen E-Mail"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Kommandozeile:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Legende der verfügbaren Platzhalter:"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "An:"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "CC:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Betreff:"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Textkörper:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Anhang:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Vorheriger"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "Vorheriger Datensatz"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Nächster"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Nächster Datensatz"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Anhang(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Einen Anhang zum Datensatz hinzufügen"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Duplizieren"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Vorheriger"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "_Nächster"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Suche"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "_Protokoll ansehen..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Bearbeitungen anzeigen..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "A_nhänge..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Aktion ausführen..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Beziehung öffnen..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Bericht öffnen..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Bericht per E-Mail..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "_Bericht drucken..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "Daten _exportieren..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "Daten _importieren..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Anhänge(%d)"
 
-msgid "You have to select one record!"
-msgstr "Sie müssen mindestens einen Datensatz auswählen!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr "Ein Datensatz muss ausgewählt werden."
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Erstellt von"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Erstellt am"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Zuletzt verändert von"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Zuletzt verändert am"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Modell:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Möchten Sie diesen Datensatz wirklich löschen?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Möchten Sie diese Datensätze wirklich löschen?"
 
-msgid "Records not removed!"
-msgstr "Datensätze nicht gelöscht!"
-
-msgid "Records removed!"
-msgstr "Datensätze gelöscht"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr "Die Datensätze wurden nicht gelöscht."
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Sie arbeiten nun an dem duplizierten Datensatz"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr "Die Datensätze wurden gelöscht."
 
-msgid "Record saved!"
-msgstr "Datensatz gespeichert"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr "Sie arbeiten nun an dem/den duplizierten Datensatz/Datensätzen."
 
-msgid "Invalid form!"
-msgstr "Ungültiges Formular!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr "Der Datensatz wurde gespeichert."
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " von "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
 msgstr ""
-"Datensatz geändert\n"
+"Datensatz geändert.\n"
 "Soll der Datensatz gespeichert werden?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Aktion"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Aktion ausführen"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "Beziehung"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Datensätze einer Beziehung öffnen"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Bericht"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Bericht öffnen"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "E-Mail"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Bericht per E-Mail senden"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Drucken"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Bericht drucken"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Unbekannt"
 
+#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Limitierung"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Einstellung Suchlimitierung"
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Limit:"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Einstellungen"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Benutzereinstellungen bearbeiten"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Einstellung"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Aktuelles Passwort:"
 
+#: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Bearbeitung"
 
+#: tryton/gui/window/revision.py:28
 msgid "Select a revision"
 msgstr "Bearbeitung auswählen"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr "Bearbeitung:"
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Schnelltasten"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Schnelltasten für Texteinträge"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Ausgewählten Text ausschneiden"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Ausgewählten Text kopieren"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Ausgewählten Text einfügen"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Nächstes Widget"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Vorheriges Widget"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Schnelltasten für Einträge in verknüpften Feldern"
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Neue Beziehung erstellen"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Beziehung suchen/öffnen"
 
+#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Schnelltasten für Einträge in Listenfelder"
 
+#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Neue Zeile erstellen"
 
+#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Beziehung öffnen"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Zeile zum Löschen markieren"
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Löschmarkierung für Zeile aufheben"
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Widgets zur Bearbeitung"
 
+#: tryton/gui/window/shortcuts.py:47
+msgid "Move Cursor"
+msgstr "Cursor bewegen"
+
+#: tryton/gui/window/shortcuts.py:48
+msgid "Move to right"
+msgstr "Nach rechts bewegen"
+
+#: tryton/gui/window/shortcuts.py:49
+msgid "Move to left"
+msgstr "Nach links bewegen"
+
+#: tryton/gui/window/shortcuts.py:50
+msgid "Move up"
+msgstr "Nach oben bewegen"
+
+#: tryton/gui/window/shortcuts.py:51
+msgid "Move down"
+msgstr "Nach unten bewegen"
+
+#: tryton/gui/window/shortcuts.py:52
+msgid "Move up of one page"
+msgstr "Eine Seite nach oben bewegen"
+
+#: tryton/gui/window/shortcuts.py:53
+msgid "Move down of one page"
+msgstr "Eine Seite nach unten bewegen"
+
+#: tryton/gui/window/shortcuts.py:54
+msgid "Move to top"
+msgstr "An den Anfang bewegen"
+
+#: tryton/gui/window/shortcuts.py:55
+msgid "Move to bottom"
+msgstr "Zum Ende bewegen"
+
+#: tryton/gui/window/shortcuts.py:56
+msgid "Move to parent"
+msgstr "Zum übergeordneten Datensatz bewegen"
+
+#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+msgid "Select all"
+msgstr "Alle auswählen"
+
+#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+msgid "Unselect all"
+msgstr "Auswahl aufheben"
+
+#: tryton/gui/window/shortcuts.py:62
+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
+msgid "Select/Activate current row"
+msgstr "Aktuelle Zeile auswählen/akivieren"
+
+#: tryton/gui/window/shortcuts.py:67
+msgid "Toggle selection"
+msgstr "Auswahl umkehren"
+
+#: tryton/gui/window/shortcuts.py:68
+msgid "Expand/Collapse"
+msgstr "Ausklappen/Einklappen"
+
+#: tryton/gui/window/shortcuts.py:69
+msgid "Expand row"
+msgstr "Zeile ausklappen"
+
+#: tryton/gui/window/shortcuts.py:70
+msgid "Collapse row"
+msgstr "Zeile einklappen"
+
+#: tryton/gui/window/shortcuts.py:71
+msgid "Toggle row"
+msgstr "Auswahl für Zeile umkehren"
+
+#: tryton/gui/window/shortcuts.py:72
+msgid "Expand all rows"
+msgstr "Alle Zeilen ausklappen"
+
+#: tryton/gui/window/shortcuts.py:73
+msgid "Collapse all rows"
+msgstr "Alle Zeilen einklappen"
+
+#: tryton/gui/window/shortcuts.py:76
+msgid "Tree view"
+msgstr "Baumansicht"
+
+#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1086,6 +1474,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1093,8 +1482,7 @@ msgid ""
 "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"
+"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"
@@ -1106,13 +1494,13 @@ msgstr ""
 "ist der größte Mond des Planeten Neptun, entdeckt am 10. Oktober 1846\n"
 "von William Lassell. Er ist der einzige große Mond des Solarsystems mit\n"
 "retrograder Umlaufbahn, d.h. einer Umlaufbahn in gegensätzlicher Richtung\n"
-"zur Rotation des Planeten. Mit 2700 km im Durchmesser ist er der "
-"siebtgrößte\n"
+"zur Rotation des Planeten. Mit 2700 km im Durchmesser ist er der siebtgrößte\n"
 "Mond des Solarsystems. Triton verkörpert mehr als 99,5 Prozent der\n"
 "bekannten Gesamtmasse des Orbits von Neptun, die Planetenringe und zwölf\n"
 "andere Monde eingeschlossen. Er ist auch massereicher als alle\n"
 "159 bekannten Monde des Sonnensystems zusammen.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1124,6 +1512,7 @@ msgstr ""
 "Datensätze können aus Listen mit Ctrl + C kopiert werden\n"
 "und in beliebige Anwendungen mit Ctrl + V eingefügt werden.\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1133,64 +1522,84 @@ msgstr ""
 "\n"
 "Graphiken können per Rechts-Klick als PNG-Datei gespeichert werden.\n"
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "Tipps"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "_Tipps beim Start von Tryton anzeigen"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Als CSV exportieren"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Vordefinierte Exporte</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Alle Felder</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Leeren"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Export speichern"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Export löschen"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Zu exportierende Felder</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Optionen</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Öffnen"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Feldnamen _hinzufügen"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Name"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "Wie soll der Name des Exports lauten?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Definition von '%s' nicht berücksichtigen?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
-msgstr "%d Datensatz gespeichert"
+msgstr "%d Datensatz gespeichert."
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
-msgstr "%d Datensätze gespeichert"
+msgstr "%d Datensätze gespeichert."
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1201,251 +1610,322 @@ msgstr ""
 "Fehlermeldung:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Verknüpfung"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Hinzufügen"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Entfernen <Entf>"
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Neuen Datensatz erstellen <F3>"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Ausgewählte Datensätze löschen <Entf>"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Löschung der ausgewählten Datensätze rückgängig machen <Einfg>"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Aus CSV Datei importieren"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Automatische Erkennung"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Zu importierende Felder</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Importdatei:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Öffnen..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "CSV Parameter"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Feldtrennzeichen:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Texttrennzeichen:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Kodierung:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Zu überspringende Zeilen:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Feldname"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Zuerst muss eine Importdatei ausgewählt werden!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Fehler beim öffnen der CSV-Datei"
 
+#: tryton/gui/window/win_import.py:292
 #, 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:367
 #, python-format
 msgid "%d record imported!"
-msgstr "%d Datensatz importiert"
+msgstr "%d Datensatz importiert."
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
-msgstr "%d Datensätze importiert"
+msgstr "%d Datensätze importiert."
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "Wizard"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
 msgstr "Erstellt von"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
 msgstr "Erstellt am"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
 msgstr "Zuletzt verändert von"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
 msgstr "Zuletzt verändert am"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 msgid "Unable to get view tree state"
-msgstr "Kann Sicht für den Menübaum nicht finden"
+msgstr "Kann Sicht für den Menübaum nicht finden."
 
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to set view tree state"
-msgstr "Kann Sicht für den Menübaum nicht anwenden"
+msgstr "Kann Sicht für den Menübaum nicht anwenden."
+
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, 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:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr "In Feld \"%s\" ist ein Eintrag erforderlich."
 
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, 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:948
+msgid "Pre-validation"
+msgstr "Vorvalidierung"
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Speichern unter..."
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Bildgröße"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Breite:"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "Höhe:"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 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/screen_container.py:24
 msgid ".."
 msgstr ".."
 
+#: tryton/gui/window/view_form/view/screen_container.py:144
 msgid "F_ilters"
 msgstr "F_ilter"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr "Filterlesezeichen anzeigen"
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr "Dieses Lesezeichen entfernen"
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr "Diesen Filter als Lesezeichen hinzufügen"
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr "Lesezeichenname:"
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Suchen"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Heute"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Wochenansicht"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Monatsansicht"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Woche"
 
-msgid "Select a File..."
-msgstr "Datei auswählen..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr "Auswählen..."
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Alle Dateien"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr "Auswählen"
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr "Klartext anzeigen"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr "Wert hinzufügen"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "\"%s\" entfernen"
 
-msgid "Select an Image..."
-msgstr "Bild auswählen..."
-
-msgid "All files"
-msgstr "Alle Dateien"
-
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
 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
 msgid "Add existing record"
 msgstr "Bestehenden Datensatz hinzufügen"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 msgid "Remove selected record <Del>"
 msgstr "Ausgewählten Datensatz löschen <Entf>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Open a record <F2>"
 msgstr "Datensatz öffnen <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 msgid "Search a record <F2>"
 msgstr "Datensatz suchen <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 msgid "Remove selected record"
 msgstr "Ausgewählten Datensatz löschen <Entf>"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 msgid "Edit selected record <F2>"
 msgstr "Ausgewählten Datensatz bearbeiten <F2>"
 
-msgid "Change text to bold"
-msgstr "Fett"
-
-msgid "Change text to italic"
-msgstr "Kursiv"
-
-msgid "Change text to underline"
-msgstr "Unterstrichen"
-
-msgid "Choose font-family"
-msgstr "Schriftname"
-
-msgid "Choose font-size"
-msgstr "Schriftgröße"
-
-msgid "Justify of line to the left"
-msgstr "Linksbündig"
-
-msgid "Justify of line to the center"
-msgstr "Zentriert"
-
-msgid "Justify of line to the right"
-msgstr "Rechtsbündig"
-
-msgid "Justify of line to fill window"
-msgstr "Blocksatz"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
 
-msgid "Change the foreground text"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
 msgstr "Vordergrund"
 
-msgid "Change the background text"
-msgstr "Hintergrund"
-
-msgid "Change the markup text view"
-msgstr "Markup"
-
-msgid "Select a foreground color"
-msgstr "Zeichenfarbe"
-
-msgid "Select a background color"
-msgstr "Hintergrundfarbe"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+msgid "Select a color"
+msgstr "Eine Farbe auswählen"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
 msgid "Translation"
 msgstr "Übersetzung"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr "Bearbeiten"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 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!"
 msgstr ""
 "Der Datensatz muss gespeichert werden, bevor eine Übersetzung hinzugefügt "
-"werden kann!"
+"werden kann."
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
 msgid "No other language available!"
-msgstr "Keine anderen Sprachen verfügbar!"
+msgstr "Keine anderen Sprachen verfügbar."
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Aktuelle Sicht übersetzen"
diff --git a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..0108f96
Binary files /dev/null and b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_AR/LC_MESSAGES/tryton.po b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
similarity index 54%
rename from share/locale/es_AR/LC_MESSAGES/tryton.po
rename to tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
index f85cd30..478c9f4 100644
--- a/share/locale/es_AR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
@@ -2,93 +2,110 @@
 # 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 ""
-"Project-Id-Version: tryton 3.6.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2015-04-16 21:23-0300\n"
-"Last-Translator: Bruno M. Villasanti <bvillasanti at thymbra.com>\n"
-"Language-Team: Argentina\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+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:176
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
+#: tryton/action/main.py:182
 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:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 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"
@@ -106,48 +123,62 @@ msgstr ""
 "   - \"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:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 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:1098
+#: 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."
+"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!"
@@ -155,22 +186,24 @@ 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
-"¡La huella de seguridad del servidor ha cambiado desde la última "
-"conexión!\n"
-"La aplicación no se podrá conectar a este servidor hasta que se corrija "
-"la huella de seguridad del servidor."
+"¡La huella de seguridad del servidor ha cambiado desde la última conexión!\n"
+"La aplicación no se podrá conectar a este servidor hasta que se corrija la huella de seguridad del servidor."
 
+#: tryton/common/common.py:1034
 msgid "Security risk!"
 msgstr "¡Riesgo de seguridad!"
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -178,232 +211,321 @@ msgstr ""
 "¡Error de conexión!\n"
 "¡No ha sido posible conectarse al servidor!"
 
+#: tryton/common/common.py:1119
 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:507
 msgid "True"
 msgstr "Verdadero"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Falso"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Editar..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionado..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimir..."
 
+#: tryton/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"
+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"
 
-msgid "Search"
-msgstr "Buscar"
-
+#: 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:330
+#: 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"
+"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?"
@@ -411,6 +533,7 @@ 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."
@@ -418,21 +541,29 @@ 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"
+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."
@@ -440,9 +571,11 @@ 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."
@@ -450,15 +583,19 @@ 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."
@@ -466,181 +603,226 @@ 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!"
+msgstr ""
+"¡La copia de seguridad de la base de datos ha finalizado correctamente!"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Nuevo"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Guardar este registro"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: 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:35
 msgid "Switch view"
 msgstr "Cambiar vista"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Recargar"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Recargar"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nuevo"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Cambiar vi_sta"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"This is the URL of the Tryton server. Use server 'localhost' and port '8000'"
+" if the server is installed on this computer. Click on 'Change' to change "
+"the address."
 msgstr ""
-"Esta es la URL del servidor Tryton. Use el servidor «localhost» y el "
-"puerto «8000» si el servidor está instalado en este ordenador. Pulse en "
-"«Cambiar» para cambiar la dirección."
+"Esta es la URL del servidor Tryton. Use el servidor «localhost» y el puerto "
+"«8000» si el servidor está instalado en este ordenador. Pulse en «Cambiar» "
+"para cambiar la dirección."
 
+#: tryton/gui/window/dbcreate.py: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"
+"3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "¡No se ha podido conectar al servidor!\n"
 "1. Revise si el servidor se está ejecutando.\n"
 "2. Averigüe en qué dirección y puerto está escuchando.\n"
-"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que "
-"la dirección y el puerto (normalmente 8000) del servidor no están "
-"bloqueados.\n"
+"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
+#: tryton/gui/window/dbcreate.py: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."
+"This is the URL of the server. Use server 'localhost' and port '8000' if the"
+" server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Esta es la URL del servidor. Use el servidor «localhost» y el puerto "
-"«8000» si el servidor está instalado en este ordenador. Pulse en "
-"«Cambiar» para cambiar la dirección."
+"Esta es la URL del servidor. Use el servidor «localhost» y el puerto «8000» "
+"si el servidor está instalado en este ordenador. Pulse en «Cambiar» para "
+"cambiar la dirección."
 
+#: tryton/gui/window/dbcreate.py: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."
+"This is the password of the Tryton server. It doesn't belong to a real user."
+" This password is usually defined in the trytond configuration."
 msgstr ""
-"Esta es la contraseña del servidor Tryton. No corresponde a un usuario "
-"real. Esta contraseña se define en la configuración de trytond."
+"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real."
+" Esta contraseña se define en la configuración de trytond."
 
+#: tryton/gui/window/dbcreate.py: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"
+"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 "
+"Choose the default language that will be installed for this database. You "
+"will be able to install new languages after installation through the "
 "administration menu."
 msgstr ""
-"Elija el idioma por defecto que se instalará para esta base de datos. "
-"Podrá instalar nuevos idiomas después de la instalación, a través del "
-"menú de administración."
+"Elija el idioma por defecto que se instalará para esta base de datos. Podrá "
+"instalar nuevos idiomas después de la instalación, a través del menú de "
+"administración."
 
+#: tryton/gui/window/dbcreate.py: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"
+"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"
+"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."
@@ -648,129 +830,168 @@ 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"
+"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"
+"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_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Añadir"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
+#: tryton/gui/window/dblogin.py:70 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"
@@ -782,12 +1003,15 @@ msgstr ""
 "¡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."
@@ -795,148 +1019,198 @@ 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:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: 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:41
 msgid "Previous Record"
 msgstr "Registro anterior"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: 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:42
 msgid "Next Record"
 msgstr "Registro siguiente"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Anterior"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Sig_uiente"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Buscar"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Acciones..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Informe..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "Im_primir..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-msgid "You have to select one record!"
-msgstr "¡Debe seleccionar un registro!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr "Debe seleccionar un registro."
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Creado por:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Modelo:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-msgid "Records not removed!"
-msgstr "¡Los registros no se han eliminado!"
-
-msgid "Records removed!"
-msgstr "¡Registros eliminados!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr "Los registros no se han eliminado."
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "¡Ahora está trabajando en el registro duplicado!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr "Registros eliminados."
 
-msgid "Record saved!"
-msgstr "¡Registro guardado!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr "Ahora está trabajando en registro(s) duplicado(s)."
 
-msgid "Invalid form!"
-msgstr "¡Formulario no válido!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr "Registro guardado."
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " de "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -944,117 +1218,245 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Acción"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Ejecutar acción"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "_Relacionado"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Informes"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Abrir informe"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Email"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Informe por email"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Imprimir"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Imprimir informe"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 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"
@@ -1064,6 +1466,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1071,8 +1474,7 @@ msgid ""
 "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"
+"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"
@@ -1086,11 +1488,11 @@ msgstr ""
 "con una órbita retrógrada, esto es, que orbita en dirección opuesta\n"
 "a la rotación del planeta.  Con 2.700 km de diámetro. es la séptima luna\n"
 "en tamaño del Sistema Solar. Triton cuenta con más del 99.5 porciento\n"
-"de toda la masa que orbita a Neptuno, incluyendo los anillos del planeta "
-"y\n"
+"de toda la masa que orbita a Neptuno, incluyendo los anillos del planeta y\n"
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1102,6 +1504,7 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1109,67 +1512,86 @@ msgid ""
 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"
+"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_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportaciones predeterminadas</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Limpiar"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Guardar exportación"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Eliminar exportación"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Nombre"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "¿Sobrescribir definición de '%s'?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "¡Se ha guardado %d registro!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "¡Se han guardado %d registros!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1180,250 +1602,320 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Añadir"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
+#: tryton/gui/window/win_form.py:155
+#: 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:167
+#: 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:181
+#: 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:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-detectar"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Abrir..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Separador de campo:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Codificación:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Líneas a omitir:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Nombre del campo"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "¡Primero debe elegir un archivo a importar!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
+#: tryton/gui/window/win_import.py:292
 #, 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:367
 #, python-format
 msgid "%d record imported!"
 msgstr "¡Se ha importado %d registro!"
 
+#: tryton/gui/window/win_import.py:369
 #, 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:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
 msgstr "Creado por:"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
 msgstr "Fecha de creación:"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
 msgstr "Última modificación por:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 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:710
 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:886
+#, 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:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr "«%s» es requerido"
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, 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:948
+msgid "Pre-validation"
+msgstr "Pre-validación"
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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:538
 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"
 
-msgid "Select a File..."
-msgstr "Seleccione un archivo..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr "Seleccionar..."
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Todos los archivos"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+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:356
 msgid "Add value"
 msgstr "Añadir un valor"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
 
-msgid "Select an Image..."
-msgstr "Seleccione una imagen..."
-
-msgid "All files"
-msgstr "Todos los archivos"
-
+#: 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:293
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 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>"
 
-msgid "Change text to bold"
-msgstr "Cambiar texto a negrita"
-
-msgid "Change text to italic"
-msgstr "Cambiar texto a cursiva"
-
-msgid "Change text to underline"
-msgstr "Cambiar texto a subrallado"
-
-msgid "Choose font-family"
-msgstr "Elegir tipo de letra"
-
-msgid "Choose font-size"
-msgstr "Elegir tamaño de letra"
-
-msgid "Justify of line to the left"
-msgstr "Alinear la línea a la izquierda"
-
-msgid "Justify of line to the center"
-msgstr "Centrar la línea"
-
-msgid "Justify of line to the right"
-msgstr "Alinear la línea a la derecha"
-
-msgid "Justify of line to fill window"
-msgstr "Justificar la línea para rellenar ventana"
-
-msgid "Change the foreground text"
-msgstr "Cambiar el texto principal"
-
-msgid "Change the background text"
-msgstr "Cambiar color de fondo"
-
-msgid "Change the markup text view"
-msgstr "Cambiar el texto de marcado"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
 
-msgid "Select a foreground color"
-msgstr "Seleccionar color principal"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr "Color de texto"
 
-msgid "Select a background color"
-msgstr "Seleccionar color de fondo"
+#: 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
new file mode 100644
index 0000000..54453ae
Binary files /dev/null and b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_CO/LC_MESSAGES/tryton.po b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
similarity index 56%
rename from share/locale/es_CO/LC_MESSAGES/tryton.po
rename to tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
index d0d4a7e..e1b9496 100644
--- a/share/locale/es_CO/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
@@ -3,94 +3,110 @@
 # 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 ""
-"Project-Id-Version: tryton 3.4.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2015-04-16 15:41-0500\n"
-"Last-Translator: Oscar Alvarez <oscar.alvarez.montero at gmail.com>\n"
-"Language-Team: Colombia <oscar.alvarez.montero at gmail.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
-"X-Generator: Poedit 1.5.4\n"
+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:176
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
+#: tryton/action/main.py:182
 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:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 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"
@@ -108,48 +124,62 @@ msgstr ""
 "   - \"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:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 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:1098
+#: 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."
+"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!"
@@ -157,21 +187,24 @@ 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."
+"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."
+"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:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -179,222 +212,309 @@ msgstr ""
 "Error de conexión!\n"
 "No ha sido posible conectarse al servidor!"
 
+#: tryton/common/common.py:1119
 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:507
 msgid "True"
 msgstr "Verdadero"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Falso"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "_Editar..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relación..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Reporte..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correo Electrónico..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimir..."
 
+#: tryton/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"
+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"
 
-msgid "Search"
-msgstr "Buscar"
-
+#: 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 ""
+
+#: 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:330
+#: 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?"
@@ -402,9 +522,11 @@ 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?"
@@ -412,6 +534,7 @@ 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."
@@ -419,22 +542,29 @@ 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."
@@ -442,9 +572,11 @@ 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."
@@ -452,15 +584,19 @@ 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."
@@ -468,132 +604,170 @@ 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"
+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:31
 msgid "New"
 msgstr "Nuevo"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Guardar este registro"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: 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:35
 msgid "Switch view"
 msgstr "Cambiar vista"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Recargar"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Recargar"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nuevo"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Cambiar Vi_sta"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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."
+"«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"
+"3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "No se ha podido conectar al servidor!\n"
 "1. Revise si el servidor se está ejecutando.\n"
 "2. Averigüe en qué dirección y puerto está escuchando.\n"
-"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la "
-"dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
+"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
+#: tryton/gui/window/dbcreate.py: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 "
+"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."
+"This is the password of the Tryton server. It doesn't belong to a real user."
+" This password is usually defined in the trytond configuration."
 msgstr ""
-"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real. "
-"Esta contraseña se suele definir en la configuración de trytond."
+"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real."
+" Esta contraseña se suele definir en la configuración de trytond."
 
+#: tryton/gui/window/dbcreate.py: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"
@@ -603,46 +777,53 @@ msgstr ""
 "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 "
+"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"
+"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"
+"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."
@@ -650,129 +831,168 @@ 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"
+"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"
+"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_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Agregar"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
+#: tryton/gui/window/dblogin.py:70 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"
@@ -784,12 +1004,15 @@ msgstr ""
 "¡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."
@@ -797,148 +1020,198 @@ 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:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: 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:41
 msgid "Previous Record"
 msgstr "Registro Anterior"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: 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:42
 msgid "Next Record"
 msgstr "Registro Siguiente"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Agregar un adjunto al registro"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Anterior"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Sig_uiente"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Buscar"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Mostrar revisiones..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Acciones..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Relación..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Reporte..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Correo Electrónico..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "Im_primir..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Exportar Datos..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Importar Datos..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-msgid "You have to select one record!"
-msgstr "Debe seleccionar un registro!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Creado por Usuario:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Fecha de Creación:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Última Modificación por:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Fecha de Última Modificación:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Modelo:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Está seguro que quiere eliminar este registro?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Está seguro que quiere eliminar estos registros?"
 
-msgid "Records not removed!"
-msgstr "Los registros no se han eliminado!"
-
-msgid "Records removed!"
-msgstr "Registros eliminados!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Está trabajando ahora registro(s) duplicado(s)!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
 
-msgid "Record saved!"
-msgstr "¡Registro guardado!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
 
-msgid "Invalid form!"
-msgstr "¡Formulario no válido!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " de "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -946,117 +1219,245 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Acción"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Lanzar acción"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "Relación"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Reporte"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Abrir reporte"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Email"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Reporte por email"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Imprimir"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Imprimir reporte"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 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 ""
+
+#: 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"
@@ -1066,6 +1467,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1073,8 +1475,7 @@ msgid ""
 "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"
+"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"
@@ -1092,6 +1493,7 @@ msgstr ""
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1103,6 +1505,7 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1110,67 +1513,86 @@ msgid ""
 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"
+"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_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportaciones predeterminadas</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Limpiar"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Guardar Exportación"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Eliminar Exportación"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Nombre"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobreescribir '%s' definición?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "%d registro guardado!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "%d registros guardados!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1181,249 +1603,320 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Añadir"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
+#: tryton/gui/window/win_form.py:155
+#: 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:167
+#: 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:181
+#: 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:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-Detectar"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Abrir..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Separador de Campo:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Codificación:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Líneas a Omitir:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Nombre del campo"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Primero debe elegir un archivo a importar!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
+#: tryton/gui/window/win_import.py:292
 #, 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:367
 #, python-format
 msgid "%d record imported!"
 msgstr "%d registro importado!"
 
+#: tryton/gui/window/win_import.py:369
 #, 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:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
 msgstr "Creado por Usuario"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
 msgstr "Fecha de Creación"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
 msgstr "Modificado por Usuario"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
 msgstr "Fecha de Modificación"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 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:710
 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:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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:538
 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"
 
-msgid "Select a File..."
-msgstr "Seleccione un archivo..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Todos los archivos"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+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:356
 msgid "Add value"
 msgstr "Agregar valor"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Remover \"%s\""
 
-msgid "Select an Image..."
-msgstr "Seleccione una Imagen..."
-
-msgid "All files"
-msgstr "Todos los archivos"
-
+#: 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:293
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 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>"
 
-msgid "Change text to bold"
-msgstr "Cambiar texto a negrita"
-
-msgid "Change text to italic"
-msgstr "Cambiar texto a cursiva"
-
-msgid "Change text to underline"
-msgstr "Cambiar texto a subrallado"
-
-msgid "Choose font-family"
-msgstr "Escojer tipo de letra"
-
-msgid "Choose font-size"
-msgstr "Escojer tamaño de letra"
-
-msgid "Justify of line to the left"
-msgstr "Alinear la línea a la izquierda"
-
-msgid "Justify of line to the center"
-msgstr "Centrar la línea"
-
-msgid "Justify of line to the right"
-msgstr "Alinear la línea a la derecha"
-
-msgid "Justify of line to fill window"
-msgstr "Justificar la línea para rellenar ventana"
-
-msgid "Change the foreground text"
-msgstr "Cambiar el texto principal"
-
-msgid "Change the background text"
-msgstr "Cambiar color de fondo"
-
-msgid "Change the markup text view"
-msgstr "Cambiar el texto de marcado"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr ""
 
-msgid "Select a foreground color"
-msgstr "Seleccionar color principal"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr ""
 
-msgid "Select a background color"
-msgstr "Seleccionar color de fondo"
+#: 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 "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
new file mode 100644
index 0000000..8f150cf
Binary files /dev/null and b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_EC/LC_MESSAGES/tryton.po b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
similarity index 51%
rename from share/locale/es_EC/LC_MESSAGES/tryton.po
rename to tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
index b9dd166..00c8231 100644
--- a/share/locale/es_EC/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
@@ -3,93 +3,110 @@
 # 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 ""
-"Project-Id-Version: tryton 3.3.dev0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2014-09-01 15:13-0500\n"
-"Last-Translator: Fabian Calle <fabianc7 at gmail.com>\n"
-"Language-Team: Ecuador <fabianc7 at gmail.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+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:176
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
+#: tryton/action/main.py:182
 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:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 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"
+msgstr "Excepción de concurrencia"
 
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -104,51 +121,65 @@ msgstr ""
 "Este registro ha sido modificado mientras lo editaba.\n"
 "  Elija:\n"
 "   - \"Cancelar\" para no guardar;\n"
-"   - \"Comparar\" para ver la versión modificada:\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:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Error"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
-msgstr "Informar Error"
+msgstr "Informar de un error"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
-msgstr "¡Error de Aplicación!"
+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"
+msgstr "Seguimiento de errores"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Usuario:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: 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."
+"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!"
@@ -156,22 +187,24 @@ 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."
+"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."
+"¡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!"
+msgstr "¡Riesgo de seguridad!"
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -179,222 +212,309 @@ msgstr ""
 "¡Error de conexión!\n"
 "¡No ha sido posible conectarse al servidor!"
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
-msgstr "¡Error de Red!"
+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:507
 msgid "True"
 msgstr "Verdadero"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Falso"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Editar..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionado..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
-msgstr "Correo Electrónico..."
+msgstr "Correo electrónico..."
 
+#: tryton/common/popup_menu.py:96
 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"
+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"
 
-msgid "Search"
-msgstr "Buscar"
-
+#: 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..."
+msgstr "_Nueva base de datos..."
 
+#: tryton/gui/main.py:434
 msgid "_Restore Database..."
-msgstr "_Restaurar Base de Datos..."
+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..."
+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ú"
+msgstr "_Recargar menú"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
-msgstr "Conmutar _Menú"
+msgstr "Conmutar _menú"
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
-msgstr "Búsqueda _Global"
+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"
+msgstr "Por _defecto"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
-msgstr "_Texto e Iconos"
+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ú"
+msgstr "Barra de _menú"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
-msgstr "Cambiar Teclas Rápidas"
+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"
+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"
+msgstr "Corrección ortográfica"
 
+#: tryton/gui/main.py:655
 msgid "_Previous Tab"
-msgstr "_Pestaña Anterior"
+msgstr "_Pestaña anterior"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
-msgstr "_Siguiente Pestaña"
+msgstr "_Siguiente pestaña"
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
-msgstr "Límite de Búsqueda..."
+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"
+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:330
+#: 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?"
@@ -402,9 +522,11 @@ 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?"
@@ -412,6 +534,7 @@ 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."
@@ -419,21 +542,29 @@ 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"
+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!"
+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..."
+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."
@@ -441,9 +572,11 @@ 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."
@@ -451,15 +584,20 @@ 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"
+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."
@@ -467,181 +605,226 @@ 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!"
+msgstr ""
+"¡La copia de seguridad de la base de datos ha finalizado correctamente!"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Nuevo"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Guardar este registro"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: 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:35
 msgid "Switch view"
 msgstr "Cambiar vista"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Recargar"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Recargar"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nuevo"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Cambiar Vi_sta"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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."
+"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"
+"3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "¡No se ha podido conectar al servidor!\n"
 "1. Revise si el servidor se está ejecutando.\n"
 "2. Averigüe en qué dirección y puerto está escuchando.\n"
-"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que "
-"la dirección y el puerto (normalmente 8000) del servidor no están "
-"bloqueados.\n"
+"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
+#: tryton/gui/window/dbcreate.py: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:"
+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."
+"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."
+"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:"
+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."
+"This is the password of the Tryton server. It doesn't belong to a real user."
+" This password is usually defined in the trytond configuration."
 msgstr ""
-"Esta es la contraseña del servidor Tryton. No corresponde a un usuario "
-"real. Esta contraseña se suele definir en la configuración de trytond."
+"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real."
+" Esta contraseña se suele definir en la configuración de trytond."
 
+#: tryton/gui/window/dbcreate.py: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"
+"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 "
+"Choose the default language that will be installed for this database. You "
+"will be able to install new languages after installation through the "
 "administration menu."
 msgstr ""
-"Escoja el idioma por defecto que se instalará para esta base de datos. "
-"Podrá instalar nuevos idiomas después de la instalación, a través del "
-"menú de administración."
+"Escoja el idioma por defecto que se instalará para esta base de datos. Podrá"
+" instalar nuevos idiomas después de la instalación, a través del menú de "
+"administración."
 
+#: tryton/gui/window/dbcreate.py: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"
+"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"
+"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"
+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 "
+"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."
@@ -649,129 +832,168 @@ 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!"
+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"
+"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"
+"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!"
+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:"
+msgstr "Base de datos:"
 
+#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
-msgstr "Editor de Perfiles"
+msgstr "Editor de perfiles"
 
+#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Perfil"
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Añadir"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
+#: tryton/gui/window/dblogin.py:70 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 "Conexión"
+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"
@@ -783,12 +1005,15 @@ msgstr ""
 "¡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."
@@ -796,148 +1021,198 @@ 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:"
+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:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: 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:41
 msgid "Previous Record"
-msgstr "Registro Anterior"
+msgstr "Registro anterior"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: 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:42
 msgid "Next Record"
-msgstr "Registro Siguiente"
+msgstr "Registro siguiente"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Anterior"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Sig_uiente"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Buscar"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Acciones..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Informes..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "Im_primir..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-msgid "You have to select one record!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
 msgstr "¡Debe seleccionar un registro!"
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
-msgstr "Creado por Usuario:"
+msgstr "Creado por usuario:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
-msgstr "Fecha de Creación:"
+msgstr "Fecha de creación:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
-msgstr "Última Modificación por:"
+msgstr "Última modificación por:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
-msgstr "Fecha de Última Modificación:"
+msgstr "Fecha de última modificación:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Modelo:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-msgid "Records not removed!"
-msgstr "¡Los registros no se han eliminado!"
-
-msgid "Records removed!"
-msgstr "¡Registros eliminados!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr "Los registros no se han eliminado."
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "¡Ahora está trabajando en registro(s) duplicado(s)!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr "Registros eliminados."
 
-msgid "Record saved!"
-msgstr "¡Registro guardado!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr "Ahora está trabajando en registro(s) duplicado(s)."
 
-msgid "Invalid form!"
-msgstr "¡Formulario no válido!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr "Registro guardado."
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " de "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -945,117 +1220,245 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Acción"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Lanzar acción"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "Relacionado"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Informes"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Abrir informe"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Email"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Informe por email"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Imprimir"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Imprimir informe"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 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"
+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"
+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:"
+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 "Controles de Edición"
+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"
@@ -1065,6 +1468,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1072,8 +1476,7 @@ msgid ""
 "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"
+"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"
@@ -1087,11 +1490,11 @@ msgstr ""
 "con una órbita retrógrada, esto es, que orbita en dirección opuesta\n"
 "a la rotación del planeta.  Con 2.700 km de diámetro. es la séptima luna\n"
 "en tamaño del Sistema Solar. Triton cuenta con más del 99.5 porciento\n"
-"de toda la masa que orbita a Neptuno, incluyendo los anillos del planeta "
-"y\n"
+"de toda la masa que orbita a Neptuno, incluyendo los anillos del planeta y\n"
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1103,6 +1506,7 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1110,67 +1514,86 @@ msgid ""
 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"
+"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_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportaciones predefinidas</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Limpiar"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
-msgstr "Guardar Exportación"
+msgstr "Guardar exportación"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
-msgstr "Eliminar Exportación"
+msgstr "Eliminar exportación"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Nombre"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "¿Sobreescribir la definición de '%s'?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "¡%d registro guardado!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "¡%d registros guardados!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1181,250 +1604,320 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Añadir"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
+#: tryton/gui/window/win_form.py:155
+#: 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:167
+#: 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:181
+#: 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:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-Detectar"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Abrir..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Separador de Campo:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Codificación:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Líneas a omitir:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Nombre del campo"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "¡Primero debe seleccionar un archivo a importar!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
+#: tryton/gui/window/win_import.py:292
 #, 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:367
 #, python-format
 msgid "%d record imported!"
 msgstr "¡%d registro importado!"
 
+#: tryton/gui/window/win_import.py:369
 #, 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:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
-msgstr "Creado por Usuario"
+msgstr "Creado por usuario"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
-msgstr "Fecha de Creación"
+msgstr "Fecha de creación"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
-msgstr "Modificado por Usuario"
+msgstr "Modificado por usuario"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
-msgstr "Fecha de Modificación"
+msgstr "Fecha de modificación"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 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:710
 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:886
+#, 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:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr "Se requiere \"%s\""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, 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:948
+msgid "Pre-validation"
+msgstr "Prevalidación"
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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"
+msgstr "Guardar como"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
-msgstr "Tamaño de la Imagen"
+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:538
 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"
 
-msgid "Select a File..."
-msgstr "Seleccionar un archivo..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr "Seleccionar…"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Todos los archivos"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+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:356
 msgid "Add value"
 msgstr "Añadir un valor"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
 
-msgid "Select an Image..."
-msgstr "Seleccionar una imagen..."
-
-msgid "All files"
-msgstr "Todos los archivos"
-
+#: 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:293
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 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>"
 
-msgid "Change text to bold"
-msgstr "Cambiar texto a negrita"
-
-msgid "Change text to italic"
-msgstr "Cambiar texto a cursiva"
-
-msgid "Change text to underline"
-msgstr "Cambiar texto a subrallado"
-
-msgid "Choose font-family"
-msgstr "Elegir tipo de letra"
-
-msgid "Choose font-size"
-msgstr "Elegir tamaño de letra"
-
-msgid "Justify of line to the left"
-msgstr "Alinear a la izquierda"
-
-msgid "Justify of line to the center"
-msgstr "Centrar la línea"
-
-msgid "Justify of line to the right"
-msgstr "Alinear a la derecha"
-
-msgid "Justify of line to fill window"
-msgstr "Justificar la línea para rellenar ventana"
-
-msgid "Change the foreground text"
-msgstr "Cambiar el texto principal"
-
-msgid "Change the background text"
-msgstr "Cambiar color de fondo"
-
-msgid "Change the markup text view"
-msgstr "Cambiar el texto de marcado"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
 
-msgid "Select a foreground color"
-msgstr "Seleccionar color principal"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr "Color de texto"
 
-msgid "Select a background color"
-msgstr "Seleccionar color de fondo"
+#: 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
new file mode 100644
index 0000000..09931c7
Binary files /dev/null and b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
similarity index 55%
copy from share/locale/es_ES/LC_MESSAGES/tryton.po
copy to tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
index ac79870..b489b27 100644
--- a/share/locale/es_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
@@ -7,94 +7,110 @@
 # Carlos Perelló Marín <carlos at pemas.es>, 2008-2009.
 # Sergi Almacellas Abellana <sergi at koolpi.com> 2012.
 # Jordi Esteve Cusiné <jesteve at zikzakmedia.com> 2012.
-#
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 2.4.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-04-16 17:31+0200\n"
-"PO-Revision-Date: 2015-04-16 17:35+0100\n"
-"Last-Translator: Sergi Almacellas Abellana <sergi at koolpi.com>\n"
-"Language-Team:  <tryton-es at googlegroups.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
-"X-Generator: Poedit 1.5.4\n"
+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 log: 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:176
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
+#: tryton/action/main.py:182
 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:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 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"
@@ -109,51 +125,65 @@ msgstr ""
 "Este registro ha sido modificado mientras lo editaba.\n"
 "  Elija:\n"
 "   - \"Cancelar\" para no guardar;\n"
-"   - \"Comparar\" para ver la versión modificada:\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:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Error"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
-msgstr "Informar de un error"
+msgstr "Informar del 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:1098
+#: 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."
+"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"
+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!"
@@ -161,254 +191,346 @@ 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "La huella de seguridad del servidor ha cambiado desde la última conexión. \n"
-"La aplicación no se podrá conectar a este servidor hasta que se corrija la "
-"huella de seguridad del servidor."
+"La 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:1104
+#: 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."
+"No ha sido posible conectarse con el servidor."
 
+#: tryton/common/common.py:1119
 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:507
 msgid "True"
 msgstr "Verdadero"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Falso"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Editar..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionado..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimir..."
 
+#: tryton/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"
+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 "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"
 
+#: 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:330
+#: 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"
+"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?"
@@ -416,6 +538,7 @@ 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."
@@ -423,22 +546,29 @@ 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."
@@ -446,9 +576,11 @@ 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."
@@ -456,15 +588,19 @@ 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."
@@ -472,131 +608,170 @@ 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"
+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."
+msgstr ""
+"La copia de seguridad de la base de datos ha finalizado correctamente."
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Nuevo"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Guardar este registro"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: 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:35
 msgid "Switch view"
-msgstr "Cambiar vista"
+msgstr "Cambiar de vista"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Recargar"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Recargar"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nuevo"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Cambiar vi_sta"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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"
+"3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "No se ha podido conectar al servidor\n"
 "1. Revise si el servidor se está ejecutando.\n"
 "2. Averigüe en qué dirección y puerto está escuchando.\n"
-"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la "
-"dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
+"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
+#: tryton/gui/window/dbcreate.py: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 "
+"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."
+"This is the password of the Tryton server. It doesn't belong to a real user."
+" This password is usually defined in the trytond configuration."
 msgstr ""
-"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real. "
-"Esta contraseña se define en la configuración de trytond."
+"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real."
+" Esta contraseña se define en la configuración de trytond."
 
+#: tryton/gui/window/dbcreate.py: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"
@@ -606,9 +781,11 @@ msgstr ""
 "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 "
@@ -618,34 +795,39 @@ msgstr ""
 "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"
+"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"
+"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."
@@ -653,129 +835,168 @@ 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"
+"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"
+"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_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Añadir"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
+#: tryton/gui/window/dblogin.py:70 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"
@@ -787,12 +1008,15 @@ msgstr ""
 "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."
@@ -800,148 +1024,198 @@ 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:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: 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:41
 msgid "Previous Record"
 msgstr "Registro anterior"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: 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:42
 msgid "Next Record"
 msgstr "Registro siguiente"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Anterior"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Sig_uiente"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Buscar"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Ver _registro..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Acciones..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Informes..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "Im_primir..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-msgid "You have to select one record!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
 msgstr "Debe elegir un registro."
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Creado por:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Modelo:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-msgid "Records not removed!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
 msgstr "Los registros no se han eliminado."
 
-msgid "Records removed!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
 msgstr "Registros eliminados."
 
-msgid "Working now on the duplicated record(s)!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
 msgstr "Ahora está trabajando en el registro duplicado."
 
-msgid "Record saved!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
 msgstr "Registro guardado."
 
-msgid "Invalid form!"
-msgstr "Formulario incorrecto."
-
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " de "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -949,117 +1223,245 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Acción"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Ejecutar acción"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "_Relacionado"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Informes"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Abrir informe"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Email"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Informe por email"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Imprimir"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Imprimir informe"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 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 "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 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 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"
@@ -1069,6 +1471,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1076,8 +1479,7 @@ msgid ""
 "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"
+"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"
@@ -1095,6 +1497,7 @@ msgstr ""
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1106,6 +1509,7 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1113,67 +1517,86 @@ msgid ""
 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"
+"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_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportaciones predeterminadas</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Limpiar"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Guardar exportación"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Eliminar exportación"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Nombre"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobrescribir la definición de '%s'?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "Se ha guardado %d registro."
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "Se han guardado %d registros."
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1184,249 +1607,320 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Añadir"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
+#: tryton/gui/window/win_form.py:155
+#: 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:167
+#: 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:181
+#: 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:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-detectar"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Abrir..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Separador de campo:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Codificación:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Líneas a omitir:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Nombre del campo"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Primero debe elegir un archivo a importar."
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
+#: tryton/gui/window/win_import.py:292
 #, 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:367
 #, python-format
 msgid "%d record imported!"
 msgstr "Se ha importado %d registro."
 
+#: tryton/gui/window/win_import.py:369
 #, 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:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
 msgstr "Creado por:"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
 msgstr "Fecha de creación:"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
 msgstr "Última modificación por:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 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:710
 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:886
+#, 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:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr "\"%s\" es obligatorio."
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, 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:948
+msgid "Pre-validation"
+msgstr "Prevalidación"
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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:538
 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"
 
-msgid "Select a File..."
-msgstr "Seleccionar un archivo..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr "Seleccionar…"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Todos los archivos"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+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:356
 msgid "Add value"
 msgstr "Añadir un valor"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
 
-msgid "Select an Image..."
-msgstr "Seleccionar una imagen..."
-
-msgid "All files"
-msgstr "Todos los archivos"
-
+#: 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:293
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 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>"
 
-msgid "Change text to bold"
-msgstr "Cambiar texto a negrita"
-
-msgid "Change text to italic"
-msgstr "Cambiar texto a cursiva"
-
-msgid "Change text to underline"
-msgstr "Cambiar texto a subrallado"
-
-msgid "Choose font-family"
-msgstr "Elegir tipo de letra"
-
-msgid "Choose font-size"
-msgstr "Elegir tamaño de letra"
-
-msgid "Justify of line to the left"
-msgstr "Alinear la línea a la izquierda"
-
-msgid "Justify of line to the center"
-msgstr "Centrar la línea"
-
-msgid "Justify of line to the right"
-msgstr "Alinear la línea a la derecha"
-
-msgid "Justify of line to fill window"
-msgstr "Justificar la línea para rellenar ventana"
-
-msgid "Change the foreground text"
-msgstr "Cambiar el texto principal"
-
-msgid "Change the background text"
-msgstr "Cambiar color de fondo"
-
-msgid "Change the markup text view"
-msgstr "Cambiar el texto de marcado"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
 
-msgid "Select a foreground color"
-msgstr "Seleccionar color principal"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr "Primer plano"
 
-msgid "Select a background color"
-msgstr "Seleccionar color de fondo"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+msgid "Select a color"
+msgstr "Seleccione 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_MX/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..f5b16eb
Binary files /dev/null and b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
similarity index 55%
rename from share/locale/es_ES/LC_MESSAGES/tryton.po
rename to tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
index ac79870..a12cd64 100644
--- a/share/locale/es_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
@@ -1,100 +1,110 @@
-# Spanish (Spain) translations for tryton.
-# Copyright (C) 2008 igor at tamarapatino.org
-# Copyright (C) 2009 PEMAS Servicios Profesionales, S.L.
-# Copyright (C) 2012 Zikzakmedia SL
-# This file is distributed under the same license as the tryton project.
-# FIRST AUTHOR <igor at tamarapatino.org>, 2008.
-# Carlos Perelló Marín <carlos at pemas.es>, 2008-2009.
-# Sergi Almacellas Abellana <sergi at koolpi.com> 2012.
-# Jordi Esteve Cusiné <jesteve at zikzakmedia.com> 2012.
-#
+# 
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 2.4.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-04-16 17:31+0200\n"
-"PO-Revision-Date: 2015-04-16 17:35+0100\n"
-"Last-Translator: Sergi Almacellas Abellana <sergi at koolpi.com>\n"
-"Language-Team:  <tryton-es at googlegroups.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
-"X-Generator: Poedit 1.5.4\n"
+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"
+msgstr "Usar archivo de configuración alterno"
 
+#: tryton/config.py:79
 msgid "development mode"
-msgstr "Modo desarrollo"
+msgstr "Modo de desarrollo"
 
+#: tryton/config.py:82
 msgid "logging everything at INFO level"
-msgstr "Registra toda la información con nivel INFO"
+msgstr "Registrando todo a 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"
+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 "Indica el usuario"
+msgstr "Indique el usuario"
 
+#: tryton/config.py:89
 msgid "specify the server port"
-msgstr "Indica el puerto del servidor"
+msgstr "Indique el puerto del servidor"
 
+#: tryton/config.py:91
 msgid "specify the server hostname"
-msgstr "Indica el nombre del servidor"
+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:176
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
+#: tryton/action/main.py:182
 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:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 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"
@@ -112,48 +122,62 @@ msgstr ""
 "   - \"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:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 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:1098
+#: 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."
+"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!"
@@ -161,21 +185,24 @@ 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "La huella de seguridad del servidor ha cambiado desde la última conexión. \n"
-"La aplicación no se podrá conectar a este servidor hasta que se corrija la "
-"huella de seguridad del servidor."
+"La 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:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -183,222 +210,309 @@ msgstr ""
 "Error de conexión.\n"
 "No ha sido posible conectarse al servidor."
 
+#: tryton/common/common.py:1119
 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:507
 msgid "True"
 msgstr "Verdadero"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Falso"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Editar..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionado..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimir..."
 
+#: tryton/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"
+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:330
+#: 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?"
@@ -406,9 +520,11 @@ 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?"
@@ -416,6 +532,7 @@ 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."
@@ -423,22 +540,29 @@ 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."
@@ -446,9 +570,11 @@ 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."
@@ -456,15 +582,19 @@ 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."
@@ -472,131 +602,170 @@ 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"
+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."
+msgstr ""
+"La copia de seguridad de la base de datos ha finalizado correctamente."
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Nuevo"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Guardar este registro"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: 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:35
 msgid "Switch view"
 msgstr "Cambiar vista"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Recargar"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Recargar"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nuevo"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Cambiar vi_sta"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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"
+"3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "No se ha podido conectar al servidor\n"
 "1. Revise si el servidor se está ejecutando.\n"
 "2. Averigüe en qué dirección y puerto está escuchando.\n"
-"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la "
-"dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
+"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
+#: tryton/gui/window/dbcreate.py: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 "
+"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."
+"This is the password of the Tryton server. It doesn't belong to a real user."
+" This password is usually defined in the trytond configuration."
 msgstr ""
-"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real. "
-"Esta contraseña se define en la configuración de trytond."
+"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real."
+" Esta contraseña se define en la configuración de trytond."
 
+#: tryton/gui/window/dbcreate.py: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"
@@ -606,9 +775,11 @@ msgstr ""
 "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 "
@@ -618,34 +789,39 @@ msgstr ""
 "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"
+"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"
+"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."
@@ -653,129 +829,168 @@ 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"
+"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"
+"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_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Añadir"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
+#: tryton/gui/window/dblogin.py:70 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"
@@ -787,12 +1002,15 @@ msgstr ""
 "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."
@@ -800,148 +1018,198 @@ 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:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: 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:41
 msgid "Previous Record"
 msgstr "Registro anterior"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: 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:42
 msgid "Next Record"
 msgstr "Registro siguiente"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Anterior"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Sig_uiente"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Buscar"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Ver _registro..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Acciones..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Informes..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "Im_primir..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-msgid "You have to select one record!"
-msgstr "Debe elegir un registro."
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Creado por:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Modelo:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-msgid "Records not removed!"
-msgstr "Los registros no se han eliminado."
-
-msgid "Records removed!"
-msgstr "Registros eliminados."
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Ahora está trabajando en el registro duplicado."
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
 
-msgid "Record saved!"
-msgstr "Registro guardado."
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
 
-msgid "Invalid form!"
-msgstr "Formulario incorrecto."
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " de "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -949,117 +1217,245 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Acción"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Ejecutar acción"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "_Relacionado"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Informes"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Abrir informe"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Email"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Informe por email"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Imprimir"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Imprimir informe"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 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"
@@ -1069,6 +1465,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1076,8 +1473,7 @@ msgid ""
 "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"
+"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"
@@ -1095,6 +1491,7 @@ msgstr ""
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1106,6 +1503,7 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1113,67 +1511,86 @@ msgid ""
 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"
+"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_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportaciones predeterminadas</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Limpiar"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Guardar exportación"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Eliminar exportación"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Nombre"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobrescribir la definición de '%s'?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "Se ha guardado %d registro."
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "Se han guardado %d registros."
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1184,249 +1601,320 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Añadir"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
+#: tryton/gui/window/win_form.py:155
+#: 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:167
+#: 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:181
+#: 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:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-detectar"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Abrir..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Separador de campo:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Codificación:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Líneas a omitir:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Nombre del campo"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Primero debe elegir un archivo a importar."
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
+#: tryton/gui/window/win_import.py:292
 #, 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:367
 #, python-format
 msgid "%d record imported!"
 msgstr "Se ha importado %d registro."
 
+#: tryton/gui/window/win_import.py:369
 #, 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:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
 msgstr "Creado por:"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
 msgstr "Fecha de creación:"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
 msgstr "Última modificación por:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 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:710
 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:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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:538
 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"
 
-msgid "Select a File..."
-msgstr "Seleccionar un archivo..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Todos los archivos"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+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:356
 msgid "Add value"
 msgstr "Añadir un valor"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
 
-msgid "Select an Image..."
-msgstr "Seleccionar una imagen..."
-
-msgid "All files"
-msgstr "Todos los archivos"
-
+#: 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:293
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 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>"
 
-msgid "Change text to bold"
-msgstr "Cambiar texto a negrita"
-
-msgid "Change text to italic"
-msgstr "Cambiar texto a cursiva"
-
-msgid "Change text to underline"
-msgstr "Cambiar texto a subrallado"
-
-msgid "Choose font-family"
-msgstr "Elegir tipo de letra"
-
-msgid "Choose font-size"
-msgstr "Elegir tamaño de letra"
-
-msgid "Justify of line to the left"
-msgstr "Alinear la línea a la izquierda"
-
-msgid "Justify of line to the center"
-msgstr "Centrar la línea"
-
-msgid "Justify of line to the right"
-msgstr "Alinear la línea a la derecha"
-
-msgid "Justify of line to fill window"
-msgstr "Justificar la línea para rellenar ventana"
-
-msgid "Change the foreground text"
-msgstr "Cambiar el texto principal"
-
-msgid "Change the background text"
-msgstr "Cambiar color de fondo"
-
-msgid "Change the markup text view"
-msgstr "Cambiar el texto de marcado"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr ""
 
-msgid "Select a foreground color"
-msgstr "Seleccionar color principal"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr ""
 
-msgid "Select a background color"
-msgstr "Seleccionar color de fondo"
+#: 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_FR/LC_MESSAGES/tryton.mo b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..75105b7
Binary files /dev/null and b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/fr_FR/LC_MESSAGES/tryton.po b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
similarity index 51%
rename from share/locale/fr_FR/LC_MESSAGES/tryton.po
rename to tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
index 0cd179c..15afeb0 100644
--- a/share/locale/fr_FR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
@@ -2,93 +2,110 @@
 # Copyright (C) 2008-2013 B2CK
 # This file is distributed under the same license as the tryton project.
 # FIRST AUTHOR <cedric.krier at b2ck.com>, 2008-2013.
-#
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 0.0.1\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2013-04-19 23:58+0200\n"
-"Last-Translator: Cédric Krier <cedric.krier at b2ck.com>\n"
-"Language-Team: fr_FR\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+#: tryton/config.py:76
 msgid "specify alternate config file"
 msgstr "spécifier un fichier de configuration alternatif"
 
+#: tryton/config.py:79
 msgid "development mode"
 msgstr "mode développement"
 
+#: tryton/config.py:82
 msgid "logging everything at INFO level"
 msgstr "logger tout au niveau INFO"
 
+#: tryton/config.py:84
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr "Spécifie le niveau de log : DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr "spécifie le niveau de log : DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
+#: tryton/config.py:87
 msgid "specify the login user"
 msgstr "spécifier l'utilisateur de login"
 
+#: tryton/config.py:89
 msgid "specify the server port"
 msgstr "spécifier le port du serveur"
 
+#: tryton/config.py:91
 msgid "specify the server hostname"
 msgstr "spécifier le nom du serveur"
 
+#: tryton/config.py:95
 msgid "Too much arguments"
 msgstr "Trop d'arguments"
 
+#: tryton/config.py:98
 #, python-format
 msgid "File \"%s\" not found"
-msgstr "Fichier \"%s\" non trouvé"
+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 !"
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Impossible de sélectionner la locale %s"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Sélectionnez votre action"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "Pas d'action définie !"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Connexion Tryton"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Serveur :"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Port :"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Sélection"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "Votre sélection :"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Enregistrer sous..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "Toujours ignorer cet avertissement."
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr "Souhaitez-vous continuer ?"
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Confirmation"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Erreur d'accès concurrent"
 
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -98,57 +115,70 @@ msgid ""
 "    - \"Compare\" to see the modified version;\n"
 "    - \"Write Anyway\" to save your current version."
 msgstr ""
-"<b>Attention, accès en écriture concurrents:</b>\n"
+"<b>Attention, accès en écriture concurrents :</b>\n"
 "\n"
-"Cet enregistrement a été édité pendant que vous étiez en train de le "
-"modifier.\n"
-"  Choisissez:\n"
-"   - \"Annuler\" pour annuler vos modifications;\n"
-"   - \"Comparer\" pour voir la nouvelle version;\n"
-"   - \"Écraser\" pour sauver vos modifications."
+"Cet enregistrement a été édité pendant que vous étiez en train de le modifier.\n"
+" Choisissez :\n"
+"    - « Annuler » pour annuler vos modifications ;\n"
+"    - « Comparer » pour voir la nouvelle version ;\n"
+"    - « Écraser » pour sauver vos modifications."
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "Comparer"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Écraser"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Erreur"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Rapporter un bogue"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Erreur Applicative !"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "Erreur : "
 
+#: tryton/common/common.py:880
 #, 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
 msgid "Bug Tracker"
 msgstr "Bug Tracker"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Utilisateur :"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Mot de passe :"
 
+#: 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 ""
 "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"
+"Pour vous garder informé, votre nom d'utilisateur a été ajouté à la liste de suivi de ce bogue"
 
+#: tryton/common/common.py:1002
 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
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -156,21 +186,24 @@ msgstr ""
 "Erreur de connexion !\n"
 "Mauvais nom d'utilisateur ou mot de passe !"
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "Exception :"
 
+#: 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."
+"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."
+"Les connections à 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:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -178,232 +211,321 @@ msgstr ""
 "Erreur de connexion !\n"
 "Impossible de se connecter au serveur !"
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
-msgstr "Erreur réseau"
+msgstr "Erreur réseau !"
 
+#: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
 msgstr "<i>Recherche...</i>"
 
+#: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
 msgstr "<i>Créer...</i>"
 
+#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 msgid "Value"
 msgstr "Valeur"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 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
 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 d'affichage"
 
+#: tryton/common/datetime_.py:61
 msgid "Open the calendar"
 msgstr "Ouvrir le calendrier"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr "Format de date"
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr "Format de date affichée"
 
+#: tryton/common/domain_parser.py:235
 msgid "y"
 msgstr "y"
 
+#: tryton/common/domain_parser.py:235
 msgid "yes"
 msgstr "oui"
 
+#: tryton/common/domain_parser.py:235
 msgid "true"
 msgstr "vrai"
 
+#: 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:507
 msgid "True"
 msgstr "Vrai"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Faux"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Éditer..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
-msgstr "Pièces jointes..."
+msgstr "Attachements..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Actions..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relation..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Rapport..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Email..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimer..."
 
+#: tryton/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"
+msgstr "S"
 
+#: tryton/common/timedelta.py:29
 msgid "d"
 msgstr "j"
 
+#: 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 "_Fichier"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Utilisateur"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Options"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Fa_voris"
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Aide"
 
-msgid "Search"
-msgstr "Recherche"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
-msgstr "Aucun résultat trouvé"
+msgstr "Aucun résultat trouvé."
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "_Connecter..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "_Quitter..."
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "_Préférences..."
 
+#: tryton/gui/main.py:487
 msgid "_Menu Reload"
 msgstr "_Recharger le menu"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
-msgstr "Montrer/Cacher le _menu"
+msgstr "Montrer / Cacher le _menu"
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr "Recherche _globale"
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "_Barre d'outils"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "_Défaut"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "_Textes et Icônes"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "_Icônes"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "_Textes"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
-msgstr "_Barre de Menu"
+msgstr "_Barre de menu"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "Changer les raccourcis"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "_Mode"
 
+#: 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 "_Formulaire"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "Sauver largeur / hauteur"
 
+#: tryton/gui/main.py:623
 msgid "Save Tree State"
 msgstr "Sauver l'état des arbres"
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr "Tabulation rapide"
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Vérifier l'orthographe"
 
+#: tryton/gui/main.py:655
 msgid "_Previous Tab"
-msgstr "Onglet _Précédent"
+msgstr "Onglet _précédent"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
-msgstr "Onglet _Suivant"
+msgstr "Onglet _suivant"
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
-msgstr "Limite la recherche à ..."
+msgstr "Limite la recherche à..."
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "_Email..."
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "_Sauver les options"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "_Astuces..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
-msgstr "Raccourcis _Clavier..."
+msgstr "Raccourcis _clavier..."
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "_À Propos..."
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "Recherche"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 "L'action suivante nécessite de fermer tous les onglets.\n"
-"Voulez-vous continuer?"
+"Voulez-vous continuer ?"
 
+#: tryton/gui/main.py:1173
 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?"
@@ -411,6 +533,7 @@ 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."
@@ -418,34 +541,41 @@ 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"
+"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"
+"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."
@@ -453,202 +583,246 @@ 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"
+"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"
+"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"
+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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Nouveau"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Créer un nouvel enregistrement"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Sauver"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Sauver cet enregistrement"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Basculer"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Basculer la vue"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Recharger"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Recharger"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nouveau"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Sauver"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "_Changer de vue"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "_Recharger/Annuler"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "Su_pprimer..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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."
+"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"
+"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"
+"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"
+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."
+"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."
+"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"
+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."
+"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."
+"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"
+"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"
+"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 "
+"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."
+"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"
+"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"
+"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"
+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."
@@ -656,130 +830,169 @@ 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."
+"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"
+"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"
+"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"
+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"
+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
 msgid "Profile"
 msgstr "Profil"
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Ajouter"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Enlever"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
 msgstr "Hôte :"
 
+#: tryton/gui/window/dblogin.py:98
 msgid "Create"
 msgstr "C_réer"
 
+#: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
 msgstr "Récupération de la liste des bases de données"
 
+#: tryton/gui/window/dblogin.py:119
 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 !"
+msgstr "Impossible de se connecter au serveur"
 
+#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
 msgid "Incompatible version of the server"
-msgstr "Version du serveur incompatible !"
+msgstr "Version du serveur incompatible"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Connexion"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "A_nnuler"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Annuler la connexion au serveur Tryton"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "C_onnecter"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Se connecter au serveur Tryton"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr "Profil :"
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr "_Gestionnaire de profils"
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr "Hôte / Port"
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -787,17 +1000,19 @@ msgid ""
 "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"
+"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."
@@ -805,266 +1020,444 @@ 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
 msgid "Email Program Settings"
 msgstr "Paramètres d'email"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Commande :"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Légende des symboles :"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "À :"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "CC :"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Sujet :"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Corps :"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Attachement :"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Précédent"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "Enregistrement précédent"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Suivant"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Enregistrement suivant"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Attachement(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Ajouter un attachement à l'enregistrement"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Dupliquer"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Précédent"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Sui_vant"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Recherche"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Voir les _Logs..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Afficher les révisions..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "_Pièce jointes..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Actions..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Relation..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Rapport..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Email..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "_Imprimer..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Export de données..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Import de données..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Attachement(%d)"
 
-msgid "You have to select one record!"
-msgstr "Vous devez sélectionner un enregistrement !"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr "Vous devez sélectionner un enregistrement."
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID :"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Créé par l'utilisateur :"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Date de création :"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Dernière modification par :"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Date de dernière modification :"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Modèle :"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Êtes-vous sûr de vouloir supprimer cet enregistrement ?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Êtes-vous sûr de vouloir supprimer ces enregistrements ?"
 
-msgid "Records not removed!"
-msgstr "Enregistrements non supprimés !"
-
-msgid "Records removed!"
-msgstr "Enregistrements supprimés !"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr "Enregistrements non supprimés."
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Sur les enregistrement(s) dupliqué(s) maintenant !"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr "Enregistrements supprimés."
 
-msgid "Record saved!"
-msgstr "Enregistrement sauvé !"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr "Sur les enregistrement(s) dupliqué(s) maintenant."
 
-msgid "Invalid form!"
-msgstr "Formulaire non-valide !"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr "Enregistrement sauvegardé."
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " de "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
 msgstr ""
 "Cet enregistrement a été modifié\n"
-"Voulez-vous le sauvegarder ?"
+"voulez-vous le sauvegarder ?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Actions"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Lancer une action"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "Relation"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Ouvrir les enregistrements liés"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Rapport"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Ouvrir un rapport"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Email"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Rapport par email"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Imprimer"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Imprimer un rapport"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Inconnu"
 
+#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Limite"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Limite de recherche"
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Limite :"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Préférences"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Éditer les préférences utilisateur"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Préférence"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Mot de passe actuel :"
 
+#: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Révision"
 
+#: tryton/gui/window/revision.py:28
 msgid "Select a revision"
 msgstr "Sélectionner une révision"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr "Révision :"
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Raccourcis clavier"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Raccourcis des champs texte"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Couper le texte sélectionné"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Copier le texte sélectionné"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Coller le texte copié"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Widget suivant"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Widget précédent"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Raccourcis des champs relation"
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Créer une nouvelle relation"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Ouvrir/Chercher une relation"
 
+#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Raccourcis des listes"
 
+#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Créer une nouvelle ligne"
 
+#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Ouvrir une relation"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Marquer la ligne pour suppression"
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Annuler le marquage de la ligne pour suppression"
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Widgets d'édition"
 
+#: tryton/gui/window/shortcuts.py:47
+msgid "Move Cursor"
+msgstr "Déplacer le curseur"
+
+#: tryton/gui/window/shortcuts.py:48
+msgid "Move to right"
+msgstr "Déplacer vers la droite"
+
+#: tryton/gui/window/shortcuts.py:49
+msgid "Move to left"
+msgstr "Déplacer vers la gauche"
+
+#: tryton/gui/window/shortcuts.py:50
+msgid "Move up"
+msgstr "Déplacer vers le haut"
+
+#: tryton/gui/window/shortcuts.py:51
+msgid "Move down"
+msgstr "Déplacer vers le bas"
+
+#: tryton/gui/window/shortcuts.py:52
+msgid "Move up of one page"
+msgstr "Déplacer vers le haut d'une page"
+
+#: tryton/gui/window/shortcuts.py:53
+msgid "Move down of one page"
+msgstr "Déplacer vers le bas d'une page"
+
+#: tryton/gui/window/shortcuts.py:54
+msgid "Move to top"
+msgstr "Déplacer au dessus"
+
+#: tryton/gui/window/shortcuts.py:55
+msgid "Move to bottom"
+msgstr "Déplacer en bas"
+
+#: tryton/gui/window/shortcuts.py:56
+msgid "Move to parent"
+msgstr "Déplacer au parent"
+
+#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+msgid "Select all"
+msgstr "Tout sélectionner"
+
+#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+msgid "Unselect all"
+msgstr "Désélectionner tout"
+
+#: tryton/gui/window/shortcuts.py:62
+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
+msgid "Select/Activate current row"
+msgstr "Sélectionner/Activer la ligne courante"
+
+#: tryton/gui/window/shortcuts.py:67
+msgid "Toggle selection"
+msgstr "Basculer la sélection"
+
+#: tryton/gui/window/shortcuts.py:68
+msgid "Expand/Collapse"
+msgstr "Déplier/Replier"
+
+#: tryton/gui/window/shortcuts.py:69
+msgid "Expand row"
+msgstr "Déplier la ligne"
+
+#: tryton/gui/window/shortcuts.py:70
+msgid "Collapse row"
+msgstr "Replier la ligne"
+
+#: tryton/gui/window/shortcuts.py:71
+msgid "Toggle row"
+msgstr "Basculer la ligne"
+
+#: tryton/gui/window/shortcuts.py:72
+msgid "Expand all rows"
+msgstr "Déplier toutes les lignes"
+
+#: tryton/gui/window/shortcuts.py:73
+msgid "Collapse all rows"
+msgstr "Replier toutes les lignes"
+
+#: tryton/gui/window/shortcuts.py:76
+msgid "Tree view"
+msgstr "Vue arborescente"
+
+#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1074,6 +1467,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1081,27 +1475,25 @@ msgid ""
 "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"
+"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>Connaissez-vous Triton, un des homonymes de notre Projet?</b>\n"
+"<b>Connaissez-vous Triton, un des homonymes de notre Projet ?</b>\n"
 "\n"
 "Triton est la plus grande lune de la planète Neptune.\n"
 "Découverte le 10 octobre 1846 par William Lassell, C'est la\n"
-"seule grande lune dans le système solaire avec une orbite rétrograde, "
-"c'est \n"
-"à dire une orbite dans la direction opposée à celle de la planète. Avec "
-"2700\n"
+"seule grande lune dans le système solaire avec une orbite rétrograde, c'est \n"
+"à dire une orbite dans la direction opposée à celle de la planète. Avec 2700\n"
 "km de diamètre, c'est la septième plus grande lune du système solaire.\n"
 "Triton comprend plus de 99,5 pourcent de tout la masse connue en orbite\n"
 "autour de Neptune, incluant les anneaux et douze autres lunes. Elle\n"
 "est aussi plus massive que toutes les 159 plus petites lunes connues du\n"
 "système solaire combinées.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1113,72 +1505,94 @@ msgstr ""
 "Vous pouvez copier les enregistrements d'une liste avec Ctrl + C\n"
 "et les coller dans une autre application avec Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
 "You can save any graphs in PNG file with right-click on it.\n"
 msgstr ""
-"<b>Export des  graphes</b>\n"
+"<b>Export des graphes</b>\n"
+"\n"
 "Vous pouvez exporter les graphes en PNG via un clic droit.\n"
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "Astuces"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "_Afficher une nouvelle astuce la prochaine fois"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exporter en CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportations prédéfinies</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Tout les champs</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Effacer"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Sauver l'exportation"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Supprimer l'exportation"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Champs à exporter</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Options</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Ouvrir"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Ajouter les noms des champs"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Nom"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "Quel est le nom de cet export ?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Surcharger la définition « %s » ?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
-msgstr "%d enregistrement sauvé!"
+msgstr "%d enregistrement sauvé !"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
-msgstr "%d enregistrements sauvés!"
+msgstr "%d enregistrements sauvés !"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1189,250 +1603,321 @@ msgstr ""
 "Message d'erreur :\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Lien"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Ajouter"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Supprimer <Del>"
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Créer un nouvel enregistrement<F3>"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Supprimer l'enregistrement sélectionné<Del>"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Restaurer l'enregistrement sélectionné<Ins>"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importer depuis un CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Détection automatique"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Champs à importer</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
-msgstr "Fichier à importer"
+msgstr "Fichier à importer :"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Ouvrir..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Paramètres CSV"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Séparateur de champs :"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Délimiteur de texte :"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Codage :"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Lignes à ignorer :"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Nom du champ"
 
+#: tryton/gui/window/win_import.py:254
 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:265
 msgid "Error opening CSV file"
 msgstr "Erreur d'ouverture du fichier CSV"
 
+#: tryton/gui/window/win_import.py:292
 #, 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:367
 #, python-format
 msgid "%d record imported!"
-msgstr "%d enregistrement importé!"
+msgstr "%d enregistrement importé !"
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
-msgstr "%d enregistrements importés!"
+msgstr "%d enregistrements importés !"
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
-msgstr "Wizard"
+msgstr "Assistant"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
 msgstr "Créé par l'utilisateur"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
 msgstr "Date de création"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
 msgstr "Modifié par l'utilisateur"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
 msgstr "Date de modification"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 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:710
 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:886
+#, 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:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr "« %s » est requis"
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, 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:948
+msgid "Pre-validation"
+msgstr "Pré-validation"
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Enregistrer sous"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Taille de l'image"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Largeur :"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "Hauteur :"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 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/screen_container.py:24
 msgid ".."
 msgstr ".."
 
+#: tryton/gui/window/view_form/view/screen_container.py:144
 msgid "F_ilters"
 msgstr "F_iltrer"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr "Montrer les marques-pages des filtres"
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr "Supprimer ce marque-page"
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr "Sauver ce filtre"
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
-msgstr "Nom du marque-page"
+msgstr "Nom du marque-page :"
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Chercher"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Aujourd'hui"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Vue semaine"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Vue mois"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Semaine"
 
-msgid "Select a File..."
-msgstr "Sélectionner un fichier ..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr "Sélectionner..."
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Tous les fichiers"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr "Sélectionner"
 
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr "Montrer en text clair"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr "Ajouter une valeur"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
-msgstr "Supprimer \"%s\""
-
-msgid "Select an Image..."
-msgstr "Sélectionner une image ..."
-
-msgid "All files"
-msgstr "Tous les fichiers"
+msgstr "Supprimer « %s »"
 
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
 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
 msgid "Add existing record"
 msgstr "Ajouter un enregistrement existant"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 msgid "Remove selected record <Del>"
 msgstr "Supprimer l'enregistrement sélectionné<Del>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Open a record <F2>"
 msgstr "Ouvrir un enregistrement<F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 msgid "Search a record <F2>"
 msgstr "Chercher un enregistrement<F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 msgid "Remove selected record"
 msgstr "Supprimer l'enregistrement sélectionné"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 msgid "Edit selected record <F2>"
 msgstr "Éditer l'enregistrement sélectionné<F2>"
 
-msgid "Change text to bold"
-msgstr "Gras"
-
-msgid "Change text to italic"
-msgstr "Italique"
-
-msgid "Change text to underline"
-msgstr "Souligner"
-
-msgid "Choose font-family"
-msgstr "Police"
-
-msgid "Choose font-size"
-msgstr "Taille du texte"
-
-msgid "Justify of line to the left"
-msgstr "Aligner à gauche"
-
-msgid "Justify of line to the center"
-msgstr "Centrer"
-
-msgid "Justify of line to the right"
-msgstr "Aligner à droite"
-
-msgid "Justify of line to fill window"
-msgstr "Justifier"
-
-msgid "Change the foreground text"
-msgstr "Couleur du texte"
-
-msgid "Change the background text"
-msgstr "Couleur d'arrière plan"
-
-msgid "Change the markup text view"
-msgstr "Voir les balises"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
 
-msgid "Select a foreground color"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
 msgstr "Couleur du texte"
 
-msgid "Select a background color"
-msgstr "Couleur de l'arrière plan"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+msgid "Select a color"
+msgstr "Sélectionner une couleur"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
 msgid "Translation"
 msgstr "Traduction"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr "Éditer"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 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!"
-msgstr "Vous devez sauvegarder l'enregistrement avant d'ajouter des traductions !"
+msgstr ""
+"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/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Traduire la vue"
-
diff --git a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..19865e4
Binary files /dev/null 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
new file mode 100644
index 0000000..28e4214
--- /dev/null
+++ b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po
@@ -0,0 +1,1913 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+#: tryton/config.py:76
+msgid "specify alternate config file"
+msgstr "Alternatív beállítási adatok megadása"
+
+#: tryton/config.py:79
+msgid "development mode"
+msgstr "Fejlesztői mód"
+
+#: tryton/config.py:82
+msgid "logging everything at INFO level"
+msgstr "Általános belépési szint:INFO"
+
+#: tryton/config.py:84
+msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr "Belépési szint megadása: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+
+#: tryton/config.py:87
+msgid "specify the login user"
+msgstr "Bejelentkezési név megadása"
+
+#: tryton/config.py:89
+msgid "specify the server port"
+msgstr "Szerver Port megadása"
+
+#: tryton/config.py:91
+msgid "specify the server hostname"
+msgstr "Szerver név megadása"
+
+#: tryton/config.py:95
+msgid "Too much arguments"
+msgstr "Túl sok paraméter"
+
+#: tryton/config.py:98
+#, python-format
+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!"
+msgstr "Nem lehet a következő konfigurációs fájlba írni: „%s”"
+
+#: tryton/translate.py:184
+#, python-format
+msgid "Unable to set locale %s"
+msgstr "Nem lehet beállítani a csoportot: %s"
+
+#: tryton/action/main.py:176
+msgid "Select your action"
+msgstr "Válasszon műveletet"
+
+#: tryton/action/main.py:182
+msgid "No action defined!"
+msgstr "Nincs megadva művelet"
+
+#: tryton/common/common.py:274
+msgid "Tryton Connection"
+msgstr "Kapcsolódás"
+
+#: tryton/common/common.py:285
+msgid "Server:"
+msgstr "Szerver:"
+
+#: tryton/common/common.py:303
+msgid "Port:"
+msgstr "Port:"
+
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+msgid "Selection"
+msgstr "Kiválasztás"
+
+#: tryton/common/common.py:380
+msgid "Your selection:"
+msgstr "Kiválasztva"
+
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
+msgid "Save As..."
+msgstr "Mentés másként…"
+
+#: tryton/common/common.py:642
+msgid "Always ignore this warning."
+msgstr "Ne adja be többet ezt a figyelmeztetést"
+
+#: tryton/common/common.py:647
+msgid "Do you want to proceed?"
+msgstr "Akarja folyatni?"
+
+#: tryton/common/common.py:666
+msgid "Confirmation"
+msgstr "Jóváhagyás"
+
+#: tryton/common/common.py:772 tryton/common/common.py:1080
+msgid "Concurrency Exception"
+msgstr "Aktualizálási ellentét"
+
+#: 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>aktualizálási ellentét az aktuális adatszó írásánál</b>\n"
+"\n"
+"Ez az adatszó másképp került megváltoztatásra, amíg Ön feldolgozta\n"
+"Megoldási lehetőségek\n"
+"\"Mégse\", hogy a mentés folyamatát megszakítsa\n"
+"\"Ö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
+msgid "Compare"
+msgstr "Összehasonlítás"
+
+#: tryton/common/common.py:800
+msgid "Write Anyway"
+msgstr "Felülír"
+
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
+msgid "Error"
+msgstr "Hiba"
+
+#: tryton/common/common.py:830
+msgid "Report Bug"
+msgstr "Hibabejelentés"
+
+#: tryton/common/common.py:837
+msgid "Application Error!"
+msgstr "Alkalmazási hiba"
+
+#: tryton/common/common.py:860
+msgid "Error: "
+msgstr "Hiba:"
+
+#: tryton/common/common.py:880
+#, 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
+msgid "Bug Tracker"
+msgstr "Hiba bejelentése"
+
+#: tryton/common/common.py:928
+msgid "User:"
+msgstr "Felhasználó:"
+
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
+msgid "Password:"
+msgstr "Jelszó:"
+
+#: 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 ""
+"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
+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
+msgid ""
+"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
+msgid "Exception:"
+msgstr "Kivétel:"
+
+#: 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 ""
+"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!"
+msgstr "Biztonsági kockázat"
+
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
+msgid ""
+"Connection error!\n"
+"Unable to connect to the server!"
+msgstr ""
+"Kapcsolási hiba!\n"
+"Nem kapcsolódik a szerverrel!"
+
+#: tryton/common/common.py:1119
+msgid "Network Error!"
+msgstr "Hálózati hiba"
+
+#: tryton/common/completion.py:22
+msgid "<i>Search...</i>"
+msgstr "<i>keresés...</i>"
+
+#: tryton/common/completion.py:24
+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
+msgid "Value"
+msgstr "Érték"
+
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
+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
+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
+msgid "Display format"
+msgstr "Megjelenítési formátum"
+
+#: tryton/common/datetime_.py:61
+msgid "Open the calendar"
+msgstr "Naptár megnyitása"
+
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+msgid "Date Format"
+msgstr "Dátumformátum"
+
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+msgid "Displayed date format"
+msgstr "Mutatott dátumformátum"
+
+#: tryton/common/domain_parser.py:235
+msgid "y"
+msgstr "J"
+
+#: tryton/common/domain_parser.py:235
+msgid "yes"
+msgstr "Igen"
+
+#: tryton/common/domain_parser.py:235
+msgid "true"
+msgstr "Igaz"
+
+#: tryton/common/domain_parser.py:235
+msgid "t"
+msgstr "w"
+
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
+msgid "True"
+msgstr "Igaz"
+
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
+msgid "False"
+msgstr "Hamis"
+
+#: tryton/common/popup_menu.py:77
+msgid "Edit..."
+msgstr "Szerkesztés…"
+
+#: tryton/common/popup_menu.py:82
+msgid "Attachments..."
+msgstr "Mellékletek..."
+
+#: tryton/common/popup_menu.py:92
+msgid "Actions..."
+msgstr "Műveletek"
+
+#: tryton/common/popup_menu.py:93
+msgid "Relate..."
+msgstr "Kapcsolatok..."
+
+#: tryton/common/popup_menu.py:94
+msgid "Report..."
+msgstr "Jelentés..."
+
+#: tryton/common/popup_menu.py:95
+msgid "E-Mail..."
+msgstr "E-Mail..."
+
+#: tryton/common/popup_menu.py:96
+msgid "Print..."
+msgstr "Nyomtatás..."
+
+#: tryton/common/timedelta.py:26
+msgid "Y"
+msgstr "J"
+
+#: tryton/common/timedelta.py:27
+msgid "M"
+msgstr "M"
+
+#: tryton/common/timedelta.py:28
+msgid "w"
+msgstr "W"
+
+#: tryton/common/timedelta.py:29
+msgid "d"
+msgstr "t"
+
+#: 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 "_Fájl"
+
+#: tryton/gui/main.py:226
+msgid "_User"
+msgstr "_Felhasználó"
+
+#: tryton/gui/main.py:240
+msgid "_Options"
+msgstr "_Beállítások"
+
+#: tryton/gui/main.py:248
+msgid "Fa_vorites"
+msgstr "Fa_vorit"
+
+#: tryton/gui/main.py:264
+msgid "_Help"
+msgstr "_Segítség"
+
+#: tryton/gui/main.py:373
+msgid "No result found."
+msgstr "Nincs találat"
+
+#: tryton/gui/main.py:395
+msgid "_Connect..."
+msgstr "_Kapcsolódás…"
+
+#: tryton/gui/main.py:404
+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
+msgid "_Quit..."
+msgstr "Kilépés..."
+
+#: tryton/gui/main.py:476
+msgid "_Preferences..."
+msgstr "_Beállítások…"
+
+#: tryton/gui/main.py:487
+msgid "_Menu Reload"
+msgstr "Menü újra mentése"
+
+#: tryton/gui/main.py:496
+msgid "_Menu Toggle"
+msgstr "Menü átkapcsolása"
+
+#: tryton/gui/main.py:503
+msgid "_Global Search"
+msgstr "Globális keresés"
+
+#: tryton/gui/main.py:518
+msgid "_Toolbar"
+msgstr "_Eszköztár"
+
+#: tryton/gui/main.py:526
+msgid "_Default"
+msgstr "_Alapértelmezett"
+
+#: tryton/gui/main.py:536
+msgid "_Text and Icons"
+msgstr "Szöveg és ikonok"
+
+#: tryton/gui/main.py:546
+msgid "_Icons"
+msgstr "Ikonok"
+
+#: tryton/gui/main.py:555
+msgid "_Text"
+msgstr "_Szöveg"
+
+#: tryton/gui/main.py:564
+msgid "_Menubar"
+msgstr "_Menüsáv"
+
+#: tryton/gui/main.py:572
+msgid "Change Accelerators"
+msgstr "Gyorsbillentyűk módosítása"
+
+#: tryton/gui/main.py:580
+msgid "_Mode"
+msgstr "Mód"
+
+#: tryton/gui/main.py:588
+msgid "_Normal"
+msgstr "Normál"
+
+#: tryton/gui/main.py:596
+msgid "_PDA"
+msgstr "PDA"
+
+#: tryton/gui/main.py:603
+msgid "_Form"
+msgstr "Űrlap"
+
+#: tryton/gui/main.py:612
+msgid "Save Width/Height"
+msgstr "Szélesség/magasság mentése"
+
+#: tryton/gui/main.py:623
+msgid "Save Tree State"
+msgstr "Menünézet mentése"
+
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:645
+msgid "Spell Checking"
+msgstr "Helyesírás ellenőrzés"
+
+#: tryton/gui/main.py:655
+msgid "_Previous Tab"
+msgstr "Előző lap"
+
+#: tryton/gui/main.py:661
+msgid "_Next Tab"
+msgstr "Következő lap"
+
+#: tryton/gui/main.py:667
+msgid "Search Limit..."
+msgstr "Keresés limit"
+
+#: tryton/gui/main.py:673
+msgid "_Email..."
+msgstr "E-mail..."
+
+#: tryton/gui/main.py:681
+msgid "_Save Options"
+msgstr "Beállítások mentése"
+
+#: tryton/gui/main.py:693
+msgid "_Tips..."
+msgstr "Tipp"
+
+#: tryton/gui/main.py:702
+msgid "_Keyboard Shortcuts..."
+msgstr "_Gyorsbillentyűk"
+
+#: tryton/gui/main.py:711
+msgid "_About..."
+msgstr "Felett"
+
+#: tryton/gui/main.py:762
+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:330
+#: 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 "Keresés"
+
+#: tryton/gui/main.py:914
+msgid ""
+"The following action requires to close all tabs.\n"
+"Do you want to continue?"
+msgstr ""
+"A következő művelethez az összes lap bezárása szükséges\n"
+"Folytatja?"
+
+#: tryton/gui/main.py:1173
+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/board.py:19 tryton/gui/window/form.py:31
+msgid "New"
+msgstr "Új"
+
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+msgid "Create a new record"
+msgstr "Új bejegyzés létrehozása"
+
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
+msgid "Save"
+msgstr "Mentés"
+
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+msgid "Save this record"
+msgstr "Bejegyzés mentése"
+
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+msgid "Switch"
+msgstr "Nézet váltása"
+
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+msgid "Switch view"
+msgstr "Nézet váltása"
+
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+msgid "_Reload"
+msgstr "_Frissítés"
+
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+msgid "Reload"
+msgstr "Frissítés"
+
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+msgid "_New"
+msgstr "_Új"
+
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
+msgid "_Save"
+msgstr "_Mentés"
+
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+msgid "_Switch View"
+msgstr "Nézet váltása"
+
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+msgid "_Reload/Undo"
+msgstr "Frissítés/ visszavonás"
+
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+msgid "_Delete..."
+msgstr "_Törlés..."
+
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+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
+msgid "Profile"
+msgstr "Profil"
+
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
+msgid "_Add"
+msgstr "_Hozzáadás"
+
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
+msgid "_Remove"
+msgstr "_Eltávolítás"
+
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+msgid "Host:"
+msgstr "Host:"
+
+#: tryton/gui/window/dblogin.py:98
+msgid "Create"
+msgstr "Létrehozás"
+
+#: tryton/gui/window/dblogin.py:101
+msgid "Fetching databases list"
+msgstr "Adatbanklista lekérdezése..."
+
+#: tryton/gui/window/dblogin.py:119
+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
+msgid "Incompatible version of the server"
+msgstr "Inkompatibilis szerververzió"
+
+#: tryton/gui/window/dblogin.py:359
+msgid "Login"
+msgstr "Bejelentkezés"
+
+#: tryton/gui/window/dblogin.py:366
+msgid "_Cancel"
+msgstr "_Mégse"
+
+#: tryton/gui/window/dblogin.py:371
+msgid "Cancel connection to the Tryton server"
+msgstr "_Mégse"
+
+#: tryton/gui/window/dblogin.py:373
+msgid "C_onnect"
+msgstr "Kapcsolódik"
+
+#: tryton/gui/window/dblogin.py:378
+msgid "Connect the Tryton server"
+msgstr "Kapcsolódás helyreállítása a Tryton szerverhez."
+
+#: tryton/gui/window/dblogin.py:406
+msgid "Profile:"
+msgstr "Profil:"
+
+#: tryton/gui/window/dblogin.py:410
+msgid "_Manage profiles"
+msgstr "Profilok kezelése"
+
+#: tryton/gui/window/dblogin.py:420
+msgid "Host / Database information"
+msgstr "Host-/adatbank adatok"
+
+#: tryton/gui/window/dblogin.py:459
+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
+msgid "Email Program Settings"
+msgstr "E-mail beállítások"
+
+#: tryton/gui/window/email.py:28
+msgid "Command Line:"
+msgstr "Parancssor:"
+
+#: tryton/gui/window/email.py:38
+msgid "Legend of Available Placeholders:"
+msgstr "Az elérhető helyettesítők jelmagyarázata:"
+
+#: tryton/gui/window/email.py:45
+msgid "To:"
+msgstr "-hoz, -hez"
+
+#: tryton/gui/window/email.py:49
+msgid "CC:"
+msgstr "CC:"
+
+#: tryton/gui/window/email.py:53
+msgid "Subject:"
+msgstr "Tárgy:"
+
+#: tryton/gui/window/email.py:57
+msgid "Body:"
+msgstr "Szöveg:"
+
+#: tryton/gui/window/email.py:61
+msgid "Attachment:"
+msgstr "Melléklet:"
+
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+msgid "Previous"
+msgstr "Előző"
+
+#: tryton/gui/window/form.py:41
+msgid "Previous Record"
+msgstr "Előző adat"
+
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+msgid "Next"
+msgstr "Következő"
+
+#: tryton/gui/window/form.py:42
+msgid "Next Record"
+msgstr "Következő adat"
+
+#: tryton/gui/window/form.py:45
+msgid "Attachment(0)"
+msgstr "Mellékletek:"
+
+#: tryton/gui/window/form.py:46
+msgid "Add an attachment to the record"
+msgstr "Melléklet hozzáadása az üzenethez."
+
+#: tryton/gui/window/form.py:55
+msgid "_Duplicate"
+msgstr "Másolat"
+
+#: tryton/gui/window/form.py:60
+msgid "_Previous"
+msgstr "_Előző"
+
+#: tryton/gui/window/form.py:62
+msgid "_Next"
+msgstr "_Következő"
+
+#: tryton/gui/window/form.py:63
+msgid "_Search"
+msgstr "_Keresés"
+
+#: tryton/gui/window/form.py:64
+msgid "View _Logs..."
+msgstr "Napló megtekintése…"
+
+#: tryton/gui/window/form.py:65
+msgid "Show revisions..."
+msgstr "Feldolgozások megtekintése"
+
+#: tryton/gui/window/form.py:70
+msgid "A_ttachments..."
+msgstr "Csatolmány"
+
+#: tryton/gui/window/form.py:72
+msgid "_Actions..."
+msgstr "_Műveletek"
+
+#: tryton/gui/window/form.py:74
+msgid "_Relate..."
+msgstr "Kapcsolat megnyitása"
+
+#: tryton/gui/window/form.py:77
+msgid "_Report..."
+msgstr "Jelentés megnyitása..."
+
+#: tryton/gui/window/form.py:79
+msgid "_E-Mail..."
+msgstr "Jelentés per e-mail"
+
+#: tryton/gui/window/form.py:81
+msgid "_Print..."
+msgstr "_Nyomtatás…"
+
+#: tryton/gui/window/form.py:84
+msgid "_Export Data..."
+msgstr "Adat exportálása"
+
+#: tryton/gui/window/form.py:86
+msgid "_Import Data..."
+msgstr "Adat importálása"
+
+#: tryton/gui/window/form.py:209
+#, python-format
+msgid "Attachment(%d)"
+msgstr "Melléklet(%d)"
+
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
+
+#: tryton/gui/window/form.py:232
+msgid "ID:"
+msgstr "ID:"
+
+#: tryton/gui/window/form.py:233
+msgid "Creation User:"
+msgstr "Által létrehozva"
+
+#: tryton/gui/window/form.py:234
+msgid "Creation Date:"
+msgstr "Létrehozás dátuma"
+
+#: tryton/gui/window/form.py:235
+msgid "Latest Modification by:"
+msgstr "Utolsó módosítás"
+
+#: tryton/gui/window/form.py:236
+msgid "Latest Modification Date:"
+msgstr "Módosítás dátuma "
+
+#: tryton/gui/window/form.py:255
+msgid "Model:"
+msgstr "Típus:"
+
+#: tryton/gui/window/form.py:307
+msgid "Are you sure to remove this record?"
+msgstr "Biztos törölni szeretné?"
+
+#: tryton/gui/window/form.py:309
+msgid "Are you sure to remove those records?"
+msgstr "Biztos törölni  szeretné?"
+
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
+
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
+
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
+
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
+
+#: tryton/gui/window/form.py:454
+msgid " of "
+msgstr "-tól"
+
+#: tryton/gui/window/form.py:475
+msgid ""
+"This record has been modified\n"
+"do you want to save it ?"
+msgstr ""
+"Adat módosítva\n"
+"Szeretne menteni?"
+
+#: tryton/gui/window/form.py:528
+msgid "Action"
+msgstr "Művelet"
+
+#: tryton/gui/window/form.py:528
+msgid "Launch action"
+msgstr "Művelet indítása"
+
+#: tryton/gui/window/form.py:529
+msgid "Relate"
+msgstr "Kapcsolat"
+
+#: tryton/gui/window/form.py:529
+msgid "Open related records"
+msgstr "Kapcsolat adatainak megnyitása"
+
+#: tryton/gui/window/form.py:531
+msgid "Report"
+msgstr "Jelentés"
+
+#: tryton/gui/window/form.py:531
+msgid "Open report"
+msgstr "Jelentés megnyitása"
+
+#: tryton/gui/window/form.py:532
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: tryton/gui/window/form.py:532
+msgid "E-Mail report"
+msgstr "Jelentést e-mailon küldeni"
+
+#: tryton/gui/window/form.py:533
+msgid "Print"
+msgstr "Nyomtatás"
+
+#: tryton/gui/window/form.py:533
+msgid "Print report"
+msgstr "Jelentés nyomtatása"
+
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+msgid "Unknown"
+msgstr "Ismeretlen"
+
+#: tryton/gui/window/limit.py:17
+msgid "Limit"
+msgstr "Korlátozás"
+
+#: tryton/gui/window/limit.py:26
+msgid "Search Limit Settings"
+msgstr "Keresési beállítások"
+
+#: tryton/gui/window/limit.py:29
+msgid "Limit:"
+msgstr "Korlát:"
+
+#: tryton/gui/window/preference.py:23
+msgid "Preferences"
+msgstr "Beállítások"
+
+#: tryton/gui/window/preference.py:49
+msgid "Edit User Preferences"
+msgstr "Felhasználói beállítások szerkesztése"
+
+#: tryton/gui/window/preference.py:75
+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
+msgid "Select a revision"
+msgstr "Szerkesztés kiválasztása"
+
+#: tryton/gui/window/revision.py:31
+msgid "Revision:"
+msgstr "Szerkesztés:"
+
+#: tryton/gui/window/shortcuts.py:17
+msgid "Keyboard Shortcuts"
+msgstr "Gyorsbillentyűk"
+
+#: tryton/gui/window/shortcuts.py:28
+msgid "Text Entries Shortcuts"
+msgstr "Gyorsbillentyű szövegbeíráshoz"
+
+#: tryton/gui/window/shortcuts.py:29
+msgid "Cut selected text"
+msgstr "Kijelölt szöveg kiválasztása"
+
+#: tryton/gui/window/shortcuts.py:30
+msgid "Copy selected text"
+msgstr "_Kijelölt szöveg másolása"
+
+#: tryton/gui/window/shortcuts.py:31
+msgid "Paste copied text"
+msgstr "Kijelölt szöveg beillesztése"
+
+#: tryton/gui/window/shortcuts.py:32
+msgid "Next widget"
+msgstr "Következő Widget"
+
+#: tryton/gui/window/shortcuts.py:33
+msgid "Previous widget"
+msgstr "Előző Widget"
+
+#: tryton/gui/window/shortcuts.py:34
+msgid "Relation Entries Shortcuts"
+msgstr "Gyorsbillentyű az összekötő mezők beírásához"
+
+#: tryton/gui/window/shortcuts.py:35
+msgid "Create new relation"
+msgstr "Új kapcsolat létrehozása"
+
+#: tryton/gui/window/shortcuts.py:36
+msgid "Open/Search relation"
+msgstr "Kapcsolatok keresése/megnyitása"
+
+#: tryton/gui/window/shortcuts.py:37
+msgid "List Entries Shortcuts"
+msgstr "Gyorsbillentyűk lista mezők beírásához"
+
+#: tryton/gui/window/shortcuts.py:38
+msgid "Create new line"
+msgstr "Új sor létrehozása"
+
+#: tryton/gui/window/shortcuts.py:39
+msgid "Open relation"
+msgstr "Kapcsolat megnyitása"
+
+#: tryton/gui/window/shortcuts.py:40
+msgid "Mark line for deletion"
+msgstr "Kijelölés törlésre"
+
+#: tryton/gui/window/shortcuts.py:41
+msgid "Unmark line for deletion"
+msgstr "A törlési kijelölés visszavonása"
+
+#: tryton/gui/window/shortcuts.py:44
+msgid "Edition Widgets"
+msgstr "Widget szerkesztéshez"
+
+#: 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>Üdvözöli Önz 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>Ismeri a Tritont, névrokon a projektünkhöz</b>\n"
+"\n"
+"Triton (ejtsd /ˈtraɪtən/ TRYE-tən, vagy görögül Τρίτων)\n"
+"a Neptunusz legnagyobb holdja, felfedezve 1846 okt.10-én\n"
+"William Lassell által.Ez az egyetlen nagy hold a szolárrendszerbe \n"
+"csökkenő keringési pályával, amely ellenkező irányba kering\n"
+"a bolygó forgásával. 2700 km átmérővel a szolárrendszer hetedik legnagyobb\n"
+"bolygója.A triton a Neptunusz körpályának az ismert össztömegének a 99,5%-át teszi ki\n"
+"a planetáris gyűrűk és 12 másik Holdat befoglalva. \n"
+"És gazdagabb tömegben, mint a naprendszer összesen ismert 159 Holdja.\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>adatok exportálása listából</b>\n"
+"\n"
+"Ctrl + C-vel lehet adatot listából másolni \n"
+"és a Ctrl + V-vel egy tetszőleges helyre beilleszteni.\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>grafika exportálása</b>\n"
+"\n"
+"Grafikát lehet jobb egérgombbal PNG-adatként menteni.\n"
+
+#: tryton/gui/window/tips.py:45
+msgid "Tips"
+msgstr "Tippek"
+
+#: tryton/gui/window/tips.py:65
+msgid "_Display a new tip next time"
+msgstr "Tippek mutatása Tryton indításakor"
+
+#: tryton/gui/window/win_export.py:25
+msgid "Export to CSV"
+msgstr "CSV ként exportálni"
+
+#: tryton/gui/window/win_export.py:40
+msgid "<b>Predefined exports</b>"
+msgstr "<b>Előre megadott export</b>"
+
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
+msgid "<b>All fields</b>"
+msgstr "<b>összes mező</b>"
+
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
+msgid "Clear"
+msgstr "Törlés"
+
+#: tryton/gui/window/win_export.py:95
+msgid "Save Export"
+msgstr "Export mentése"
+
+#: tryton/gui/window/win_export.py:104
+msgid "Delete Export"
+msgstr "Export törlése"
+
+#: tryton/gui/window/win_export.py:115
+msgid "<b>Fields to export</b>"
+msgstr "<b>exportálandó mezők</b>"
+
+#: tryton/gui/window/win_export.py:132
+msgid "<b>Options</b>"
+msgstr "<b>opciók</b>"
+
+#: tryton/gui/window/win_export.py:142
+msgid "Open"
+msgstr "Megnyitás"
+
+#: tryton/gui/window/win_export.py:147
+msgid "Add _field names"
+msgstr "Mezőnév hozzáadása"
+
+#: tryton/gui/window/win_export.py:215
+msgid "Name"
+msgstr "Név"
+
+#: tryton/gui/window/win_export.py:247
+#, python-format
+msgid "%s (string)"
+msgstr "%s (string)"
+
+#: tryton/gui/window/win_export.py:345
+msgid "What is the name of this export?"
+msgstr "Mi legyen az export neve?"
+
+#: tryton/gui/window/win_export.py:351
+#, python-format
+msgid "Override '%s' definition?"
+msgstr "'%s' definiálásának figyelembe vétele?"
+
+#: tryton/gui/window/win_export.py:481
+#, python-format
+msgid "%d record saved!"
+msgstr "%d adat mentve"
+
+#: tryton/gui/window/win_export.py:483
+#, python-format
+msgid "%d records saved!"
+msgstr "%d adatok mentve!"
+
+#: tryton/gui/window/win_export.py:486
+#, python-format
+msgid ""
+"Operation failed!\n"
+"Error message:\n"
+"%s"
+msgstr ""
+"Sikertelen művelet!\n"
+"Error message:\n"
+"%s"
+
+#: tryton/gui/window/win_form.py:36
+msgid "Link"
+msgstr "Hivatkozás"
+
+#: tryton/gui/window/win_form.py:127
+msgid "Add"
+msgstr "Hozzáad"
+
+#: tryton/gui/window/win_form.py:140
+msgid "Remove <Del>"
+msgstr "Mező eltávolítása<Entf>"
+
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+msgid "Create a new record <F3>"
+msgstr "Új adat létrehozása.<F3>"
+
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+msgid "Delete selected record <Del>"
+msgstr "Kiválasztott adatok törlése<Entf>"
+
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+msgid "Undelete selected record <Ins>"
+msgstr "Törlés visszavonása<Einfg>"
+
+#: tryton/gui/window/win_import.py:20
+msgid "Import from CSV"
+msgstr "CSV-ből adatok importálása"
+
+#: tryton/gui/window/win_import.py:76
+msgid "Auto-Detect"
+msgstr "Automatikus felismerés"
+
+#: tryton/gui/window/win_import.py:93
+msgid "<b>Fields to import</b>"
+msgstr "<b>mezők importálása</b>"
+
+#: tryton/gui/window/win_import.py:109
+msgid "File to Import:"
+msgstr "Importadatok:"
+
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
+msgid "Open..."
+msgstr "Megnyitás..."
+
+#: tryton/gui/window/win_import.py:117
+msgid "CSV Parameters"
+msgstr "CSV Paraméter"
+
+#: tryton/gui/window/win_import.py:125
+msgid "Field Separator:"
+msgstr "Mezőelválasztó"
+
+#: tryton/gui/window/win_import.py:135
+msgid "Text Delimiter:"
+msgstr "Szövegelválasztó"
+
+#: tryton/gui/window/win_import.py:144
+msgid "Encoding:"
+msgstr "Kódolás:"
+
+#: tryton/gui/window/win_import.py:154
+msgid "Lines to Skip:"
+msgstr "Átugrandó sorok:"
+
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
+msgid "Field name"
+msgstr "Mezőnév"
+
+#: tryton/gui/window/win_import.py:254
+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:265
+msgid "Error opening CSV file"
+msgstr "Hiba a CSV fájl megnyitásakor"
+
+#: tryton/gui/window/win_import.py:292
+#, 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:367
+#, python-format
+msgid "%d record imported!"
+msgstr "%d adat importálva..."
+
+#: tryton/gui/window/win_import.py:369
+#, python-format
+msgid "%d records imported!"
+msgstr "%d adat importálva..."
+
+#: tryton/gui/window/wizard.py:287
+msgid "Wizard"
+msgstr "Wizard"
+
+#: tryton/gui/window/view_form/screen/screen.py:147
+msgid "ID"
+msgstr "ID"
+
+#: tryton/gui/window/view_form/screen/screen.py:148
+msgid "Creation User"
+msgstr "Által létrehozva"
+
+#: tryton/gui/window/view_form/screen/screen.py:149
+msgid "Creation Date"
+msgstr "Létrehozás dátuma"
+
+#: tryton/gui/window/view_form/screen/screen.py:150
+msgid "Modification User"
+msgstr "Által módosítva"
+
+#: tryton/gui/window/view_form/screen/screen.py:151
+msgid "Modification Date"
+msgstr "Módosítás dátuma"
+
+#: tryton/gui/window/view_form/screen/screen.py:651
+msgid "Unable to get view tree state"
+msgstr "A menü nem látható"
+
+#: tryton/gui/window/view_form/screen/screen.py:710
+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:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Mentés másként"
+
+#: tryton/gui/window/view_form/view/graph.py:110
+msgid "Image Size"
+msgstr "Kép mérete"
+
+#: tryton/gui/window/view_form/view/graph.py:119
+msgid "Width:"
+msgstr "Szélesség:"
+
+#: tryton/gui/window/view_form/view/graph.py:126
+msgid "Height:"
+msgstr "Magasság:"
+
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "PNG image (*.png)"
+msgstr "PNG Kép (*.png)"
+
+#: tryton/gui/window/view_form/view/graph.py:159
+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
+msgid "F_ilters"
+msgstr "Szűrő"
+
+#: tryton/gui/window/view_form/view/screen_container.py:198
+msgid "Show bookmarks of filters"
+msgstr "Szűrő könyvjelzők megjelenítése"
+
+#: tryton/gui/window/view_form/view/screen_container.py:359
+msgid "Remove this bookmark"
+msgstr "Könyvjelző eltávolítása"
+
+#: tryton/gui/window/view_form/view/screen_container.py:366
+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
+msgid "Bookmark Name:"
+msgstr "Könyvjelző neve:"
+
+#: tryton/gui/window/view_form/view/screen_container.py:538
+msgid "Find"
+msgstr "Keresés"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+msgid "Today"
+msgstr "Ma"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+msgid "Week View"
+msgstr "Heti nézet"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+msgid "Month View"
+msgstr "Havi nézet"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+msgid "Week"
+msgstr "Hét"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Összes fájl"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+msgid "Show plain text"
+msgstr "Magyarázat mutatása"
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+msgid "Add value"
+msgstr "Érték hozzáadása"
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#, python-format
+msgid "Remove \"%s\""
+msgstr "„%s” eltávolítása"
+
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
+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
+msgid "Add existing record"
+msgstr "Meglévő adat hozzáadása"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+msgid "Remove selected record <Del>"
+msgstr "Kijelölt adat törlése<Entf>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+msgid "Open a record <F2>"
+msgstr "Adat megnyitása<F2>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+msgid "Search a record <F2>"
+msgstr "Adat keresése<F2>"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+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
+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:836
+#, 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 "Fordítás"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+msgid "Edit"
+msgstr "Szerkesztés"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+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!"
+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!"
+msgstr "Más nyelv nem használható!"
+
+#: tryton/plugins/translation/__init__.py:22
+msgid "Translate view"
+msgstr "Nézet elfordítása"
diff --git a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..afbd8cb
Binary files /dev/null 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
new file mode 100644
index 0000000..584c6c5
--- /dev/null
+++ b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
@@ -0,0 +1,1901 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+#: tryton/config.py:76
+msgid "specify alternate config file"
+msgstr "indica un altro file di configurazione"
+
+#: tryton/config.py:79
+msgid "development mode"
+msgstr "modo sviluppatore"
+
+#: tryton/config.py:82
+msgid "logging everything at INFO level"
+msgstr "registrare tutto a livello INFO"
+
+#: tryton/config.py:84
+msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr ""
+"specifica il livello di registrazione: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+
+#: tryton/config.py:87
+msgid "specify the login user"
+msgstr "specifica l'utente di accesso"
+
+#: tryton/config.py:89
+msgid "specify the server port"
+msgstr "specifica la porta del server"
+
+#: tryton/config.py:91
+msgid "specify the server hostname"
+msgstr "specifica l'hostname"
+
+#: tryton/config.py:95
+msgid "Too much arguments"
+msgstr "Troppi argomenti"
+
+#: tryton/config.py:98
+#, python-format
+msgid "File \"%s\" not found"
+msgstr "File \"%s\" non trovato"
+
+#: tryton/config.py:136
+#, python-format
+msgid "Unable to write config file %s!"
+msgstr "Impossibile scrivere il file di configurazione %s!"
+
+#: tryton/translate.py:184
+#, python-format
+msgid "Unable to set locale %s"
+msgstr "Impossibile impostare la localizzazione %s"
+
+#: tryton/action/main.py:176
+msgid "Select your action"
+msgstr "Scegliere un'azione"
+
+#: tryton/action/main.py:182
+msgid "No action defined!"
+msgstr "Nessuna azione definita!"
+
+#: tryton/common/common.py:274
+msgid "Tryton Connection"
+msgstr "Connessione Tryton"
+
+#: tryton/common/common.py:285
+msgid "Server:"
+msgstr "Server:"
+
+#: tryton/common/common.py:303
+msgid "Port:"
+msgstr "Porta:"
+
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+msgid "Selection"
+msgstr "Selezione"
+
+#: tryton/common/common.py:380
+msgid "Your selection:"
+msgstr "Selezione:"
+
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
+msgid "Save As..."
+msgstr "Salva come..."
+
+#: tryton/common/common.py:642
+msgid "Always ignore this warning."
+msgstr "Ignorare sempre l'avviso"
+
+#: tryton/common/common.py:647
+msgid "Do you want to proceed?"
+msgstr "Procedere?"
+
+#: tryton/common/common.py:666
+msgid "Confirmation"
+msgstr "Conferma"
+
+#: tryton/common/common.py:772 tryton/common/common.py:1080
+msgid "Concurrency Exception"
+msgstr "Eccezione di concorrenza"
+
+#: 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>Write Concurrency Warning:</b>\n"
+"\n"
+"Il record veniva modificato durante l'edit.\n"
+"Scegliere:\n"
+"- \"Cancel\" per rinunciare a salvarlo;\n"
+"- \"Compare\" per vedere la versione modificata;\n"
+"- \"Write Anyway\" per salvare la versione attuale."
+
+#: tryton/common/common.py:795
+msgid "Compare"
+msgstr "Confrontare"
+
+#: tryton/common/common.py:800
+msgid "Write Anyway"
+msgstr "Scrivere comunque"
+
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
+msgid "Error"
+msgstr "Errore"
+
+#: tryton/common/common.py:830
+msgid "Report Bug"
+msgstr "Segnala un bug"
+
+#: tryton/common/common.py:837
+msgid "Application Error!"
+msgstr "Errore di applicazione!"
+
+#: tryton/common/common.py:860
+msgid "Error: "
+msgstr "Errore:"
+
+#: tryton/common/common.py:880
+#, 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
+msgid "Bug Tracker"
+msgstr "Bug Tracker"
+
+#: tryton/common/common.py:928
+msgid "User:"
+msgstr "Utente:"
+
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
+msgid "Password:"
+msgstr "Password:"
+
+#: 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 ""
+"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
+msgid "Created new bug with ID "
+msgstr "Creato nuovo bug con ID"
+
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
+msgid ""
+"Connection error!\n"
+"Bad username or password!"
+msgstr ""
+"Errore di connessione!\n"
+"Nome utente o password errati!"
+
+#: tryton/common/common.py:1015
+msgid "Exception:"
+msgstr "Eccezione:"
+
+#: 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 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!"
+msgstr "Rischio di sicurezza!"
+
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
+msgid ""
+"Connection error!\n"
+"Unable to connect to the server!"
+msgstr ""
+"Errore di connessione!\n"
+"Impossibile connettersi al server!"
+
+#: tryton/common/common.py:1119
+msgid "Network Error!"
+msgstr "Errore di rete!"
+
+#: tryton/common/completion.py:22
+msgid "<i>Search...</i>"
+msgstr "<i>Cerca...</i>"
+
+#: tryton/common/completion.py:24
+msgid "<i>Create...</i>"
+msgstr "<i>Crea...</i>"
+
+#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
+msgid "Value"
+msgstr "Valore"
+
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
+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
+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 di visualizzazione"
+
+#: tryton/common/datetime_.py:61
+msgid "Open the calendar"
+msgstr "Apertura calendario"
+
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+msgid "Date Format"
+msgstr "Formato data"
+
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+msgid "Displayed date format"
+msgstr "Formato data visualizzato"
+
+#: 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 "true"
+
+#: tryton/common/domain_parser.py:235
+msgid "t"
+msgstr "o"
+
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
+msgid "True"
+msgstr "True"
+
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
+msgid "False"
+msgstr "False"
+
+#: tryton/common/popup_menu.py:77
+msgid "Edit..."
+msgstr "Modifica..."
+
+#: tryton/common/popup_menu.py:82
+msgid "Attachments..."
+msgstr "Allegati..."
+
+#: tryton/common/popup_menu.py:92
+msgid "Actions..."
+msgstr "Azioni..."
+
+#: tryton/common/popup_menu.py:93
+msgid "Relate..."
+msgstr "Riferire..."
+
+#: tryton/common/popup_menu.py:94
+msgid "Report..."
+msgstr "Segnala..."
+
+#: tryton/common/popup_menu.py:95
+msgid "E-Mail..."
+msgstr "E-Mail"
+
+#: tryton/common/popup_menu.py:96
+msgid "Print..."
+msgstr "Stampa..."
+
+#: 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 "g"
+
+#: 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 "_File"
+
+#: tryton/gui/main.py:226
+msgid "_User"
+msgstr "_User"
+
+#: tryton/gui/main.py:240
+msgid "_Options"
+msgstr "_Options"
+
+#: tryton/gui/main.py:248
+msgid "Fa_vorites"
+msgstr "Fa_vorites"
+
+#: tryton/gui/main.py:264
+msgid "_Help"
+msgstr "_Help"
+
+#: tryton/gui/main.py:373
+msgid "No result found."
+msgstr "Nessun risultato trovato."
+
+#: tryton/gui/main.py:395
+msgid "_Connect..."
+msgstr "_Connect"
+
+#: tryton/gui/main.py:404
+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
+msgid "_Quit..."
+msgstr "_Esci"
+
+#: tryton/gui/main.py:476
+msgid "_Preferences..."
+msgstr "_Preferenze"
+
+#: tryton/gui/main.py:487
+msgid "_Menu Reload"
+msgstr "_Ricarica menu"
+
+#: tryton/gui/main.py:496
+msgid "_Menu Toggle"
+msgstr "_Menu Toggle"
+
+#: tryton/gui/main.py:503
+msgid "_Global Search"
+msgstr "_Global Search"
+
+#: tryton/gui/main.py:518
+msgid "_Toolbar"
+msgstr "_Toolbar"
+
+#: tryton/gui/main.py:526
+msgid "_Default"
+msgstr "_Default"
+
+#: tryton/gui/main.py:536
+msgid "_Text and Icons"
+msgstr "_Testo e Icone"
+
+#: tryton/gui/main.py:546
+msgid "_Icons"
+msgstr "_Icone"
+
+#: tryton/gui/main.py:555
+msgid "_Text"
+msgstr "_Testo"
+
+#: tryton/gui/main.py:564
+msgid "_Menubar"
+msgstr "_Barra dei Menu"
+
+#: tryton/gui/main.py:572
+msgid "Change Accelerators"
+msgstr "Cambia acceleratori"
+
+#: tryton/gui/main.py:580
+msgid "_Mode"
+msgstr "_Modalità"
+
+#: tryton/gui/main.py:588
+msgid "_Normal"
+msgstr "_Normale"
+
+#: tryton/gui/main.py:596
+msgid "_PDA"
+msgstr "_PDA"
+
+#: tryton/gui/main.py:603
+msgid "_Form"
+msgstr "_Modulo"
+
+#: tryton/gui/main.py:612
+msgid "Save Width/Height"
+msgstr "Salva larghezza/altezza"
+
+#: tryton/gui/main.py:623
+msgid "Save Tree State"
+msgstr "Salva diagramma ad albero"
+
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:645
+msgid "Spell Checking"
+msgstr "Controllo ortogbrafico"
+
+#: tryton/gui/main.py:655
+msgid "_Previous Tab"
+msgstr "_Scheda precedente"
+
+#: tryton/gui/main.py:661
+msgid "_Next Tab"
+msgstr "_Scheda Successiva"
+
+#: tryton/gui/main.py:667
+msgid "Search Limit..."
+msgstr "Limite di ricerca..."
+
+#: tryton/gui/main.py:673
+msgid "_Email..."
+msgstr "_Email"
+
+#: tryton/gui/main.py:681
+msgid "_Save Options"
+msgstr "_Salva opzioni"
+
+#: tryton/gui/main.py:693
+msgid "_Tips..."
+msgstr "_Tips"
+
+#: tryton/gui/main.py:702
+msgid "_Keyboard Shortcuts..."
+msgstr "_Scorciatoie da tastiera"
+
+#: tryton/gui/main.py:711
+msgid "_About..."
+msgstr "_About"
+
+#: tryton/gui/main.py:762
+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:330
+#: 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 "Ricerca"
+
+#: tryton/gui/main.py:914
+msgid ""
+"The following action requires to close all tabs.\n"
+"Do you want to continue?"
+msgstr ""
+"L'azione seguente richiede la chiusura di tutte le finestre.\n"
+"Vuoi continuare?"
+
+#: tryton/gui/main.py:1173
+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/board.py:19 tryton/gui/window/form.py:31
+msgid "New"
+msgstr "Nuovo"
+
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+msgid "Create a new record"
+msgstr "Crea nuovo record"
+
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
+msgid "Save"
+msgstr "Salva"
+
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+msgid "Save this record"
+msgstr "Salva questo record."
+
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+msgid "Switch"
+msgstr "Cambia"
+
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+msgid "Switch view"
+msgstr "Cambia vista"
+
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+msgid "_Reload"
+msgstr "_RIcarica"
+
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+msgid "Reload"
+msgstr "Ricarica"
+
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+msgid "_New"
+msgstr "_Nuovo"
+
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
+msgid "_Save"
+msgstr "_Salva"
+
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+msgid "_Switch View"
+msgstr "_Cambia vista"
+
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+msgid "_Reload/Undo"
+msgstr ""
+
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+msgid "_Delete..."
+msgstr "_Eliimina"
+
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+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
+msgid "Profile"
+msgstr "Profilo"
+
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
+msgid "_Add"
+msgstr "Profilo"
+
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
+msgid "_Remove"
+msgstr "_Rimuovi"
+
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+msgid "Host:"
+msgstr "Host:"
+
+#: tryton/gui/window/dblogin.py:98
+msgid "Create"
+msgstr "Crea"
+
+#: tryton/gui/window/dblogin.py:101
+msgid "Fetching databases list"
+msgstr "Preleva la lista dei database"
+
+#: tryton/gui/window/dblogin.py:119
+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
+msgid "Incompatible version of the server"
+msgstr "Versione del server incompatibile"
+
+#: tryton/gui/window/dblogin.py:359
+msgid "Login"
+msgstr "Accedi"
+
+#: tryton/gui/window/dblogin.py:366
+msgid "_Cancel"
+msgstr "_Cancella"
+
+#: tryton/gui/window/dblogin.py:371
+msgid "Cancel connection to the Tryton server"
+msgstr "Cancella la connessione al server Tryton"
+
+#: tryton/gui/window/dblogin.py:373
+msgid "C_onnect"
+msgstr "C_onnetti"
+
+#: tryton/gui/window/dblogin.py:378
+msgid "Connect the Tryton server"
+msgstr "Connetti il server Tryton"
+
+#: tryton/gui/window/dblogin.py:406
+msgid "Profile:"
+msgstr "Profilo:"
+
+#: tryton/gui/window/dblogin.py:410
+msgid "_Manage profiles"
+msgstr "_Gestisci profili"
+
+#: tryton/gui/window/dblogin.py:420
+msgid "Host / Database information"
+msgstr "Informazione su Host/ database"
+
+#: tryton/gui/window/dblogin.py:459
+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
+msgid "Email Program Settings"
+msgstr "Impostazioni programma Email"
+
+#: tryton/gui/window/email.py:28
+msgid "Command Line:"
+msgstr "Riga di comando:"
+
+#: tryton/gui/window/email.py:38
+msgid "Legend of Available Placeholders:"
+msgstr "Leggenda dei segnaposto disponibili:"
+
+#: tryton/gui/window/email.py:45
+msgid "To:"
+msgstr "a:"
+
+#: tryton/gui/window/email.py:49
+msgid "CC:"
+msgstr ".CC"
+
+#: tryton/gui/window/email.py:53
+msgid "Subject:"
+msgstr "Oggetto:"
+
+#: tryton/gui/window/email.py:57
+msgid "Body:"
+msgstr "Corpo:"
+
+#: tryton/gui/window/email.py:61
+msgid "Attachment:"
+msgstr "Allegato:"
+
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+msgid "Previous"
+msgstr "Precedente"
+
+#: tryton/gui/window/form.py:41
+msgid "Previous Record"
+msgstr "Record Precedente"
+
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+msgid "Next"
+msgstr "Prossimo"
+
+#: tryton/gui/window/form.py:42
+msgid "Next Record"
+msgstr "Prossimo Record"
+
+#: tryton/gui/window/form.py:45
+msgid "Attachment(0)"
+msgstr "Allegato (0)"
+
+#: tryton/gui/window/form.py:46
+msgid "Add an attachment to the record"
+msgstr "Aggiungi un allegato al record"
+
+#: tryton/gui/window/form.py:55
+msgid "_Duplicate"
+msgstr "_Duplicato"
+
+#: tryton/gui/window/form.py:60
+msgid "_Previous"
+msgstr "_Precedente"
+
+#: tryton/gui/window/form.py:62
+msgid "_Next"
+msgstr "_Successivo"
+
+#: tryton/gui/window/form.py:63
+msgid "_Search"
+msgstr "_Cerca"
+
+#: tryton/gui/window/form.py:64
+msgid "View _Logs..."
+msgstr "Visualizza_Log..."
+
+#: tryton/gui/window/form.py:65
+msgid "Show revisions..."
+msgstr "Mostra revisioni..."
+
+#: tryton/gui/window/form.py:70
+msgid "A_ttachments..."
+msgstr "A_llegati..."
+
+#: tryton/gui/window/form.py:72
+msgid "_Actions..."
+msgstr "_Azioni..."
+
+#: tryton/gui/window/form.py:74
+msgid "_Relate..."
+msgstr ""
+
+#: tryton/gui/window/form.py:77
+msgid "_Report..."
+msgstr "_Rapporto..."
+
+#: tryton/gui/window/form.py:79
+msgid "_E-Mail..."
+msgstr "_E-Mail..."
+
+#: tryton/gui/window/form.py:81
+msgid "_Print..."
+msgstr "_Stampa..."
+
+#: tryton/gui/window/form.py:84
+msgid "_Export Data..."
+msgstr "_Esporta dati"
+
+#: tryton/gui/window/form.py:86
+msgid "_Import Data..."
+msgstr "_Importa dati"
+
+#: tryton/gui/window/form.py:209
+#, python-format
+msgid "Attachment(%d)"
+msgstr "Allegato(%d)"
+
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
+
+#: tryton/gui/window/form.py:232
+msgid "ID:"
+msgstr "ID:"
+
+#: tryton/gui/window/form.py:233
+msgid "Creation User:"
+msgstr "Utente di creazione:"
+
+#: tryton/gui/window/form.py:234
+msgid "Creation Date:"
+msgstr "Data di creazione:"
+
+#: tryton/gui/window/form.py:235
+msgid "Latest Modification by:"
+msgstr "Ultima modifica a:"
+
+#: tryton/gui/window/form.py:236
+msgid "Latest Modification Date:"
+msgstr "Ultima data di modifica:"
+
+#: tryton/gui/window/form.py:255
+msgid "Model:"
+msgstr "Modello:"
+
+#: tryton/gui/window/form.py:307
+msgid "Are you sure to remove this record?"
+msgstr "Sei sicuro di rimuovere questo record?"
+
+#: tryton/gui/window/form.py:309
+msgid "Are you sure to remove those records?"
+msgstr "Sei sicuro di rimuovere questi records?"
+
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
+
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
+
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
+
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
+
+#: tryton/gui/window/form.py:454
+msgid " of "
+msgstr "di"
+
+#: tryton/gui/window/form.py:475
+msgid ""
+"This record has been modified\n"
+"do you want to save it ?"
+msgstr ""
+"Il record è stato modificato\n"
+" intendi salvarlo?"
+
+#: tryton/gui/window/form.py:528
+msgid "Action"
+msgstr "Azione"
+
+#: tryton/gui/window/form.py:528
+msgid "Launch action"
+msgstr "Lanciare l'azione"
+
+#: tryton/gui/window/form.py:529
+msgid "Relate"
+msgstr "Collegato"
+
+#: tryton/gui/window/form.py:529
+msgid "Open related records"
+msgstr "Apri record relazionati"
+
+#: tryton/gui/window/form.py:531
+msgid "Report"
+msgstr "Rapporto"
+
+#: tryton/gui/window/form.py:531
+msgid "Open report"
+msgstr "Apri rapporto"
+
+#: tryton/gui/window/form.py:532
+msgid "E-Mail"
+msgstr "E-Mail"
+
+#: tryton/gui/window/form.py:532
+msgid "E-Mail report"
+msgstr "report E-Mail"
+
+#: tryton/gui/window/form.py:533
+msgid "Print"
+msgstr "Stampa"
+
+#: tryton/gui/window/form.py:533
+msgid "Print report"
+msgstr "Stampa report"
+
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+msgid "Unknown"
+msgstr "Sconosciuto"
+
+#: tryton/gui/window/limit.py:17
+msgid "Limit"
+msgstr "Limite"
+
+#: tryton/gui/window/limit.py:26
+msgid "Search Limit Settings"
+msgstr "Impostazione dei limiti di ricerca"
+
+#: tryton/gui/window/limit.py:29
+msgid "Limit:"
+msgstr "Limite:"
+
+#: tryton/gui/window/preference.py:23
+msgid "Preferences"
+msgstr "Preferenze"
+
+#: tryton/gui/window/preference.py:49
+msgid "Edit User Preferences"
+msgstr "Modifica le preferenze dell'utente"
+
+#: tryton/gui/window/preference.py:75
+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
+msgid "Select a revision"
+msgstr "Scegli una revisione"
+
+#: tryton/gui/window/revision.py:31
+msgid "Revision:"
+msgstr "Revisione:"
+
+#: tryton/gui/window/shortcuts.py:17
+msgid "Keyboard Shortcuts"
+msgstr "Scorciatoie da tastiera"
+
+#: tryton/gui/window/shortcuts.py:28
+msgid "Text Entries Shortcuts"
+msgstr "Scorciatoie imputazioni di testo"
+
+#: tryton/gui/window/shortcuts.py:29
+msgid "Cut selected text"
+msgstr "Taglia testo selezionato"
+
+#: tryton/gui/window/shortcuts.py:30
+msgid "Copy selected text"
+msgstr "Copia il testo selezionato"
+
+#: tryton/gui/window/shortcuts.py:31
+msgid "Paste copied text"
+msgstr "Incolla il testo copiato"
+
+#: tryton/gui/window/shortcuts.py:32
+msgid "Next widget"
+msgstr "Prossimo oggetto"
+
+#: tryton/gui/window/shortcuts.py:33
+msgid "Previous widget"
+msgstr "Oggetto precedente"
+
+#: tryton/gui/window/shortcuts.py:34
+msgid "Relation Entries Shortcuts"
+msgstr "Scorciatoie imputazioni relazionate"
+
+#: tryton/gui/window/shortcuts.py:35
+msgid "Create new relation"
+msgstr "Crea nuova relazione"
+
+#: tryton/gui/window/shortcuts.py:36
+msgid "Open/Search relation"
+msgstr "Apri/Cerca relazione"
+
+#: tryton/gui/window/shortcuts.py:37
+msgid "List Entries Shortcuts"
+msgstr "Lista scorciatoie registrazioni"
+
+#: tryton/gui/window/shortcuts.py:38
+msgid "Create new line"
+msgstr "Crea nuova riga"
+
+#: tryton/gui/window/shortcuts.py:39
+msgid "Open relation"
+msgstr "Apri relazione"
+
+#: tryton/gui/window/shortcuts.py:40
+msgid "Mark line for deletion"
+msgstr "Seleziona riga da eliminare"
+
+#: tryton/gui/window/shortcuts.py:41
+msgid "Unmark line for deletion"
+msgstr "Deseleziona riga da eliminare"
+
+#: tryton/gui/window/shortcuts.py:44
+msgid "Edition Widgets"
+msgstr "Widget di modifica"
+
+#: 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>Benvenuto in 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 ""
+
+#: 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>Esporta records di lista</b>\n"
+"\n"
+"Puoi copiare records da qualsiasi lista con Ctrl + C\n"
+"ed incollarli in qualsiasi applicazione 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>Esporta grafici</b>\n"
+"\n"
+"Puoi salvare i grafici in file PNG cliccando con il tasto destro.\n"
+
+#: tryton/gui/window/tips.py:45
+msgid "Tips"
+msgstr "Tips"
+
+#: tryton/gui/window/tips.py:65
+msgid "_Display a new tip next time"
+msgstr "_Mostra un nuovo suggerimento la prossima volta"
+
+#: tryton/gui/window/win_export.py:25
+msgid "Export to CSV"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:40
+msgid "<b>Predefined exports</b>"
+msgstr "<b>esportazioni predefinite</b>"
+
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
+msgid "<b>All fields</b>"
+msgstr "<b>Tutti i campi</b>"
+
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
+msgid "Clear"
+msgstr "Pulisci"
+
+#: tryton/gui/window/win_export.py:95
+msgid "Save Export"
+msgstr "Salva esportazione"
+
+#: tryton/gui/window/win_export.py:104
+msgid "Delete Export"
+msgstr "Elimina Esportazione"
+
+#: tryton/gui/window/win_export.py:115
+msgid "<b>Fields to export</b>"
+msgstr "<b>Campi da esportare</b>"
+
+#: tryton/gui/window/win_export.py:132
+msgid "<b>Options</b>"
+msgstr "<b>Opzioni</b>"
+
+#: tryton/gui/window/win_export.py:142
+msgid "Open"
+msgstr "Apri"
+
+#: tryton/gui/window/win_export.py:147
+msgid "Add _field names"
+msgstr "Aggiungi_nomi di campo"
+
+#: tryton/gui/window/win_export.py:215
+msgid "Name"
+msgstr "Nome"
+
+#: tryton/gui/window/win_export.py:247
+#, python-format
+msgid "%s (string)"
+msgstr "%s (stringa)"
+
+#: tryton/gui/window/win_export.py:345
+msgid "What is the name of this export?"
+msgstr "Qual è il nome di questa esportazione?"
+
+#: tryton/gui/window/win_export.py:351
+#, python-format
+msgid "Override '%s' definition?"
+msgstr "Sostituisci definizione '%s'?"
+
+#: tryton/gui/window/win_export.py:481
+#, python-format
+msgid "%d record saved!"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:483
+#, python-format
+msgid "%d records saved!"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:486
+#, python-format
+msgid ""
+"Operation failed!\n"
+"Error message:\n"
+"%s"
+msgstr ""
+
+#: tryton/gui/window/win_form.py:36
+msgid "Link"
+msgstr ""
+
+#: tryton/gui/window/win_form.py:127
+msgid "Add"
+msgstr ""
+
+#: tryton/gui/window/win_form.py:140
+msgid "Remove <Del>"
+msgstr ""
+
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+msgid "Create a new record <F3>"
+msgstr ""
+
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+msgid "Delete selected record <Del>"
+msgstr "Elimina il record selezionato <Del>"
+
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+msgid "Undelete selected record <Ins>"
+msgstr "Non eliminare il record selezionato <Ins>"
+
+#: tryton/gui/window/win_import.py:20
+msgid "Import from CSV"
+msgstr "Importa da CSV"
+
+#: tryton/gui/window/win_import.py:76
+msgid "Auto-Detect"
+msgstr "Autorilevamento"
+
+#: tryton/gui/window/win_import.py:93
+msgid "<b>Fields to import</b>"
+msgstr "<b>Campi da importare</b>"
+
+#: tryton/gui/window/win_import.py:109
+msgid "File to Import:"
+msgstr "File da importare:"
+
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
+msgid "Open..."
+msgstr "Apri..."
+
+#: tryton/gui/window/win_import.py:117
+msgid "CSV Parameters"
+msgstr "Parametri CSV"
+
+#: tryton/gui/window/win_import.py:125
+msgid "Field Separator:"
+msgstr "Separatore di campo:"
+
+#: tryton/gui/window/win_import.py:135
+msgid "Text Delimiter:"
+msgstr "Delimitatore di testo:"
+
+#: tryton/gui/window/win_import.py:144
+msgid "Encoding:"
+msgstr "Codifica:"
+
+#: tryton/gui/window/win_import.py:154
+msgid "Lines to Skip:"
+msgstr "Righe da saltare."
+
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
+msgid "Field name"
+msgstr "Nome di campo"
+
+#: tryton/gui/window/win_import.py:254
+msgid "You must select an import file first!"
+msgstr "Devi prima selezionare un file di import!"
+
+#: tryton/gui/window/win_import.py:265
+msgid "Error opening CSV file"
+msgstr "Errore nell'apertura del file CSV"
+
+#: tryton/gui/window/win_import.py:292
+#, 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:367
+#, python-format
+msgid "%d record imported!"
+msgstr " %d record importati"
+
+#: tryton/gui/window/win_import.py:369
+#, python-format
+msgid "%d records imported!"
+msgstr " %d record importati!"
+
+#: tryton/gui/window/wizard.py:287
+msgid "Wizard"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:147
+msgid "ID"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:148
+msgid "Creation User"
+msgstr "Creazione utente"
+
+#: tryton/gui/window/view_form/screen/screen.py:149
+msgid "Creation Date"
+msgstr "Data di creazione"
+
+#: tryton/gui/window/view_form/screen/screen.py:150
+msgid "Modification User"
+msgstr "Utente di modifica"
+
+#: tryton/gui/window/view_form/screen/screen.py:151
+msgid "Modification Date"
+msgstr "Data di modifica"
+
+#: tryton/gui/window/view_form/screen/screen.py:651
+msgid "Unable to get view tree state"
+msgstr "Impossibile ottenere la vista ad albero"
+
+#: tryton/gui/window/view_form/screen/screen.py:710
+msgid "Unable to set view tree state"
+msgstr "Impossibile configurare la vista ad albero"
+
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Salva come"
+
+#: tryton/gui/window/view_form/view/graph.py:110
+msgid "Image Size"
+msgstr "Dimensione immagine"
+
+#: tryton/gui/window/view_form/view/graph.py:119
+msgid "Width:"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:126
+msgid "Height:"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "PNG image (*.png)"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:159
+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
+msgid "F_ilters"
+msgstr "F_iltri"
+
+#: tryton/gui/window/view_form/view/screen_container.py:198
+msgid "Show bookmarks of filters"
+msgstr "Mostra segnalibri dei filtri"
+
+#: tryton/gui/window/view_form/view/screen_container.py:359
+msgid "Remove this bookmark"
+msgstr "Rimuovi questo segnalibro"
+
+#: tryton/gui/window/view_form/view/screen_container.py:366
+msgid "Bookmark this filter"
+msgstr "Memorizza questo filtro"
+
+#: tryton/gui/window/view_form/view/screen_container.py:431
+msgid "Bookmark Name:"
+msgstr "Nome segnalibro:"
+
+#: tryton/gui/window/view_form/view/screen_container.py:538
+msgid "Find"
+msgstr "Trova"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+msgid "Today"
+msgstr "Oggi"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+msgid "Week View"
+msgstr "Vista settimanale"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+msgid "Month View"
+msgstr "Vista mensile"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+msgid "Week"
+msgstr "Settimana"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Tutti i files"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+msgid "Show plain text"
+msgstr "Mostra testo semplice"
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+msgid "Add value"
+msgstr "Aggiungi valore"
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#, python-format
+msgid "Remove \"%s\""
+msgstr "Rimuovi \"%s\""
+
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
+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
+msgid "Add existing record"
+msgstr "Aggiungi un record esistente"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+msgid "Remove selected record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+msgid "Open a record <F2>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+msgid "Search a record <F2>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+msgid "Remove selected record"
+msgstr "Rimuovi i record selezionati"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+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:836
+#, 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
+#, fuzzy
+msgid "Translation"
+msgstr "Traduzione"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+msgid "Edit"
+msgstr "Modifica"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+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!"
+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!"
+msgstr "Nessun altra lingua disponibile!"
+
+#: tryton/plugins/translation/__init__.py:22
+msgid "Translate view"
+msgstr "Traduci vista"
diff --git a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..2c1c1ff
Binary files /dev/null and b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ja_JP/LC_MESSAGES/tryton.po b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
similarity index 56%
rename from share/locale/ja_JP/LC_MESSAGES/tryton.po
rename to tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
index 79cc616..97ad631 100644
--- a/share/locale/ja_JP/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
@@ -2,94 +2,110 @@
 # Copyright (C) 2010 B2CK
 # This file is distributed under the same license as the tryton project.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
-#
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 1.5.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2012-04-23 11:07+0200\n"
-"Last-Translator: TANIGUCHI Takaki <takaki at asis.media-as.org>\n"
-"Language-Team: ja_JP <LL at li.org>\n"
-"Plural-Forms: nplurals=1; plural=0\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+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 "全てをINFOレベルでログを取る"
 
+#: 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 "ファイル \"%s\" が見つかりません"
 
+#: tryton/config.py:136
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "設定ファイル %s が書きこめません!"
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "%s ロケールに設定できません"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "動作を選択する"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "動作が定義されていません!"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Tryton接続"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "サーバー名:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "ポート番号:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "選択"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "あなたの選択:"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "名前を付けて保存"
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "常にこの警告を無視する。"
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr ""
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "確認"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "並列性例外"
 
-#, fuzzy
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -102,42 +118,55 @@ msgstr ""
 "<b>並列書込警告:</b>\n"
 "\n"
 "このレコードは編集中に変更されました。\n"
-"選択肢:\n"
-"  - \"キャンセル\"で保存を中止する\n"
-"  - \"比較\"で変更されたものを見る\n"
-"  - \"とにかく書き込む\"で現在の物を書き込む。\n"
+" 選択肢:\n"
+"    - \"キャンセル\"で保存を中止する\n"
+"    - \"比較\"で変更されたものを見る\n"
+"    - \"とにかく書き込む\"で現在の物を書き込む。"
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "比較"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "とにかく書き込む"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "エラー"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "バグ報告"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "アプリケーションエラー!"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "エラー:"
 
-#, fuzzy, python-format
+#: tryton/common/common.py:880
+#, 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
 msgid "Bug Tracker"
 msgstr "バグトラッカー"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "ユーザー:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "パスワード:"
 
+#: 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"
@@ -145,9 +174,11 @@ msgstr ""
 "別のユーザーに同じバグが報告されています。\n"
 "お知らせするためにこの問題の通知リストにあなたのユーザー名を追加しました。"
 
+#: tryton/common/common.py:1002
 msgid "Created new bug with ID "
 msgstr "新しいバグがID番号と一緒に作成されました"
 
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -155,20 +186,24 @@ msgstr ""
 "接続エラー!\n"
 "ユーザー名またはパスワードが違います!"
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "例外:"
 
+#: 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "このサーバーのフィンガープリントが最後の接続から変化しています!\n"
 "フィンガープリントが訂正されるまで接続を停止します。"
 
+#: tryton/common/common.py:1034
 msgid "Security risk!"
 msgstr "セキュリティリスク!"
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -176,244 +211,333 @@ msgstr ""
 "接続エラー!\n"
 "サーバーに接続できません!"
 
+#: tryton/common/common.py:1119
 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:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 #, fuzzy
 msgid "Value"
 msgstr "偽"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 msgid "Displayed value"
 msgstr ""
 
+#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
+#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
 #, 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
 msgid "Display format"
 msgstr ""
 
+#: tryton/common/datetime_.py:61
 #, fuzzy
 msgid "Open the calendar"
 msgstr "カレンダーを開く"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr ""
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 msgid "y"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 #, fuzzy
 msgid "yes"
 msgstr "バイト"
 
+#: tryton/common/domain_parser.py:235
 #, fuzzy
 msgid "true"
 msgstr "真"
 
+#: tryton/common/domain_parser.py:235
 msgid "t"
 msgstr ""
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "True"
 msgstr "真"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "偽"
 
+#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "終了(_Q)"
 
+#: tryton/common/popup_menu.py:82
 #, fuzzy
 msgid "Attachments..."
 msgstr "添付:"
 
+#: tryton/common/popup_menu.py:92
 #, fuzzy
 msgid "Actions..."
 msgstr "実行(_A)"
 
+#: tryton/common/popup_menu.py:93
 #, fuzzy
 msgid "Relate..."
 msgstr "削除(_D)"
 
+#: tryton/common/popup_menu.py:94
 #, fuzzy
 msgid "Report..."
 msgstr "データのインポート(_I)"
 
+#: tryton/common/popup_menu.py:95
 #, fuzzy
 msgid "E-Mail..."
 msgstr "Eメール(_E)"
 
+#: tryton/common/popup_menu.py:96
 #, fuzzy
 msgid "Print..."
 msgstr "印刷(_P)"
 
+#: tryton/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:218
 msgid "_File"
 msgstr "ファイル(_F)"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "ユーザー(_U)"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "オプション(_O)"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "ヘルプ(_H)"
 
-msgid "Search"
-msgstr "検索"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr ""
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "接続(_C)"
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "終了(_Q)"
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "設定(_P)"
 
+#: tryton/gui/main.py:487
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "再読み込み(_R)"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr ""
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr ""
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "ツールバー(_T)"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "デフォルト(_D)"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "テキストとアイコン(_T)"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "アイコン(_I)"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "テキスト(_T)"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "メニューバー(_M)"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "アクセラレーターの変更"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "モード(_M)"
 
+#: tryton/gui/main.py:588
 msgid "_Normal"
 msgstr "ノーマル(_N)"
 
+#: tryton/gui/main.py:596
 msgid "_PDA"
 msgstr "_PDA"
 
+#: tryton/gui/main.py:603
 msgid "_Form"
 msgstr "フォーム(_F)"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "幅/高さを保存"
 
+#: tryton/gui/main.py:623
 msgid "Save Tree State"
 msgstr ""
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "スペルチェック"
 
+#: tryton/gui/main.py:655
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "前(_P)"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
 msgstr ""
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr ""
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "Eメール(_E)"
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "オプションの保存(_S)"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "今日の技(_T)"
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "キーボードショートカット(_K)"
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "Trytonについて"
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "検索"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
+#: tryton/gui/main.py:1173
 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?"
@@ -421,6 +545,7 @@ msgstr ""
 "Trytonデータベースを削除します。\n"
 "本当に実行しますか?"
 
+#: tryton/gui/main.py:1304
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -428,21 +553,28 @@ 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."
@@ -450,9 +582,11 @@ 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."
@@ -460,15 +594,19 @@ 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."
@@ -476,150 +614,194 @@ msgstr ""
 "パスワードで保護されたデータベースのダンプはできません。\n"
 "バックアップと復元は手動でする必要があります。"
 
+#: tryton/gui/main.py:1382
 msgid "Database dump failed with error message:\n"
-msgstr "データベースのダンプに失敗しました。エラーメッセージ:"
+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/board.py:19 tryton/gui/window/form.py:31
+#, fuzzy
 msgid "New"
-msgstr ""
+msgstr "新規(_N)"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "レコードの新規作成"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "保存"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "レコードの保存"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "切替"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "ビューの切替"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "再読み込み(_R)"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "再読み込み"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "新規(_N)"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "保存(_S)"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "ビューの切替(_S)"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "再読み込み/やり直し(_R)"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "削除(_D)"
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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'を使って下さい。'変更'をクリックするとアドレスを変更します。"
+"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"
+"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"
+"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'です。'変更'をクリックしてアドレスを変更します。"
+"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."
+"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"
+"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 "
+"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"
+"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 ""
@@ -627,150 +809,196 @@ 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 "同じ名前のデータベースが存在します。別の名前を試して下さい。"
 
+#: 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"
+"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
 msgid "Profile"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "追加(_A)"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "削除(_R)"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 #, fuzzy
 msgid "Host:"
 msgstr "ポート番号:"
 
+#: tryton/gui/window/dblogin.py:98
 #, fuzzy
 msgid "Create"
 msgstr "作成(_C)"
 
+#: tryton/gui/window/dblogin.py:101
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "新規データベースセットアップ:"
 
+#: tryton/gui/window/dblogin.py:119
 #, 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
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "サーバのバージョンが非互換です!"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "ログイン"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "キャンセル(_C)"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Trytonサーバへの接続を中止する"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "接続(_N)"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Trytonサーバーへ接続する"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -782,164 +1010,217 @@ msgstr ""
 "アセントや空白・特殊文字は使えません!\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
 msgid "Email Program Settings"
 msgstr "Emailプログラムの設定"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "コマンドライン:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "利用できるプレースホルダーの凡例:"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
-msgstr "宛先:\n"
+msgstr "宛先:"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "CC:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "題名:"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "本文:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "添付:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "前"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "前のレコード"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "次"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "次のレコード"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "添付(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "レコードに添付を追加する"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "複製(_D)"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "前(_P)"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "次(_N)"
 
+#: tryton/gui/window/form.py:63
 #, fuzzy
 msgid "_Search"
 msgstr "検索"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "ログの閲覧(_L)"
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr ""
 
+#: tryton/gui/window/form.py:70
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "添付:"
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "実行(_A)"
 
+#: tryton/gui/window/form.py:74
 #, fuzzy
 msgid "_Relate..."
 msgstr "削除(_D)"
 
+#: tryton/gui/window/form.py:77
 #, fuzzy
 msgid "_Report..."
 msgstr "データのインポート(_I)"
 
+#: tryton/gui/window/form.py:79
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "Eメール(_E)"
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "印刷(_P)"
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "データのエクスポート(_E)"
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "データのインポート(_I)"
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "添付(%d)"
 
-msgid "You have to select one record!"
-msgstr "レコードを一つ選択して下さい!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "作成ユーザー:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "作成日:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "最終更新ユーザー:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "最終更新日:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "モデル:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "このレコードを削除しますか?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "このレコードを削除しますか?"
 
-msgid "Records not removed!"
-msgstr "レコードが削除されませんでした!"
-
-msgid "Records removed!"
-msgstr "レコードが削除されました!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "重複したレコードで作業中です!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
 
-msgid "Record saved!"
-msgstr "レコードが保存されました!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
 
-msgid "Invalid form!"
-msgstr "不正なフォームです!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " 中 "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -947,128 +1228,257 @@ msgstr ""
 "レコードが変更されています\n"
 "保存しますか?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "実行"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr ""
 
+#: tryton/gui/window/form.py:529
 #, fuzzy
 msgid "Relate"
 msgstr "作成(_C)"
 
+#: tryton/gui/window/form.py:529
 #, fuzzy
 msgid "Open related records"
 msgstr "レコードを開く"
 
+#: tryton/gui/window/form.py:531
 #, fuzzy
 msgid "Report"
 msgstr "レポート"
 
+#: tryton/gui/window/form.py:531
 #, fuzzy
 msgid "Open report"
 msgstr "レコードを開く"
 
+#: tryton/gui/window/form.py:532
 #, fuzzy
 msgid "E-Mail"
 msgstr "Eメール"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr ""
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "印刷"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr ""
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "未知"
 
+#: tryton/gui/window/limit.py:17
 #, fuzzy
 msgid "Limit"
 msgstr "リミット:"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr ""
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "リミット:"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "設定"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "個人設定の編集"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "設定"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "現在のパスワード:"
 
+#: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "前"
 
+#: tryton/gui/window/revision.py:28
 #, fuzzy
 msgid "Select a revision"
 msgstr "選択"
 
+#: tryton/gui/window/revision.py:31
+#, fuzzy
 msgid "Revision:"
-msgstr ""
+msgstr "前"
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "キーボードショートカット"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "テキストエントリショートカット"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "選択されたテキストを切り取り"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "選択されたテキストをコピー"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "コピーされたテキストを貼り付け"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "次のウィジェット"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "前のウィジェット"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
-msgstr "リレーションエントリショートカット\n"
+msgstr "リレーションエントリショートカット"
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "新しいリレーションを作る"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "リレーションを開く/検索"
 
+#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "テキストエントリショートカット"
 
+#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Create new line"
 msgstr "新しいリレーションを作る"
 
+#: tryton/gui/window/shortcuts.py:39
 #, fuzzy
 msgid "Open relation"
 msgstr "リレーションを開く/検索"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "エディションウィジェット"
 
+#: tryton/gui/window/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"
@@ -1078,6 +1488,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1085,14 +1496,14 @@ msgid ""
 "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"
+"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>我々のプロジェクトと同名のTritonを知ってますか?</b>\n"
+"\n"
 "Triton (発音 /ˈtraɪtən/ TRYE-tən, またはギリシャ語で Τρίτων) は\n"
 "海王星の最大の衛星です。William Lassellによって1846年10月10日に発見されました。\n"
 "太陽系の大きな衛星では唯一逆行する軌道を持っています。\n"
@@ -1102,6 +1513,7 @@ msgstr ""
 "これには輪と他の12の月を含んでいます。\n"
 "またこれは太陽系の他の159のより小さな衛星の合計より大きな質量です。\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1111,72 +1523,93 @@ msgstr ""
 "<b>エクスポートリストレコード</b>\n"
 "\n"
 "どんなリストからも Ctrl + Cでコピーでき\n"
-"どんなアプリケーションにも Ctrl + V で貼り付けできます"
+"どんなアプリケーションにも 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 ""
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "技"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "新しい技を次回も表示する(_D)"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "CSVにエクスポート"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>定義済みエキスポート</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>全てのフィールド</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "クリア"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "エクスポートを保存"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "エクスポートを削除"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>エクスポートするフィールド</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>オプション</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "開く"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "フィールド名を追加(_F)"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "名前"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "このエクスポートの名前は何ですか?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "%d レコード保存されました!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "%d レコード保存されました!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1187,273 +1620,342 @@ msgstr ""
 "エラーメッセージ:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "リンク"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "追加"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr ""
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "レコードの新規作成"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "選択したレコードを削除"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "選択したレコードを削除"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "CSVからインポート"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "自動検出"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>インポートするフィールド</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "インポートするファイル:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "開く"
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "CSVパラメータ"
 
+#: tryton/gui/window/win_import.py:125
 #, fuzzy
 msgid "Field Separator:"
 msgstr "フィールドの区切:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "テキストの区切"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "エンコーディング:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "スキップする行:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "フィールド名"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "最初にインポートするファイルを選択して下さい!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "CSVファイルを開くときにエラーが起こりました"
 
-#, fuzzy, python-format
+#: tryton/gui/window/win_import.py:292
+#, python-format, fuzzy, python-format
 msgid "Error processing the file at field %s."
 msgstr "ファイルの%sフィールドの処理でエラーが起こりました。"
 
+#: tryton/gui/window/win_import.py:367
 #, python-format
 msgid "%d record imported!"
 msgstr "%d レコードをインポートしました!"
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
 msgstr "%d レコードをインポートしました。"
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "ウィザード"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 #, fuzzy
 msgid "ID"
 msgstr "日"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 #, fuzzy
 msgid "Creation User"
 msgstr "作成ユーザー:"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 #, fuzzy
 msgid "Creation Date"
 msgstr "作成日:"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 #, fuzzy
 msgid "Modification User"
 msgstr "最終更新日:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 #, fuzzy
 msgid "Modification Date"
 msgstr "最終更新日:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
+#, fuzzy
 msgid "Unable to get view tree state"
-msgstr ""
+msgstr "%s ロケールに設定できません"
 
+#: tryton/gui/window/view_form/screen/screen.py:710
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "%s ロケールに設定できません"
 
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "名前をつけて保存"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "画像サイズ"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "幅:"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "高さ:"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
 msgstr "PNG画像 (*.png)"
 
+#: tryton/gui/window/view_form/view/graph.py:159
 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
 #, fuzzy
 msgid "F_ilters"
 msgstr "ファイル(_F)"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "検索"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "本文:"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "ビューの切替"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "ビューの切替"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#, fuzzy
-msgid "Select a File..."
-msgstr "ファイルを選択"
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "全てのファイル"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-#, fuzzy
-msgid "Select an Image..."
-msgstr "ファイルを選択"
-
-msgid "All files"
-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:64
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
 #, fuzzy
 msgid "Add existing record"
 msgstr "レコードの保存"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "選択したレコードを削除"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "レコードを開く"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "レコードを検索する"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 #, fuzzy
 msgid "Remove selected record"
 msgstr "選択したレコードを削除"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "選択したレコードを編集"
 
-msgid "Change text to bold"
-msgstr ""
-
-msgid "Change text to italic"
-msgstr ""
-
-msgid "Change text to underline"
-msgstr ""
-
-msgid "Choose font-family"
-msgstr ""
-
-msgid "Choose font-size"
-msgstr ""
-
-msgid "Justify of line to the left"
-msgstr ""
-
-msgid "Justify of line to the center"
-msgstr ""
-
-msgid "Justify of line to the right"
-msgstr ""
-
-msgid "Justify of line to fill window"
-msgstr ""
-
-msgid "Change the foreground text"
-msgstr ""
-
-msgid "Change the background text"
-msgstr ""
-
-msgid "Change the markup text view"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
 msgstr ""
 
-msgid "Select a foreground color"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
 msgstr ""
 
-msgid "Select a background color"
+#: 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
 #, fuzzy
 msgid "Translation"
 msgstr "翻訳を追加"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 msgid "Fuzzy"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
 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!"
 msgstr "他の利用できる言語はありません"
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "翻訳ビュー"
-
diff --git a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..0738613
Binary files /dev/null and b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/lt_LT/LC_MESSAGES/tryton.po b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
similarity index 55%
rename from share/locale/lt_LT/LC_MESSAGES/tryton.po
rename to tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
index ac2755b..a16cefc 100644
--- a/share/locale/lt_LT/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
@@ -2,94 +2,110 @@
 # Copyright (C) 2011 B2CK
 # This file is distributed under the same license as the tryton project.
 # Giedrius Slavinskas <giedrius at inovera.lt>, 2011.
-#
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 2.3.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2013-04-18 11:37+0300\n"
-"Last-Translator: Giedrius Slavinskas <giedrius at inovera.lt>\n"
-"Language-Team: lt_LT <LL at li.org>\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"(n%100<10 || n%100>=20) ? 1 : 2)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+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:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Nepavyko nustatyti lokalės %s"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Pasirinkite veiksmą"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "Nėra apibrėžtų veiksmų!"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Tryton prisijungimas"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Serveris:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Prievadas:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Pasirinkimas"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "Jūsų pasirinkimas:"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Įrašyti kaip..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "Daugiau nepaisyti šio pranešimo."
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr "Ar tikrai norite vykdyti?"
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Patvirtinimas"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Lygiagretaus duomenų rašymo klaida"
 
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -107,48 +123,62 @@ 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
 msgid "Compare"
 msgstr "Palyginti"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Rašyti visvien"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Klaida"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Pranešti apie klaidą"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Programos klaida!"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "Klaida: "
 
+#: tryton/common/common.py:880
 #, 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
 msgid "Bug Tracker"
 msgstr "Klaidų pėdsekys"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Naudotojas:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Slaptažodis:"
 
+#: 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 ""
 "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"
+"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
 msgid "Created new bug with ID "
 msgstr "Užregistruoti naują klaidą su ID"
 
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -156,22 +186,24 @@ msgstr ""
 "Prisijungimo klaida!\n"
 "Neteisingas naudotojo vardas arba slaptažodis!"
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "Klaida:"
 
+#: 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."
+"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."
+"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!"
 msgstr "Saugumo pavojus!"
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -179,228 +211,315 @@ msgstr ""
 "Prisijungimo klaida!\n"
 "Nepavyko prisijungti prie serverio!"
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
 msgstr "Tinklo klaida!"
 
+#: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
 msgstr "<i>Ieškoti...</i>"
 
+#: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
 msgstr "<i>Sukurti...</i>"
 
+#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 #, fuzzy
 msgid "Value"
 msgstr "Pridėti reikšmę"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 #, 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
 #, 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
 msgid "Display format"
 msgstr ""
 
+#: tryton/common/datetime_.py:61
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Atverti kalendorių <F2>"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr ""
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 msgid "y"
 msgstr "t"
 
+#: tryton/common/domain_parser.py:235
 msgid "yes"
 msgstr "taip"
 
+#: tryton/common/domain_parser.py:235
 msgid "true"
 msgstr "teisa"
 
+#: tryton/common/domain_parser.py:235
 msgid "t"
 msgstr "t"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "True"
 msgstr "Tiesa"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Netiesa"
 
+#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "Išei_ti..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Priedai..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Veiksmai..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Susiję įrašai..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Ataskaita..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "El. paštas..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Spausdinti..."
 
+#: tryton/common/timedelta.py:26
 msgid "Y"
 msgstr "Y"
 
+#: tryton/common/timedelta.py:27
 msgid "M"
 msgstr "M"
 
+#: tryton/common/timedelta.py:28
 msgid "w"
 msgstr "w"
 
+#: 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 ""
 
+#: tryton/gui/main.py:218
 msgid "_File"
 msgstr "_Failas"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Naudotojas"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Parinktys"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "_Mėgstami"
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Žinynas"
 
-msgid "Search"
-msgstr "Ieškoti"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr "Nerasta rezultatų."
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "_Prisijungti..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "Išei_ti..."
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "Nus_tatymai..."
 
+#: tryton/gui/main.py:487
 msgid "_Menu Reload"
 msgstr "Pekrauti meniu"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr "Įjungti/išjungti _meniu"
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr "Globali paieška"
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "Įrankių _juosta"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "_Numatytasis"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "_Tekstas ir piktogramos"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "P_iktogramos"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "_Tekstas"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "_Meniu juosta"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "Keisti trumpinius"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "_Rėžimas"
 
+#: tryton/gui/main.py:588
 msgid "_Normal"
 msgstr "Sta_ndartinis"
 
+#: tryton/gui/main.py:596
 msgid "_PDA"
 msgstr "_PDA"
 
+#: tryton/gui/main.py:603
 msgid "_Form"
 msgstr "_Forma"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "Įsiminti plotį/aukštį"
 
+#: tryton/gui/main.py:623
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Įsiminti hierarchinio sąrašo išskleistas šakas"
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Rašybos klaidų tikrinimas"
 
+#: tryton/gui/main.py:655
 msgid "_Previous Tab"
 msgstr "_Buvusi kortelė"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
 msgstr "Kita kortelė"
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr "Paieškos ribojimas..."
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "_El. paštas..."
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "Iš_saugoti pasirinktis"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "Pa_tarimai..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "_Trumpiniai..."
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "_Apie..."
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "Ieškoti"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -408,9 +527,11 @@ msgstr ""
 "Atliekant šį veiksmą bus uždarytos visos kortelės.\n"
 "Ar norite tęsti?"
 
+#: tryton/gui/main.py:1173
 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?"
@@ -418,6 +539,7 @@ 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."
@@ -425,21 +547,28 @@ 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."
@@ -447,9 +576,11 @@ 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."
@@ -457,198 +588,245 @@ 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"
+"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"
+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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Naujas"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Sukurti naują įrašą"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Išsaugoti"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Išsaugoti šį įrašą"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Perjungti"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Perjungti rodymą"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "Pe_rkrauti"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Perkrauti"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Naujas"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Saugoti"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "_Perjungti rodymą"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "Pe_rkrauti/atšaukti"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "_Ištrinti..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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ą."
+"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"
+"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"
+"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."
+"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ą."
+"'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."
+"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."
+"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"
+"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"
+"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 "
+"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ė"
+"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"
+"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"
+"Į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."
@@ -656,129 +834,168 @@ 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"
+"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"
+"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
 msgid "Profile"
 msgstr "Profilis"
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Pridėti"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Ištrinti"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
 msgstr "Serveris:"
 
+#: tryton/gui/window/dblogin.py:98
 msgid "Create"
 msgstr "Kurti"
 
+#: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
 msgstr "Gaunamas duomenų bazių sąrašas"
 
+#: tryton/gui/window/dblogin.py:119
 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
 msgid "Incompatible version of the server"
 msgstr "Nesuderinama serverio versija"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Prisijungti"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "_Atsisakyti"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Atšaukti prisijungimą prie Tryton serverio"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "_Prisijungti"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Prisijungti prie Tryton serverio"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr "Profilis:"
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr "_Tvarkyti profilius"
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr "Serverio / duomenų bazės duomenys"
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -786,166 +1003,217 @@ msgid ""
 "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"
+"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."
+"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
 msgid "Email Program Settings"
 msgstr "El. pašto programos nustatymai"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Komandinė eilutė:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Galimos žymekliai:"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "Kam:"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "CC:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Tema:"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Turinys:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Priedas:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Buvęs"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "Buvęs įrašas"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Kitas"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Kitas įrašas"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Priedai(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Prisegti failą prie įrašo"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "Sukurti ko_piją"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "_Buvęs"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "_Kitas"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "I_eškoti"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Žiūrėti _žurnalus..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr ""
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "P_riedas:"
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Veiksmai..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Susiję įrašai..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "_Ataskaita..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "Siųsti _el. paštu..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "_Spausdinti..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Eksportuoti duomenis..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Importuoti duomenis..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Priedai(%d)"
 
-msgid "You have to select one record!"
-msgstr "Pasirinkite bent vieną įrašą!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Sukūrė naudotojas:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Sukūrimo data:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Paskutinį kartą redagavo:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Paskutinio redagavimo data:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Modelis:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Ar tikrai norite ištrinti šį įrašą?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Ar tikrai norite ištrinti šiuos įrašus?"
 
-msgid "Records not removed!"
-msgstr "Įrašai nebuvo ištrinti!"
-
-msgid "Records removed!"
-msgstr "Įrašai ištrinti!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Dabar dirbate su įrašo(-ų) kopija(-omis)!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
 
-msgid "Record saved!"
-msgstr "Įrašas išsaugotas!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
 
-msgid "Invalid form!"
-msgstr "Netinkama forma!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " iš "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -953,119 +1221,247 @@ msgstr ""
 "Šis įrašas buvo pakeistas\n"
 "Ar norite jį išsaugoti?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Veiksmai"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Vykdyti veiksmą"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "Susijęs"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Atverti susijusius įrašus"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Ataskaitos"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Atverti ataskaitą"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Siuntimas"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Siųsti ataskaitą el. paštu"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Spausdinimas"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Spausdinti ataskaitą"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Nežinomas"
 
+#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Riba"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Paieškos ribojimo nustatymai"
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Riba:"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nustatymai"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Keisti naudotojo nustatymus"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Nustatymai"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Dabartinis slaptažodis:"
 
+#: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Buvęs"
 
+#: tryton/gui/window/revision.py:28
 #, fuzzy
 msgid "Select a revision"
 msgstr "Pasirinkimas"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Spartieji klavišai"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Teksto laukų trumpiniai"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Iškirpti pažymėtą tekstą"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Kopijuoti pažymėtą tekstą"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Įdėti nukopijuotą tekstą"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Peršokti į kitą lauką"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Grįžti į buvusį lauką"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Sąryšinių laukų trumpiniai"
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Kurti naują sąryšį"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Atverti/ieškoti sąryšinio įrašo"
 
+#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Sąrašo laukų trumpiniai"
 
+#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Kurti naują eilutę"
 
+#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Atverti sąryšį"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Pažymėti eilutę ištrinimui"
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Nužymėti eilutę ištrinimui"
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Trumpiniai pagal laukus"
 
+#: tryton/gui/window/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"
@@ -1075,6 +1471,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1082,8 +1479,7 @@ msgid ""
 "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"
+"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"
@@ -1091,21 +1487,16 @@ msgid ""
 msgstr ""
 "<b>Ar jūs žinote apie Tritoną, vieną iš mūsų projekto pavadinimų?</b>\n"
 "\n"
-"Tritonas (gr. Τρίτων) yra didžiausias Neptūno palydovas, kurį atrado "
-"Viljamas\n"
-"Laselis 1846 m. spalio 10 d. Tai vienintelis didelis planetų palydovas "
-"Saulės\n"
-"sistemoje su retrogradine orbita, t.y. orbitos skriejimo kryptis "
-"priešinga\n"
-"planetos sukimuisi. 2700 km skersmens, Tritonas yra septintas didžiausias"
-"\n"
+"Tritonas (gr. Τρίτων) yra didžiausias Neptūno palydovas, kurį atrado Viljamas\n"
+"Laselis 1846 m. spalio 10 d. Tai vienintelis didelis planetų palydovas Saulės\n"
+"sistemoje su retrogradine orbita, t.y. orbitos skriejimo kryptis priešinga\n"
+"planetos sukimuisi. 2700 km skersmens, Tritonas yra septintas didžiausias\n"
 "planetos palydovas Saulės sistemoje. Tritonas sudaro daugiau kaip 99,5\n"
-"procentus visos žinomos Neptūno orbitos masės, įskaitant planetos žiedą "
-"bei\n"
-"dvyliką kitų žinomų planetos palydovų. Taip pat jis masyvesnis negu visi "
-"159\n"
+"procentus visos žinomos Neptūno orbitos masės, įskaitant planetos žiedą bei\n"
+"dvyliką kitų žinomų planetos palydovų. Taip pat jis masyvesnis negu visi 159\n"
 "žinomi mažesni Saulės sistemos planetų palydovai kartu sudėjus.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1117,6 +1508,7 @@ msgstr ""
 "Jūsų galite nukopijuoti įrašus iš bet kurio sąrašo naudodami Ctrl + C\n"
 "bei įdėti į bet kurią programą spustelėje Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1127,64 +1519,84 @@ msgstr ""
 "Jūs galite išsaugoti bet kurią diagramą PNG formatu, spustelėję\n"
 "dešinį pelės mygtuką ant diagramos.\n"
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "Patarimai"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "_Rodyti patarimus ir kitą kartą"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Eksportuoti CSV formatu"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Išsaugoti eksportavimo šablonai</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Galimi laukai</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Valyti"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Išsaugoti šabloną"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Ištrinti šabloną"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Eksportuojami laukai</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Nustatymai</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Atvėrimas"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Pridėti laukų pavadinimus"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Pavadinimas"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "Kokiu pavadinimu išsaugoti šį eksportavimo šabloną?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "%d įrašas išsaugotas!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "%d įrašai išsaugoti!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1195,258 +1607,328 @@ msgstr ""
 "Klaidos pranešimas:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Nuoroda"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Pridėti"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Šalinti <Del>"
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Sukurti naują įrašą <F3>"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Pašalinti pasirinktą įrašą <Del>"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Atkurti pasirinktą įrašą <Ins>"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importuoti iš CSV failo"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Aptikti automatiškai"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Importuojami laukai</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Importuoti iš failo:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Atverti..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "CSV parametrai"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Laukų skirtukas:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Teksto skyriklis:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Koduotė:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Praleisti eilutes:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Lauko pavadinimas"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Pasirinkite failą iš kurio importuosite!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Klaida atveriant CSV failą"
 
+#: tryton/gui/window/win_import.py:292
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Klaida apdorojant failą ties lauku %s."
 
+#: tryton/gui/window/win_import.py:367
 #, python-format
 msgid "%d record imported!"
 msgstr "%d įrašas importuotas!"
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
 msgstr "%d įrašai importuoti!"
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "Vedlys"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 #, fuzzy
 msgid "Creation User"
 msgstr "Sukūrė naudotojas:"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 #, fuzzy
 msgid "Creation Date"
 msgstr "Sukūrimo data:"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 #, fuzzy
 msgid "Modification User"
 msgstr "Paskutinio redagavimo data:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 #, fuzzy
 msgid "Modification Date"
 msgstr "Paskutinio redagavimo data:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 msgid "Unable to get view tree state"
 msgstr ""
 
+#: tryton/gui/window/view_form/screen/screen.py:710
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Nepavyko nustatyti lokalės %s"
 
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Įrašyti kaip"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Paveiklėlio dydis"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Plotis:"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "Aukštis"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
 msgstr "PNG paveikslėlis (*.png)"
 
+#: tryton/gui/window/view_form/view/graph.py:159
 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
 msgid "F_ilters"
 msgstr "F_iltras"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr "Rodyti filtrų žymeles"
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr "Šalinti šią žymelę"
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr "Sukurti šio filtro žymelę"
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr "Žymelės pavadinimas:"
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Rasti"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Turinys:"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Perjungti rodymą"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Perjungti rodymą"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-msgid "Select a File..."
-msgstr "Pasirinkite failą..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Visi failai"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr "Rodyti paprastą tekstą"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr "Pridėti reikšmę"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Šalinti \"%s\""
 
-msgid "Select an Image..."
-msgstr "Pasirinkite paveikslėlį..."
-
-msgid "All files"
-msgstr "Visi failai"
-
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
 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
 msgid "Add existing record"
 msgstr "Pridėti turimą įrašą"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 msgid "Remove selected record <Del>"
 msgstr "Pašalinti pasirinktą įrašą <Del>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Open a record <F2>"
 msgstr "Atverti įrašą <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 msgid "Search a record <F2>"
 msgstr "Ieškoti įrašo <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 msgid "Remove selected record"
 msgstr "Pašalinti pasirinktą įrašą"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 msgid "Edit selected record <F2>"
 msgstr "Keisti pasirinktą įrašą <F2>"
 
-msgid "Change text to bold"
-msgstr "Paryškinti tekstą"
-
-msgid "Change text to italic"
-msgstr "Kursyvas tekstas"
-
-msgid "Change text to underline"
-msgstr "Pabraukti tekstą"
-
-msgid "Choose font-family"
-msgstr "Pasirinkite šriftą"
-
-msgid "Choose font-size"
-msgstr "Pasirinkite šrifto dydį"
-
-msgid "Justify of line to the left"
-msgstr "Lygiuoti tekstą kairėje"
-
-msgid "Justify of line to the center"
-msgstr "Lygiuoti tekstą centre"
-
-msgid "Justify of line to the right"
-msgstr "Lygiuoti tekstą dešinėje"
-
-msgid "Justify of line to fill window"
-msgstr "Pritaikyti abipusę lygiuotę"
-
-msgid "Change the foreground text"
-msgstr "Pakeisti teksto spalvą"
-
-msgid "Change the background text"
-msgstr "Pakeisti fono spalvą"
-
-msgid "Change the markup text view"
-msgstr "Rodyti teksto žymėjimo kalbos rodinį"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr ""
 
-msgid "Select a foreground color"
-msgstr "Pasirinkite teksto spalvą"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr ""
 
-msgid "Select a background color"
-msgstr "Pasirinkite fono spalvą"
+#: 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 "Vertimas"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr "Keisti"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 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!"
 msgstr "Išsaugokite įrašą prieš pridedant vertimą!"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
 msgid "No other language available!"
 msgstr "Jokia kita kalba nėra prieinama!"
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Vertimų peržiūra"
-
diff --git a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..9981ae8
Binary files /dev/null and b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/nl_NL/LC_MESSAGES/tryton.po b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
similarity index 53%
rename from share/locale/nl_NL/LC_MESSAGES/tryton.po
rename to tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
index 7db2d94..7abf5d7 100644
--- a/share/locale/nl_NL/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
@@ -1,90 +1,108 @@
-
+# 
 msgid ""
-msgstr ""
-"Project-Id-Version: Tryton 1.8\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2012-04-23 11:07+0200\n"
-"Last-Translator: Bram van der Sar <avdsar at telfort.nl>\n"
-"Language-Team: \n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+#: tryton/config.py:76
 msgid "specify alternate config file"
 msgstr "specificeer een vervangend configuratiebestand"
 
+#: tryton/config.py:79
 msgid "development mode"
 msgstr ""
 
+#: tryton/config.py:82
 msgid "logging everything at INFO level"
 msgstr "logboek bijhouden op INFO niveau"
 
+#: 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 "specificeer de inlog gebruiker"
 
+#: tryton/config.py:89
 msgid "specify the server port"
 msgstr " Stel de serverpoort in"
 
+#: tryton/config.py:91
 msgid "specify the server hostname"
 msgstr "Stel de servernaam in"
 
+#: tryton/config.py:95
 msgid "Too much arguments"
 msgstr ""
 
+#: tryton/config.py:98
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "Bestand \"%s\" niet gevonden"
 
+#: tryton/config.py:136
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Kan configuratiebestand %s niet opslaan! "
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Kan omgeving %s niet instellen"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Selecteer je handeling."
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "Geen handeling gedefinieerd!"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Tryton verbinding"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Server:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Poort:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Selectie"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "Uw selectie:"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Opslaan als..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "Altijd deze waarschuwing negeren."
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr ""
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Bevestiging"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Simultaan gebruik"
 
+#: tryton/common/common.py:786
 #, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
@@ -103,48 +121,63 @@ msgstr ""
 " - \"Vergelijk\" om de verschillen te vergelijken;\n"
 " - \"Toch opslaan\" om deze versie op te slaan. "
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "Vergelijk"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Overschrijven"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Fout"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Programmafout melden"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Programmafout"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "Fout: "
 
-#, fuzzy, python-format
+#: tryton/common/common.py:880
+#, 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>"
+msgstr ""
+"Om programmafouten aan te melden moet je een account hebben bij <u>%s</u>"
 
+#: tryton/common/common.py:910
 msgid "Bug Tracker"
 msgstr "Foutrapportage"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Gebruiker:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Wachtwoord:"
 
+#: 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 ""
 "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"
+"Om je op de hoogte te houden is je gebuikersnaam toegevoegd aan de lijst van belangstellenden"
 
+#: tryton/common/common.py:1002
 msgid "Created new bug with ID "
 msgstr "Nieuwe foutmelding gemaakt met ID "
 
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -152,22 +185,24 @@ msgstr ""
 "Geen verbinding!\n"
 "Verkeerde gebruikersnaam of wachtwoord!"
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "Uitzondering:"
 
+#: 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."
+"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."
+"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!"
 msgstr "Beveiligingsrisico!"
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -175,244 +210,333 @@ msgstr ""
 "Verbinding mislukt!\n"
 "Verbinden met de server niet mogelijk!"
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
 msgstr "Netwerkfout."
 
+#: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
 msgstr ""
 
+#: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
 msgstr ""
 
+#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 #, fuzzy
 msgid "Value"
 msgstr "Niet waar"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 msgid "Displayed value"
 msgstr ""
 
+#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
+#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
 #, 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
 msgid "Display format"
 msgstr ""
 
+#: tryton/common/datetime_.py:61
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Open de kalender"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr ""
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 msgid "y"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 #, fuzzy
 msgid "yes"
 msgstr "bytes"
 
+#: tryton/common/domain_parser.py:235
 #, fuzzy
 msgid "true"
 msgstr "Waar"
 
+#: tryton/common/domain_parser.py:235
 msgid "t"
 msgstr ""
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "True"
 msgstr "Waar"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Niet waar"
 
+#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "Afsluiten"
 
+#: tryton/common/popup_menu.py:82
 #, fuzzy
 msgid "Attachments..."
 msgstr "Bijlage:"
 
+#: tryton/common/popup_menu.py:92
 #, fuzzy
 msgid "Actions..."
 msgstr "_Acties.."
 
+#: tryton/common/popup_menu.py:93
 #, fuzzy
 msgid "Relate..."
 msgstr "Verwijderen... "
 
+#: tryton/common/popup_menu.py:94
 #, fuzzy
 msgid "Report..."
 msgstr "_Importeer gegevens... "
 
+#: tryton/common/popup_menu.py:95
 #, fuzzy
 msgid "E-Mail..."
 msgstr "E-mail"
 
+#: tryton/common/popup_menu.py:96
 #, fuzzy
 msgid "Print..."
 msgstr "Afdrukken"
 
+#: tryton/common/timedelta.py:26
 msgid "Y"
-msgstr " J"
+msgstr "J"
 
+#: tryton/common/timedelta.py:27
 msgid "M"
 msgstr "M"
 
+#: tryton/common/timedelta.py:28
 msgid "w"
 msgstr "w"
 
+#: tryton/common/timedelta.py:29
 msgid "d"
-msgstr " d"
+msgstr "d"
 
+#: tryton/common/timedelta.py:30
 msgid "h"
 msgstr "u"
 
+#: tryton/common/timedelta.py:31
 msgid "m"
 msgstr "m"
 
+#: tryton/common/timedelta.py:32
 msgid "s"
 msgstr ""
 
+#: tryton/gui/main.py:218
 msgid "_File"
 msgstr "_Bestand"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Gebruiker"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Opties"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Help"
 
-msgid "Search"
-msgstr "Zoeken"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr ""
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "_Verbinden..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "Afsluiten"
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "_Voorkeuren..."
 
+#: tryton/gui/main.py:487
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "He_rladen"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr ""
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr ""
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "_Werkbalk"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "_Standaard"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "_Tekst en pictogrammen"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "Pictogrammen..."
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "_Tekst"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "_Menubalk"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "Versnellers aanpassen"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "_Modus"
 
+#: tryton/gui/main.py:588
 msgid "_Normal"
 msgstr "_Normaal"
 
+#: tryton/gui/main.py:596
 msgid "_PDA"
 msgstr "_PDA"
 
+#: tryton/gui/main.py:603
 msgid "_Form"
 msgstr "Formulier"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "Bewaar breedte/hoogte"
 
+#: tryton/gui/main.py:623
 msgid "Save Tree State"
 msgstr ""
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Spellingscontrole uitvoeren"
 
+#: tryton/gui/main.py:655
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "V_orige"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
 msgstr ""
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr "Zoek limiet..."
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "E-mail"
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "_Sla opties op"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "_Tips..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "Sneltoetsen"
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "I_nfo..."
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "Zoeken"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
+#: tryton/gui/main.py:1173
 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?"
@@ -420,6 +544,7 @@ 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."
@@ -427,21 +552,28 @@ 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."
@@ -449,9 +581,11 @@ 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."
@@ -459,15 +593,19 @@ 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."
@@ -475,182 +613,227 @@ 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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr ""
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Maak een nieuw item"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Opslaan"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Bewaar dit item"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Omschakelen"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Wijzig beeld"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "He_rladen"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Herladen"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nieuw"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "Op_slaan"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Wijzig beeld"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "_Ongedaan maken"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "Verwijderen... "
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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."
+"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"
+"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"
+"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."
+"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."
+"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."
+"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."
+"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"
+"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 "
+"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."
+"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"
+"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"
+"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"
+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."
@@ -658,137 +841,177 @@ 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. "
+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"
+"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"
+"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! "
+"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
 msgid "Profile"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Toevoegen"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Verwijderen"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 #, fuzzy
 msgid "Host:"
 msgstr "Poort:"
 
+#: tryton/gui/window/dblogin.py:98
 #, fuzzy
 msgid "Create"
 msgstr "Aan_maken"
 
+#: tryton/gui/window/dblogin.py:101
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "Maak een nieuwe database:"
 
+#: tryton/gui/window/dblogin.py:119
 #, 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
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "Deze versie is onverenigbaar met de server! "
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Inlognaam"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr " _Annuleren"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Verbreek verbinding met Tryton server"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "_Verbinden"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Verbind met Tryton server"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr ""
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -800,166 +1023,219 @@ msgstr ""
 "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."
+"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
 msgid "Email Program Settings"
 msgstr "E-mail instellingen "
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Opdrachtregel:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Legenda van beschikbare sjablonen: "
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "Aan:"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "CC:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Onderwerp:"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Bericht:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Bijlage:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Vorige"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "Vorige item"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Volgende"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Volgende item"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Bijlage"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Voeg een bijlage aan dit item toe"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Dupliceren"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "V_orige"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "_Volgende"
 
+#: tryton/gui/window/form.py:63
 #, fuzzy
 msgid "_Search"
 msgstr "Zoeken"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Bekijk logregister"
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr ""
 
+#: tryton/gui/window/form.py:70
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Bijlage:"
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Acties.."
 
+#: tryton/gui/window/form.py:74
 #, fuzzy
 msgid "_Relate..."
 msgstr "Verwijderen... "
 
+#: tryton/gui/window/form.py:77
 #, fuzzy
 msgid "_Report..."
 msgstr "_Importeer gegevens... "
 
+#: tryton/gui/window/form.py:79
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "E-mail"
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "Afdrukken"
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "_Exporteer gegevens... "
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "_Importeer gegevens... "
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Bijlage (%d)"
 
-msgid "You have to select one record!"
-msgstr "Je moet één item selecteren!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Aangemaakt door:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Aanmaakdatum"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Laatste wijziging door:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Laatste wijzigingsdatum:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Model:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Weet je zeker dat je dit item wilt verwijderen?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Weet je zeker dat je deze items wilt verwijderen?"
 
-msgid "Records not removed!"
-msgstr "Items niet verwijderd!"
-
-msgid "Records removed!"
-msgstr "Items verwijderd!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Je werkt nu met het gekopieerde item!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
 
-msgid "Record saved!"
-msgstr "Item opgeslagen!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
 
-msgid "Invalid form!"
-msgstr "Ongeldige invoer in formulier!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " van "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -967,127 +1243,255 @@ msgstr ""
 "Item is aangepast.\n"
 "Wil je de wijzigingen opslaan?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Actie"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr ""
 
+#: tryton/gui/window/form.py:529
 #, fuzzy
 msgid "Relate"
 msgstr "Aan_maken"
 
+#: tryton/gui/window/form.py:529
 #, fuzzy
 msgid "Open related records"
 msgstr "Item openen"
 
+#: tryton/gui/window/form.py:531
 #, fuzzy
 msgid "Report"
 msgstr "Rapporten"
 
+#: tryton/gui/window/form.py:531
 #, fuzzy
 msgid "Open report"
 msgstr "Item openen"
 
+#: tryton/gui/window/form.py:532
 #, fuzzy
 msgid "E-Mail"
 msgstr "E-mail"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr ""
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Afdrukken"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr ""
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Onbekend"
 
+#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Limiet:"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Zoek limiet instellen"
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr " Limiet:"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Voorkeuren"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Voorkeuren gebruiker aanpassen"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Voorkeur"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Huidig Wachtwoord:"
 
+#: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Vorige"
 
+#: tryton/gui/window/revision.py:28
 #, fuzzy
 msgid "Select a revision"
 msgstr "Selectie"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Sneltoetsen"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Sneltoetsen in tekstvakken"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Knip geselecteerde tekst"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Kopieer geselecteerde tekst"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Plak geselecteerde tekst"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Volgend element"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Vorig element"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Relatie sneltoetsen"
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Nieuwe relatie aanmaken"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Zoek / open relatie"
 
+#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "Sneltoetsen in tekstvakken"
 
+#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Create new line"
 msgstr "Nieuwe relatie aanmaken"
 
+#: tryton/gui/window/shortcuts.py:39
 #, fuzzy
 msgid "Open relation"
 msgstr "Zoek / open relatie"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Versies widgets"
 
+#: tryton/gui/window/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"
@@ -1097,6 +1501,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1104,8 +1509,7 @@ msgid ""
 "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"
+"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"
@@ -1113,21 +1517,17 @@ msgid ""
 msgstr ""
 "<b>Kent u Triton, één van de naamgevers van ons project?</b>\n"
 "\n"
-"Triton (uitgesproken als [tri-ton], of in het Greeks Τρίτων) is de "
-"grootste\n"
+"Triton (uitgesproken als [tri-ton], of in het Greeks Τρίτων) is de grootste\n"
 "maan van de planeet Neptunus, ontdekt op 10 oktober 1846 door\n"
 "William Lassell. Het is de enige grote maan in het zonnestelsel met een\n"
 "tegengestelde baan, dat is een baan in de tegengestelde richting ten\n"
-"opzichte van de rotatie van de planeet. Met een diameter van 2.700 km, is"
-"\n"
-"het de op zeven na grootste maan in het zonnestelsel. Triton "
-"vertegenwoordigd\n"
-"meer dan 99,5 procent van alle nu bekende massa die rond Neptunus "
-"cirkelt,\n"
-"inclusief de ringen en de twaalf nu bekende andere manen. Hij is ook "
-"omvangrijker\n"
+"opzichte van de rotatie van de planeet. Met een diameter van 2.700 km, is\n"
+"het de op zeven na grootste maan in het zonnestelsel. Triton vertegenwoordigd\n"
+"meer dan 99,5 procent van alle nu bekende massa die rond Neptunus cirkelt,\n"
+"inclusief de ringen en de twaalf nu bekende andere manen. Hij is ook omvangrijker\n"
 "dan de 159 nu bekende kleinere manen van het zonnestelsel bij elkaar.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1139,6 +1539,7 @@ msgstr ""
 "Kopieer gegevens van elke lijst met Ctrl + C\n"
 "en plak ze in elke toepassing met Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1148,64 +1549,84 @@ msgstr ""
 "\n"
 "Met een rechts-klik kan je elke grafiek in PNG exporteren.\n"
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "Tips"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "Volgende keer een tip"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exporteer naar CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Voorgedefinieerde exportinstellingen</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Alle velden</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Wissen"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Exportgegevens opslaan"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Exportgegevens verwijderen"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Velden om te exporteren</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opties</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Open"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Voeg veldnamen toe"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Naam"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "Wat is de naam voor deze export?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "%d item opgeslagen!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "%d items opgeslagen!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1216,273 +1637,341 @@ msgstr ""
 "Foutmelding:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Koppeling"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Toevoegen"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr ""
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "Maak een nieuw item"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "Geselecteerd item verwijderen"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "Geselecteerd item verwijderen"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importeer uit CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Automatisch"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Velden om te importeren</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Bestand om te importeren:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Openen..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "CSV parameters"
 
+#: tryton/gui/window/win_import.py:125
 #, fuzzy
 msgid "Field Separator:"
 msgstr "Veldscheidingsteken:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Tekstscheidingsteken:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Codering:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Regels overslaan:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Veldnaam"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "U moet eerst een import bestand selecteren!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Fout bij openen CSV-bestand"
 
-#, fuzzy, python-format
+#: tryton/gui/window/win_import.py:292
+#, 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:367
 #, python-format
 msgid "%d record imported!"
 msgstr "%d item geïmporteerd!"
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
 msgstr "%d items geïmporteerd!"
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "Assistent"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 #, fuzzy
 msgid "ID"
 msgstr " d"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 #, fuzzy
 msgid "Creation User"
 msgstr "Aangemaakt door:"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 #, fuzzy
 msgid "Creation Date"
 msgstr "Aanmaakdatum"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 #, fuzzy
 msgid "Modification User"
 msgstr "Laatste wijzigingsdatum:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 #, fuzzy
 msgid "Modification Date"
 msgstr "Laatste wijzigingsdatum:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 msgid "Unable to get view tree state"
 msgstr ""
 
+#: tryton/gui/window/view_form/screen/screen.py:710
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Kan omgeving %s niet instellen"
 
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Opslaan als"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Afbeeldingsgrootte"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Breedte:"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "Hoogte:"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
 msgstr "PNG afbeelding (*.png)"
 
+#: tryton/gui/window/view_form/view/graph.py:159
 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
 #, fuzzy
 msgid "F_ilters"
 msgstr "_Bestand"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Vind"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Bericht:"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Wijzig beeld"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Wijzig beeld"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#, fuzzy
-msgid "Select a File..."
-msgstr "Kies een bestand"
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Alle bestanden"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-#, fuzzy
-msgid "Select an Image..."
-msgstr "Kies een bestand"
-
-msgid "All files"
-msgstr "Alle bestanden"
-
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
 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
 #, fuzzy
 msgid "Add existing record"
 msgstr "Bewaar dit item"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Geselecteerd item verwijderen"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "Item openen"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "Item zoeken"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Geselecteerd item verwijderen"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "Geselecteerd item aanpassen"
 
-msgid "Change text to bold"
-msgstr ""
-
-msgid "Change text to italic"
-msgstr ""
-
-msgid "Change text to underline"
-msgstr ""
-
-msgid "Choose font-family"
-msgstr ""
-
-msgid "Choose font-size"
-msgstr ""
-
-msgid "Justify of line to the left"
-msgstr ""
-
-msgid "Justify of line to the center"
-msgstr ""
-
-msgid "Justify of line to the right"
-msgstr ""
-
-msgid "Justify of line to fill window"
-msgstr ""
-
-msgid "Change the foreground text"
-msgstr ""
-
-msgid "Change the background text"
-msgstr ""
-
-msgid "Change the markup text view"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
 msgstr ""
 
-msgid "Select a foreground color"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
 msgstr ""
 
-msgid "Select a background color"
+#: 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
 #, fuzzy
 msgid "Translation"
 msgstr "Voeg vertaling toe"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 msgid "Fuzzy"
 msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
 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!"
 msgstr "Geen andere taal beschikbaar!"
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Vertaal aanzicht"
-
diff --git a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..0a29f21
Binary files /dev/null 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
new file mode 100644
index 0000000..2f45ef9
--- /dev/null
+++ b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
@@ -0,0 +1,1913 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+#: tryton/config.py:76
+msgid "specify alternate config file"
+msgstr "especificar arquivo de configuração alternativo"
+
+#: tryton/config.py:79
+msgid "development mode"
+msgstr "modo de desenvolvimento"
+
+#: tryton/config.py:82
+msgid "logging everything at INFO level"
+msgstr "Registrar (log) tudo com nível INFO"
+
+#: tryton/config.py:84
+msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr ""
+"Especifique o nível de registro (log level): DEBUG, INFO, WARNING, ERROR, "
+"CRITICAL"
+
+#: tryton/config.py:87
+msgid "specify the login user"
+msgstr "Especifique o login do usuário"
+
+#: tryton/config.py:89
+msgid "specify the server port"
+msgstr "Especifique a porta do servidor"
+
+#: tryton/config.py:91
+msgid "specify the server hostname"
+msgstr "Especifique o host (máquina) do servidor"
+
+#: tryton/config.py:95
+msgid "Too much arguments"
+msgstr "Muitos argumentos"
+
+#: tryton/config.py:98
+#, python-format
+msgid "File \"%s\" not found"
+msgstr "Arquivo \"%s\" não encontrado"
+
+#: tryton/config.py:136
+#, 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
+#, python-format
+msgid "Unable to set locale %s"
+msgstr "Não foi possível definir as configurações regionais %s"
+
+#: tryton/action/main.py:176
+msgid "Select your action"
+msgstr "Selecione sua ação"
+
+#: tryton/action/main.py:182
+msgid "No action defined!"
+msgstr "Nenhuma ação definida!"
+
+#: tryton/common/common.py:274
+msgid "Tryton Connection"
+msgstr "Conexão ao Tryton"
+
+#: tryton/common/common.py:285
+msgid "Server:"
+msgstr "Servidor:"
+
+#: tryton/common/common.py:303
+msgid "Port:"
+msgstr "Porta:"
+
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+msgid "Selection"
+msgstr "Seleção"
+
+#: tryton/common/common.py:380
+msgid "Your selection:"
+msgstr "Sua seleção:"
+
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
+msgid "Save As..."
+msgstr "Salvar como..."
+
+#: tryton/common/common.py:642
+msgid "Always ignore this warning."
+msgstr "Sempre ignorar esse aviso."
+
+#: tryton/common/common.py:647
+msgid "Do you want to proceed?"
+msgstr "Você deseja prosseguir?"
+
+#: tryton/common/common.py:666
+msgid "Confirmation"
+msgstr "Confirmação"
+
+#: tryton/common/common.py:772 tryton/common/common.py:1080
+msgid "Concurrency Exception"
+msgstr "Exceção de concorrência"
+
+#: 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 Escrita Concorrente:</b>\n"
+"\n"
+"Este registro foi modificado enquanto você o editava.\n"
+"Escolha:\n"
+"- \"Cancelar\" para cancelar a gravação;\n"
+"- \"Comparar\" para ver a versão modificada;\n"
+"- \"Gravar\" para salvar a versão atual."
+
+#: tryton/common/common.py:795
+msgid "Compare"
+msgstr "Comparar"
+
+#: tryton/common/common.py:800
+msgid "Write Anyway"
+msgstr "Gravar mesmo assim"
+
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
+msgid "Error"
+msgstr "Erro"
+
+#: tryton/common/common.py:830
+msgid "Report Bug"
+msgstr "Reportar erro (bug)"
+
+#: tryton/common/common.py:837
+msgid "Application Error!"
+msgstr "Erro da aplicação!"
+
+#: tryton/common/common.py:860
+msgid "Error: "
+msgstr "Erro:"
+
+#: tryton/common/common.py:880
+#, 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
+msgid "Bug Tracker"
+msgstr "Sistema de registro de erros"
+
+#: tryton/common/common.py:928
+msgid "User:"
+msgstr "Usuário:"
+
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
+msgid "Password:"
+msgstr "Senha:"
+
+#: 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 ""
+"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
+msgid "Created new bug with ID "
+msgstr "Criar novo erro (bug) com ID"
+
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
+msgid ""
+"Connection error!\n"
+"Bad username or password!"
+msgstr ""
+"Erro de conexão!\n"
+"USuário ou senha errados!"
+
+#: tryton/common/common.py:1015
+msgid "Exception:"
+msgstr "Exceção:"
+
+#: 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 ""
+"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!"
+msgstr "Risco de segurança"
+
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
+msgid ""
+"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:1119
+msgid "Network Error!"
+msgstr "Erro da rede!"
+
+#: tryton/common/completion.py:22
+msgid "<i>Search...</i>"
+msgstr "<i>Buscar...</i>"
+
+#: tryton/common/completion.py:24
+msgid "<i>Create...</i>"
+msgstr "<i>Criar...</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 exibido"
+
+#: 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 de exibição"
+
+#: tryton/common/datetime_.py:61
+msgid "Open the calendar"
+msgstr "Abrir o calendário"
+
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+msgid "Date Format"
+msgstr "Formato de Data"
+
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+msgid "Displayed date format"
+msgstr "Formato de data exibido"
+
+#: tryton/common/domain_parser.py:235
+msgid "y"
+msgstr "s"
+
+#: tryton/common/domain_parser.py:235
+msgid "yes"
+msgstr "sim"
+
+#: tryton/common/domain_parser.py:235
+msgid "true"
+msgstr "verdadeiro"
+
+#: 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:507
+msgid "True"
+msgstr "Verdadeiro"
+
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
+msgid "False"
+msgstr "Falso"
+
+#: tryton/common/popup_menu.py:77
+msgid "Edit..."
+msgstr "Editar..."
+
+#: tryton/common/popup_menu.py:82
+msgid "Attachments..."
+msgstr "Anexos..."
+
+#: tryton/common/popup_menu.py:92
+msgid "Actions..."
+msgstr "Ações..."
+
+#: tryton/common/popup_menu.py:93
+msgid "Relate..."
+msgstr "Relacionar..."
+
+#: tryton/common/popup_menu.py:94
+msgid "Report..."
+msgstr "Relatório..."
+
+#: tryton/common/popup_menu.py:95
+msgid "E-Mail..."
+msgstr "E-mail..."
+
+#: tryton/common/popup_menu.py:96
+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 "_Arquivo"
+
+#: tryton/gui/main.py:226
+msgid "_User"
+msgstr "_Usuário"
+
+#: tryton/gui/main.py:240
+msgid "_Options"
+msgstr "_Opções"
+
+#: tryton/gui/main.py:248
+msgid "Fa_vorites"
+msgstr "Fa_voritos"
+
+#: tryton/gui/main.py:264
+msgid "_Help"
+msgstr "_Ajuda"
+
+#: tryton/gui/main.py:373
+msgid "No result found."
+msgstr "Nenhum resultado encontrado."
+
+#: 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 "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
+msgid "_Quit..."
+msgstr "_Sair..."
+
+#: tryton/gui/main.py:476
+msgid "_Preferences..."
+msgstr "_Preferências..."
+
+#: tryton/gui/main.py:487
+msgid "_Menu Reload"
+msgstr "_Recarregar Menu"
+
+#: tryton/gui/main.py:496
+msgid "_Menu Toggle"
+msgstr "_Ativar Menu"
+
+#: tryton/gui/main.py:503
+msgid "_Global Search"
+msgstr "_Busca Global"
+
+#: tryton/gui/main.py:518
+msgid "_Toolbar"
+msgstr "_Barra de Ferramentas"
+
+#: tryton/gui/main.py:526
+msgid "_Default"
+msgstr "_Default"
+
+#: tryton/gui/main.py:536
+msgid "_Text and Icons"
+msgstr "_Texto e Ícones"
+
+#: tryton/gui/main.py:546
+msgid "_Icons"
+msgstr "_Ícones"
+
+#: tryton/gui/main.py:555
+msgid "_Text"
+msgstr "_Texto"
+
+#: tryton/gui/main.py:564
+msgid "_Menubar"
+msgstr "_Barra do Menu"
+
+#: tryton/gui/main.py:572
+msgid "Change Accelerators"
+msgstr "Mudar aceleradores"
+
+#: 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 "_Formulário"
+
+#: tryton/gui/main.py:612
+msgid "Save Width/Height"
+msgstr "Salvar Largura/Altura"
+
+#: tryton/gui/main.py:623
+msgid "Save Tree State"
+msgstr "Salvar Estado da Árvore"
+
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr "Tabulação rápida"
+
+#: tryton/gui/main.py:645
+msgid "Spell Checking"
+msgstr "Verificar Ortografia"
+
+#: tryton/gui/main.py:655
+msgid "_Previous Tab"
+msgstr "_Aba Anterior"
+
+#: tryton/gui/main.py:661
+msgid "_Next Tab"
+msgstr "_Próxima Aba"
+
+#: tryton/gui/main.py:667
+msgid "Search Limit..."
+msgstr "Limite de Buscas"
+
+#: tryton/gui/main.py:673
+msgid "_Email..."
+msgstr "_Email..."
+
+#: tryton/gui/main.py:681
+msgid "_Save Options"
+msgstr "_Salvar Opções"
+
+#: tryton/gui/main.py:693
+msgid "_Tips..."
+msgstr "_Dicas..."
+
+#: tryton/gui/main.py:702
+msgid "_Keyboard Shortcuts..."
+msgstr "_Atalhos do Teclado..."
+
+#: tryton/gui/main.py:711
+msgid "_About..."
+msgstr "_Sobre..."
+
+#: tryton/gui/main.py:762
+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:330
+#: 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 "Busca"
+
+#: tryton/gui/main.py:914
+msgid ""
+"The following action requires to close all tabs.\n"
+"Do you want to continue?"
+msgstr ""
+"A ação seguinte requer que todas as abas sejam fechadas.\n"
+"Você deseja prosseguir?"
+
+#: tryton/gui/main.py:1173
+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 bando 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 recuperar..."
+
+#: 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 recuperaçã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 recuperado 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 apagar um banco de dados protegido por senha.\n"
+"Os processos de backup 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 deleção 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/board.py:19 tryton/gui/window/form.py:31
+msgid "New"
+msgstr "Novo"
+
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+msgid "Create a new record"
+msgstr "Criar novo registro"
+
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
+msgid "Save"
+msgstr "Salvar"
+
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+msgid "Save this record"
+msgstr "Salvar este registro"
+
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+msgid "Switch"
+msgstr "Trocar"
+
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+msgid "Switch view"
+msgstr "Mudar visão"
+
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+msgid "_Reload"
+msgstr "_Recarregar"
+
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+msgid "Reload"
+msgstr "Recarregar"
+
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+msgid "_New"
+msgstr "_Novo"
+
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
+msgid "_Save"
+msgstr "_Salvar"
+
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+msgid "_Switch View"
+msgstr "_Mudar visão"
+
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+msgid "_Reload/Undo"
+msgstr "_Recarregar/Desfazer"
+
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+msgid "_Delete..."
+msgstr "_Apagar..."
+
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+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"
+
+#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
+#: tryton/gui/window/dbrestore.py:94
+msgid "C_hange"
+msgstr "_Mudar"
+
+#: 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."
+
+#: 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:"
+
+#: 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 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 ""
+"Escolha uma senha para o usuário admin do novo banco de daods. Com essas credenciais, você será capaz de se autentica no banco de dados:\n"
+"Nome de usuário:admin\n"
+"Senha:<Sua nova senha>"
+
+#: 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 Admin novamente"
+
+#: tryton/gui/window/dbcreate.py:333
+msgid "The new admin password doesn't match the confirmation field.\n"
+msgstr "A nova senha do admin 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 com 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. 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 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
+msgid "Profile"
+msgstr "Perfil"
+
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
+msgid "_Add"
+msgstr "_Adicionar"
+
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
+msgid "_Remove"
+msgstr "_Remover"
+
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+msgid "Host:"
+msgstr "Host:"
+
+#: tryton/gui/window/dblogin.py:98
+msgid "Create"
+msgstr "Criar"
+
+#: tryton/gui/window/dblogin.py:101
+msgid "Fetching databases list"
+msgstr "Buscando a lista de bancos de dados"
+
+#: tryton/gui/window/dblogin.py:119
+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 se conectar ao servidor"
+
+#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+msgid "Incompatible version of the server"
+msgstr "Versão do servidor incompatível"
+
+#: tryton/gui/window/dblogin.py:359
+msgid "Login"
+msgstr "Login"
+
+#: 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 a conexão com o servidor do 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 ao servidor do Tryton"
+
+#: tryton/gui/window/dblogin.py:406
+msgid "Profile:"
+msgstr "Perfil:"
+
+#: tryton/gui/window/dblogin.py:410
+msgid "_Manage profiles"
+msgstr "_Gerenciar Perfis"
+
+#: tryton/gui/window/dblogin.py:420
+msgid "Host / Database information"
+msgstr "Informações do Host / Banco de Dados"
+
+#: tryton/gui/window/dblogin.py:459
+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çoes 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 "Novo nome de 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 "Recuperar"
+
+#: tryton/gui/window/dbrestore.py:170
+msgid "Restore the database from file."
+msgstr "Recuperar banco a partir do arquivo"
+
+#: tryton/gui/window/email.py:16
+msgid "Email"
+msgstr "Email"
+
+#: tryton/gui/window/email.py:25
+msgid "Email Program Settings"
+msgstr "Enviar Preferências do programa por email"
+
+#: tryton/gui/window/email.py:28
+msgid "Command Line:"
+msgstr "Linha de Comado:"
+
+#: tryton/gui/window/email.py:38
+msgid "Legend of Available Placeholders:"
+msgstr "Legenda de posições disponíveis:"
+
+#: 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 "Assunto:"
+
+#: tryton/gui/window/email.py:57
+msgid "Body:"
+msgstr "Corpo:"
+
+#: tryton/gui/window/email.py:61
+msgid "Attachment:"
+msgstr "Anexo:"
+
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: 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:41
+msgid "Previous Record"
+msgstr "Registro anterior"
+
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+msgid "Next"
+msgstr "Próximo"
+
+#: tryton/gui/window/form.py:42
+msgid "Next Record"
+msgstr "Próximo registro"
+
+#: tryton/gui/window/form.py:45
+msgid "Attachment(0)"
+msgstr "Anexo(0)"
+
+#: tryton/gui/window/form.py:46
+msgid "Add an attachment to the record"
+msgstr "Adicionar um anexo ao registro"
+
+#: tryton/gui/window/form.py:55
+msgid "_Duplicate"
+msgstr "_Duplicado"
+
+#: tryton/gui/window/form.py:60
+msgid "_Previous"
+msgstr "_Anterior"
+
+#: tryton/gui/window/form.py:62
+msgid "_Next"
+msgstr "_Próximo"
+
+#: tryton/gui/window/form.py:63
+msgid "_Search"
+msgstr "_Buscar"
+
+#: tryton/gui/window/form.py:64
+msgid "View _Logs..."
+msgstr "Ver _Logs..."
+
+#: tryton/gui/window/form.py:65
+msgid "Show revisions..."
+msgstr "Mostrar revisões..."
+
+#: tryton/gui/window/form.py:70
+msgid "A_ttachments..."
+msgstr "A_nexos..."
+
+#: tryton/gui/window/form.py:72
+msgid "_Actions..."
+msgstr "_Ações..."
+
+#: tryton/gui/window/form.py:74
+msgid "_Relate..."
+msgstr "_Relacionar"
+
+#: tryton/gui/window/form.py:77
+msgid "_Report..."
+msgstr "_Relatório..."
+
+#: tryton/gui/window/form.py:79
+msgid "_E-Mail..."
+msgstr "_E-Mail..."
+
+#: tryton/gui/window/form.py:81
+msgid "_Print..."
+msgstr "_Imprimir..."
+
+#: tryton/gui/window/form.py:84
+msgid "_Export Data..."
+msgstr "_Exportar Dados..."
+
+#: tryton/gui/window/form.py:86
+msgid "_Import Data..."
+msgstr "_Importar Dados..."
+
+#: tryton/gui/window/form.py:209
+#, python-format
+msgid "Attachment(%d)"
+msgstr "Anexo(%d)"
+
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr "Você deve selecionar um registro."
+
+#: tryton/gui/window/form.py:232
+msgid "ID:"
+msgstr "ID:"
+
+#: tryton/gui/window/form.py:233
+msgid "Creation User:"
+msgstr "Criado por:"
+
+#: tryton/gui/window/form.py:234
+msgid "Creation Date:"
+msgstr "Data de criação:"
+
+#: tryton/gui/window/form.py:235
+msgid "Latest Modification by:"
+msgstr "Última modificação por:"
+
+#: tryton/gui/window/form.py:236
+msgid "Latest Modification Date:"
+msgstr "Data da última modificação:"
+
+#: tryton/gui/window/form.py:255
+msgid "Model:"
+msgstr "Modelo:"
+
+#: tryton/gui/window/form.py:307
+msgid "Are you sure to remove this record?"
+msgstr "Você tem certeza que deseja apagar esse registro?"
+
+#: tryton/gui/window/form.py:309
+msgid "Are you sure to remove those records?"
+msgstr "Você tem certeza que deseja apagar estes registros?"
+
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr "Registros não apagados."
+
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr "Registros apagados."
+
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr "Trabalhando nos registros duplicados(s)."
+
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr "Registro gravado."
+
+#: tryton/gui/window/form.py:454
+msgid " of "
+msgstr "de"
+
+#: tryton/gui/window/form.py:475
+msgid ""
+"This record has been modified\n"
+"do you want to save it ?"
+msgstr ""
+"Esse registro foi modificado\n"
+"você deseja salvá-lo?"
+
+#: tryton/gui/window/form.py:528
+msgid "Action"
+msgstr "Ação"
+
+#: tryton/gui/window/form.py:528
+msgid "Launch action"
+msgstr "Executar ação"
+
+#: tryton/gui/window/form.py:529
+msgid "Relate"
+msgstr "Relacionar"
+
+#: tryton/gui/window/form.py:529
+msgid "Open related records"
+msgstr "Abrir registros relacionados"
+
+#: tryton/gui/window/form.py:531
+msgid "Report"
+msgstr "Relatório"
+
+#: tryton/gui/window/form.py:531
+msgid "Open report"
+msgstr "Abrir relatório"
+
+#: tryton/gui/window/form.py:532
+msgid "E-Mail"
+msgstr "E-Mail"
+
+#: tryton/gui/window/form.py:532
+msgid "E-Mail report"
+msgstr "Relatório por e-Mail"
+
+#: tryton/gui/window/form.py:533
+msgid "Print"
+msgstr "Imprimir"
+
+#: tryton/gui/window/form.py:533
+msgid "Print report"
+msgstr "Imprimir relatório"
+
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+msgid "Unknown"
+msgstr "Desconhecido"
+
+#: tryton/gui/window/limit.py:17
+msgid "Limit"
+msgstr "Limite"
+
+#: tryton/gui/window/limit.py:26
+msgid "Search Limit Settings"
+msgstr "Preferências de Limite de Buscas"
+
+#: tryton/gui/window/limit.py:29
+msgid "Limit:"
+msgstr "Limite:"
+
+#: tryton/gui/window/preference.py:23
+msgid "Preferences"
+msgstr "Preferências"
+
+#: tryton/gui/window/preference.py:49
+msgid "Edit User Preferences"
+msgstr "Editar preferências do usuário"
+
+#: tryton/gui/window/preference.py:75
+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
+msgid "Select a revision"
+msgstr "Selecione uma revisão"
+
+#: tryton/gui/window/revision.py:31
+msgid "Revision:"
+msgstr "Revisão:"
+
+#: tryton/gui/window/shortcuts.py:17
+msgid "Keyboard Shortcuts"
+msgstr "Atalhos do teclado"
+
+#: tryton/gui/window/shortcuts.py:28
+msgid "Text Entries Shortcuts"
+msgstr "Atalhos de texto"
+
+#: tryton/gui/window/shortcuts.py:29
+msgid "Cut selected text"
+msgstr "Recortar o texto selecionado"
+
+#: tryton/gui/window/shortcuts.py:30
+msgid "Copy selected text"
+msgstr "Copiar o texto selecionado"
+
+#: tryton/gui/window/shortcuts.py:31
+msgid "Paste copied text"
+msgstr "Colar o texto copiado"
+
+#: tryton/gui/window/shortcuts.py:32
+msgid "Next widget"
+msgstr "Próximo widget"
+
+#: tryton/gui/window/shortcuts.py:33
+msgid "Previous widget"
+msgstr "Widget anterior"
+
+#: tryton/gui/window/shortcuts.py:34
+msgid "Relation Entries Shortcuts"
+msgstr "Atalhos para registros de relações"
+
+#: tryton/gui/window/shortcuts.py:35
+msgid "Create new relation"
+msgstr "Criar nova relação"
+
+#: tryton/gui/window/shortcuts.py:36
+msgid "Open/Search relation"
+msgstr "Abrir/Buscar relação"
+
+#: tryton/gui/window/shortcuts.py:37
+msgid "List Entries Shortcuts"
+msgstr "Listar atalhos para entradas"
+
+#: tryton/gui/window/shortcuts.py:38
+msgid "Create new line"
+msgstr "Criar nova linha"
+
+#: tryton/gui/window/shortcuts.py:39
+msgid "Open relation"
+msgstr "Abrir relação"
+
+#: tryton/gui/window/shortcuts.py:40
+msgid "Mark line for deletion"
+msgstr "Marcar linha para deleção"
+
+#: tryton/gui/window/shortcuts.py:41
+msgid "Unmark line for deletion"
+msgstr "Desmarcar linha para deleção"
+
+#: tryton/gui/window/shortcuts.py:44
+msgid "Edition Widgets"
+msgstr "Widgets de edição"
+
+#: tryton/gui/window/shortcuts.py:47
+msgid "Move Cursor"
+msgstr "Mover o cursor"
+
+#: tryton/gui/window/shortcuts.py:48
+msgid "Move to right"
+msgstr "Mover para a direita"
+
+#: tryton/gui/window/shortcuts.py:49
+msgid "Move to left"
+msgstr "Mover para a direita"
+
+#: tryton/gui/window/shortcuts.py:50
+msgid "Move up"
+msgstr "Mover para cima"
+
+#: tryton/gui/window/shortcuts.py:51
+msgid "Move down"
+msgstr "Mover para baixo"
+
+#: tryton/gui/window/shortcuts.py:52
+msgid "Move up of one page"
+msgstr "Mover para o topo de uma página"
+
+#: tryton/gui/window/shortcuts.py:53
+msgid "Move down of one page"
+msgstr "Mover para o fim de uma página"
+
+#: tryton/gui/window/shortcuts.py:54
+msgid "Move to top"
+msgstr "Mover para o fim de uma página"
+
+#: tryton/gui/window/shortcuts.py:55
+msgid "Move to bottom"
+msgstr "Mover para o fundo"
+
+#: tryton/gui/window/shortcuts.py:56
+msgid "Move to parent"
+msgstr "Mover para o pai"
+
+#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+msgid "Select all"
+msgstr "Selecionar todos"
+
+#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+msgid "Unselect all"
+msgstr "Desmarcar Todos"
+
+#: tryton/gui/window/shortcuts.py:62
+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
+msgid "Select/Activate current row"
+msgstr "Selecionar/Ativar linha atual"
+
+#: tryton/gui/window/shortcuts.py:67
+msgid "Toggle selection"
+msgstr "Mudar seleção"
+
+#: tryton/gui/window/shortcuts.py:68
+msgid "Expand/Collapse"
+msgstr "Expandir/Recolher"
+
+#: tryton/gui/window/shortcuts.py:69
+msgid "Expand row"
+msgstr "Expandir a linha"
+
+#: tryton/gui/window/shortcuts.py:70
+msgid "Collapse row"
+msgstr "Recolher a linha"
+
+#: tryton/gui/window/shortcuts.py:71
+msgid "Toggle row"
+msgstr "Ativar a linha"
+
+#: tryton/gui/window/shortcuts.py:72
+msgid "Expand all rows"
+msgstr "Expandir todas as linhas"
+
+#: tryton/gui/window/shortcuts.py:73
+msgid "Collapse all rows"
+msgstr "Recolher todas as linhas"
+
+#: tryton/gui/window/shortcuts.py:76
+msgid "Tree view"
+msgstr "Exibição de listagem"
+
+#: tryton/gui/window/tips.py:17
+msgid ""
+"<b>Welcome to Tryton</b>\n"
+"\n"
+"\n"
+msgstr ""
+"<b>Bem-vindo ao 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>Você conhece Tritão, um dos motivos do nome deste projeto?</b>\n"
+"\n"
+"Tritão (em grego Τρίτων) é a maior lua de Netuno. Foi descoberta em \n"
+"10 de Outubro de 1846 por William Lassell. Ela é a única lua de grande\n"
+"porte no sistema solar com uma órbita retrógrada, ou seja, que gira\n"
+"no sentido oposto à rotação do planeta. Com 2700 km de diâmetro,\n"
+"é a sétima maior lua do sistema solar. Tritão compreende mais de 99.5 %\n"
+"de toda a massa que orbita Netuno, incluindo os anéis do planeta e as \n"
+"outras doze luas conhecidas. Ela também é mais massiva que todas as \n"
+"outras 159 luas menores conhecidas do 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"
+"Você pode copiar registror de qualquer lista com Ctrl  C\n"
+"e colar em qualquer aplicação com 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>Exporta gráficios</b>\n"
+"\n"
+"Você pode salvar qualquer gráfico em um arquivo PNG clicando com o botão direito.\n"
+
+#: tryton/gui/window/tips.py:45
+msgid "Tips"
+msgstr "Dicas"
+
+#: tryton/gui/window/tips.py:65
+msgid "_Display a new tip next time"
+msgstr "_Exibir uma nova dica da próxima vez"
+
+#: tryton/gui/window/win_export.py:25
+msgid "Export to CSV"
+msgstr "Exportar para CSV"
+
+#: tryton/gui/window/win_export.py:40
+msgid "<b>Predefined exports</b>"
+msgstr "<b>Exportações pré-definidas</b>"
+
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
+msgid "<b>All fields</b>"
+msgstr "<b>Todos os campos</b>"
+
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
+msgid "Clear"
+msgstr "Limpar"
+
+#: tryton/gui/window/win_export.py:95
+msgid "Save Export"
+msgstr "Salvar exportação"
+
+#: tryton/gui/window/win_export.py:104
+msgid "Delete Export"
+msgstr "Apagar exportação"
+
+#: tryton/gui/window/win_export.py:115
+msgid "<b>Fields to export</b>"
+msgstr "<b>Campos para exportar</b>"
+
+#: tryton/gui/window/win_export.py:132
+msgid "<b>Options</b>"
+msgstr "<b>Opções</b>"
+
+#: tryton/gui/window/win_export.py:142
+msgid "Open"
+msgstr "Abrir"
+
+#: tryton/gui/window/win_export.py:147
+msgid "Add _field names"
+msgstr "Adicionar _nomes de campos"
+
+#: tryton/gui/window/win_export.py:215
+msgid "Name"
+msgstr "Nome"
+
+#: tryton/gui/window/win_export.py:247
+#, python-format
+msgid "%s (string)"
+msgstr "%s (string)"
+
+#: tryton/gui/window/win_export.py:345
+msgid "What is the name of this export?"
+msgstr "Qual é o nome dessa exportação?"
+
+#: tryton/gui/window/win_export.py:351
+#, python-format
+msgid "Override '%s' definition?"
+msgstr "Sobrescrever a definição '%s'?"
+
+#: tryton/gui/window/win_export.py:481
+#, python-format
+msgid "%d record saved!"
+msgstr "%d registro gravado!"
+
+#: tryton/gui/window/win_export.py:483
+#, python-format
+msgid "%d records saved!"
+msgstr "%d registros gravados!"
+
+#: tryton/gui/window/win_export.py:486
+#, python-format
+msgid ""
+"Operation failed!\n"
+"Error message:\n"
+"%s"
+msgstr ""
+"Operação Falhou!\n"
+"Mensagem de erro:\n"
+"%s"
+
+#: tryton/gui/window/win_form.py:36
+msgid "Link"
+msgstr "Link"
+
+#: tryton/gui/window/win_form.py:127
+msgid "Add"
+msgstr "Adicionar"
+
+#: tryton/gui/window/win_form.py:140
+msgid "Remove <Del>"
+msgstr "Remover <Del>"
+
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+msgid "Create a new record <F3>"
+msgstr "Criar novo registro <F3>"
+
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+msgid "Delete selected record <Del>"
+msgstr "Apagar o registro selecionado <Del>"
+
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+msgid "Undelete selected record <Ins>"
+msgstr "Recuperar o registro selecionado <Ins>"
+
+#: tryton/gui/window/win_import.py:20
+msgid "Import from CSV"
+msgstr "Importar de CSV"
+
+#: tryton/gui/window/win_import.py:76
+msgid "Auto-Detect"
+msgstr "Auto-detectar"
+
+#: tryton/gui/window/win_import.py:93
+msgid "<b>Fields to import</b>"
+msgstr "<b>Campos para importar</b>"
+
+#: tryton/gui/window/win_import.py:109
+msgid "File to Import:"
+msgstr "Arquivo para importar:"
+
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
+msgid "Open..."
+msgstr "Abrir..."
+
+#: tryton/gui/window/win_import.py:117
+msgid "CSV Parameters"
+msgstr "Parâmetros CSV"
+
+#: tryton/gui/window/win_import.py:125
+msgid "Field Separator:"
+msgstr "Separador de campos:"
+
+#: tryton/gui/window/win_import.py:135
+msgid "Text Delimiter:"
+msgstr "Delimitador de texto:"
+
+#: tryton/gui/window/win_import.py:144
+msgid "Encoding:"
+msgstr "Codificação:"
+
+#: tryton/gui/window/win_import.py:154
+msgid "Lines to Skip:"
+msgstr "Linhas para saltar:"
+
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
+msgid "Field name"
+msgstr "Nome do campo"
+
+#: tryton/gui/window/win_import.py:254
+msgid "You must select an import file first!"
+msgstr "Você deve selecionar primeiro um arquivo para importar!"
+
+#: tryton/gui/window/win_import.py:265
+msgid "Error opening CSV file"
+msgstr "Erro ao abrir arquivo CSV"
+
+#: tryton/gui/window/win_import.py:292
+#, 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:367
+#, python-format
+msgid "%d record imported!"
+msgstr "%d registros importados!"
+
+#: tryton/gui/window/win_import.py:369
+#, python-format
+msgid "%d records imported!"
+msgstr "%d registros importados!"
+
+#: tryton/gui/window/wizard.py:287
+msgid "Wizard"
+msgstr "Assistente"
+
+#: tryton/gui/window/view_form/screen/screen.py:147
+msgid "ID"
+msgstr "ID"
+
+#: tryton/gui/window/view_form/screen/screen.py:148
+msgid "Creation User"
+msgstr "Criado por"
+
+#: tryton/gui/window/view_form/screen/screen.py:149
+msgid "Creation Date"
+msgstr "Data de Criação"
+
+#: tryton/gui/window/view_form/screen/screen.py:150
+msgid "Modification User"
+msgstr "Editado por"
+
+#: tryton/gui/window/view_form/screen/screen.py:151
+msgid "Modification Date"
+msgstr "Data de Modificação"
+
+#: tryton/gui/window/view_form/screen/screen.py:651
+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:710
+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:886
+#, 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:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr "\"%s\" é obrigatório"
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, 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:948
+msgid "Pre-validation"
+msgstr "Pré-validação"
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Salvar como"
+
+#: tryton/gui/window/view_form/view/graph.py:110
+msgid "Image Size"
+msgstr "Tamanho da imagem"
+
+#: tryton/gui/window/view_form/view/graph.py:119
+msgid "Width:"
+msgstr "Largura:"
+
+#: 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 "Imagem PNG(*.png)"
+
+#: tryton/gui/window/view_form/view/graph.py:159
+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
+msgid "F_ilters"
+msgstr "F_iltros"
+
+#: tryton/gui/window/view_form/view/screen_container.py:198
+msgid "Show bookmarks of filters"
+msgstr "Mostrar filtros favoritos"
+
+#: tryton/gui/window/view_form/view/screen_container.py:359
+msgid "Remove this bookmark"
+msgstr "Remover favorito"
+
+#: tryton/gui/window/view_form/view/screen_container.py:366
+msgid "Bookmark this filter"
+msgstr "Marcar filtro como favorito"
+
+#: tryton/gui/window/view_form/view/screen_container.py:431
+msgid "Bookmark Name:"
+msgstr "Nome do favorito:"
+
+#: tryton/gui/window/view_form/view/screen_container.py:538
+msgid "Find"
+msgstr "Encontrar"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+msgid "Today"
+msgstr "Hoje"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+msgid "Week View"
+msgstr "Ver Semana"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+msgid "Month View"
+msgstr "Visão mensal"
+
+#: 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:32
+msgid "Select..."
+msgstr "Pré-validação"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Todos os arquivos"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr "Selecionar"
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+msgid "Show plain text"
+msgstr "Mostrar em formato texto"
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+msgid "Add value"
+msgstr "Adicionar valor"
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#, python-format
+msgid "Remove \"%s\""
+msgstr "Remover \"%s\""
+
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
+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
+msgid "Add existing record"
+msgstr "Adicionar um registro existente"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+msgid "Remove selected record <Del>"
+msgstr "Remover registro selecionado <Del>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+msgid "Open a record <F2>"
+msgstr "Abrir um registro <F2>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+msgid "Search a record <F2>"
+msgstr "Buscar um registro <F2>"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+msgid "Remove selected record"
+msgstr "Remover o registro selecionado"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+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:836
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
+
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr "Cor de frente"
+
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+msgid "Select a color"
+msgstr "Selecione uma cor"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+msgid "Translation"
+msgstr "Tradução"
+
+#: 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 "Aproximado"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
+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!"
+msgstr "Não há outros idiomas disponíveis!"
+
+#: tryton/plugins/translation/__init__.py:22
+msgid "Translate view"
+msgstr "Traduzir visão"
diff --git a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..deb32cc
Binary files /dev/null and b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ru_RU/LC_MESSAGES/tryton.po b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
similarity index 61%
rename from share/locale/ru_RU/LC_MESSAGES/tryton.po
rename to tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
index d913177..1d160f5 100644
--- a/share/locale/ru_RU/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
@@ -2,94 +2,111 @@
 # Copyright (C) 2009 B2CK
 # This file is distributed under the same license as the tryton project.
 # Dmitry Klimanov <k-dmitry2 at narod.ru>, 2010.
-#
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 1.3.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-03-23 18:56+0100\n"
-"PO-Revision-Date: 2013-04-12 23:16+0500\n"
-"Last-Translator: Ilya Melnikov <rayanayar at mail.ru>\n"
-"Language-Team: ru_RU <k-dmitry2 at narod.ru>\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+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 "все сообщения на уровне INFO"
 
+#: tryton/config.py:84
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr "указать уровень вывода сообщений: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr ""
+"указать уровень вывода сообщений: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
+#: 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 "Файл \"%s\" не найден"
 
+#: tryton/config.py:136
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Невозможно записать файл конфигурации %s!"
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Не удается установить локализацию %s"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Выберите действие"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "Не определены действия!"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Tryton соединение"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Сервер:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Порт:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Выбор"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "Ваш выбор:"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Сохранить как..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "Всегда игнорировать это предупреждение."
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr "Вы хотите продолжить?"
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Подтвердите"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Прерывание конкурентных записей"
 
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -107,48 +124,63 @@ msgstr ""
 "- \" Сравнить \", чтобы увидеть модифицированный вариант;\n"
 "- \" Переписать \", чтобы сохранить вашу текущую версию."
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "Сравнить"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Записать все равно"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Ошибка"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Сообщить об ошибке"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Ошибка приложения!"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "Ошибка: "
 
+#: tryton/common/common.py:880
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
-msgstr "Вы можете отправить отчет об ошибке если вы зарегистрированны на <u>%s</u>"
+msgstr ""
+"Вы можете отправить отчет об ошибке если вы зарегистрированны на <u>%s</u>"
 
+#: tryton/common/common.py:910
 msgid "Bug Tracker"
 msgstr "Система сбора ошибок"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Пользователь:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Пароль:"
 
+#: 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 ""
 "Эта же ошибка была уже сообщена от другого пользователя.\n"
-"Чтобы держать вас в курсе ваше имя пользователя будет добавлен в список "
-"перечень по этому вопросу"
+"Чтобы держать вас в курсе ваше имя пользователя будет добавлен в список перечень по этому вопросу"
 
+#: tryton/common/common.py:1002
 msgid "Created new bug with ID "
 msgstr "Создан новый отчет об ошибке с идентификатором"
 
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -156,21 +188,24 @@ msgstr ""
 "Ошибка соединения!\n"
 "Неверное имя пользователя или пароль!"
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "Исключительная ситуация:"
 
+#: 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."
+"The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "Цифровой сертификат сервера изменился с момента последнего подключения!\n"
-"Подключение к серверу приостановлено до тех пор пока сертификат не будет "
-"исправлен."
+"Подключение к серверу приостановлено до тех пор пока сертификат не будет исправлен."
 
+#: tryton/common/common.py:1034
 msgid "Security risk!"
 msgstr "Угроза безопасности!"
 
+#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -178,228 +213,315 @@ msgstr ""
 "Ошибка соединения!\n"
 "Невозможно соединиться с сервером!"
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
 msgstr "Сетевая ошибка!"
 
+#: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
 msgstr "<i>Поиск...</i>"
 
+#: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
 msgstr "<i>Создать...</i>"
 
+#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 #, fuzzy
 msgid "Value"
 msgstr "Добавить значение"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 #, 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
 #, fuzzy
 msgid "Format"
 msgstr "Нормальный"
 
+#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
+#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
 msgid "Display format"
 msgstr ""
 
+#: tryton/common/datetime_.py:61
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Открыть календарь <F2>"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr ""
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr ""
 
+#: tryton/common/domain_parser.py:235
 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"
 msgstr ""
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "True"
 msgstr "Истинный"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Ложный"
 
+#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "_Выход..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Вложения..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Действия..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Связанные..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Отчет..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Эл.почта..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Печать..."
 
+#: tryton/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:218
 msgid "_File"
 msgstr "Файл"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Пользователь"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Параметры"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Избранное"
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Помощь"
 
-msgid "Search"
-msgstr "Поиск"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr "Ничего не найдено."
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "Подключение..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "_Выход..."
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "Настройки..."
 
+#: tryton/gui/main.py:487
 msgid "_Menu Reload"
 msgstr "Обновить меню"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr "Показать/скрыть меню"
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr "Глобальный поиск"
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "Панель инструментов"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "По умолчанию"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "Текст и Значки"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "Значки"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "Текст"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "_Меню"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "Режим изменения быстрых клавиш"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "Режим"
 
+#: tryton/gui/main.py:588
 msgid "_Normal"
 msgstr "Нормальный"
 
+#: tryton/gui/main.py:596
 msgid "_PDA"
 msgstr "Упрощенный"
 
+#: tryton/gui/main.py:603
 msgid "_Form"
 msgstr "Форма"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "Сохранить размеры"
 
+#: tryton/gui/main.py:623
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Запомнить состояние дерева"
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Проверка орфографии"
 
+#: tryton/gui/main.py:655
 msgid "_Previous Tab"
 msgstr "Предыдущая вкладка"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
 msgstr "Следующая вкладка"
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr "Максимальное количество строк..."
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "Настройки _Эл.почты"
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "Сохранить настройки"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "_Советы..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "_Быстрые клавиши"
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "О программе"
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "Поиск"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -407,9 +529,11 @@ msgstr ""
 "Данное действие приведет к закрытию всех вкладок.\n"
 "Продолжить?"
 
+#: tryton/gui/main.py:1173
 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?"
@@ -417,6 +541,7 @@ msgstr ""
 "Вы собираетесь удалить базу данных.\n"
 "Вы действительно уверены, продолжить?"
 
+#: tryton/gui/main.py:1304
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -424,21 +549,28 @@ 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."
@@ -446,9 +578,11 @@ 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."
@@ -456,15 +590,19 @@ 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."
@@ -472,180 +610,225 @@ 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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Новый"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Создать новую запись"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Сохранить"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Сохранить эту запись"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Переключить"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Переключить вид"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Обновить"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Обновить"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "Новый"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "Сохранить"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Сменить просмотр"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "Обновить/Отменить"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "Удалить..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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', если сервер установлен на этом компьютере. Нажмите кнопку "
-"'Изменить' для изменения адреса."
+"'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"
+"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"
+"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."
+"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."
+"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"
+"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 "
+"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"
+"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"
+"Выберите пароль администратора для новой базы данных.С этими данными вы будете иметь возможность войти в базу данных:\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."
@@ -653,128 +836,168 @@ 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"
+"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"
 "Сообщение об ошибке:\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
 msgid "Profile"
 msgstr "Профиль"
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Добавить"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Удалить"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
 msgstr "Сервер:порт"
 
+#: tryton/gui/window/dblogin.py:98
 msgid "Create"
 msgstr "Создать"
 
+#: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
 msgstr "Получение списка баз данных"
 
+#: tryton/gui/window/dblogin.py:119
 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
 msgid "Incompatible version of the server"
 msgstr "Несовместимая версия сервера"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Логин"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "Отмена"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Отмена подключения к серверу"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "Соединение"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Соединение с сервером"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr "Профиль:"
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr "Управление профилями"
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr "Сервер / база данных"
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -786,12 +1009,15 @@ msgstr ""
 "Недопустимо использование пробелов и других специальных символов!\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."
@@ -799,148 +1025,198 @@ 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
 msgid "Email Program Settings"
 msgstr "Настройки программы электронной почты"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Командная строка:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Переменные доступные для подстановки:"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "Кому:"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "Скрытая копия:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Тема:"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Сообщение:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Вложение:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Предыдущий"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "Предыдущая запись"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Следующий"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Следующая запись"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Вложений (0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Добавить вложение для этой записи"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "Копировать"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "Предыдущая"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Следующая"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "Поиск"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Просмотр изменений"
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr ""
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "Вложения..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "Действия"
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "Связанные..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "Отчет..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "Эл.почта..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "печать"
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "Экспорт данных"
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "Импорт данных"
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Вложений (%d)"
 
-msgid "You have to select one record!"
-msgstr "Вы должны выбрать одну запись!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr ""
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "Номер строки"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Создано пользователем"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Дата создания"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Изменена пользователем:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Дата изменения:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Модель:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Вы уверены что хотите удалить эту запись?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Вы уверены что хотите удалить эти записи?"
 
-msgid "Records not removed!"
-msgstr "Записи не удалены!"
-
-msgid "Records removed!"
-msgstr "Записи удалены!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr ""
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Сейчас работает на дублирующихся записях!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr ""
 
-msgid "Record saved!"
-msgstr "Запись сохранена!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr ""
 
-msgid "Invalid form!"
-msgstr "Недопустимая форма!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr ""
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr "из"
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -948,119 +1224,247 @@ msgstr ""
 "Эта запись была изменена\n"
 "Вы хотите её сохранить?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Действие"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Выполнить действие"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "Связанные"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Открыть связанные записи"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Отчет"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Открыть отчет"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Эл.почта"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Отправить отчет по Эл.почте"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Печать"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Печать отчета"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Неизвестно"
 
+#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Ограничение"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Настройки ограничения поиска"
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Кол-во записей"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Настройки"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Изменить настройки пользователя"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Настройка"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Текущий пароль:"
 
+#: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Предыдущий"
 
+#: tryton/gui/window/revision.py:28
 #, fuzzy
 msgid "Select a revision"
 msgstr "Выбор"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr ""
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Сочетания клавиш быстрого доступа"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Горячие клавиши в текстовых полях"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Вырезать  выделенный текст"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Скопировать выделенный текст"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Вставить скопированный текст"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Следующий Widget"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Предыдущий Widget"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Связи записей \"быстрого доступа\""
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Создать новую связь"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Открыть / Поиск связей"
 
+#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Список горячих клавиш"
 
+#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Создать новую строку"
 
+#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Открыть связь"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Отметить линию на удаление"
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Убрать отметку на удаление"
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Редактируемые поля"
 
+#: tryton/gui/window/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"
@@ -1070,6 +1474,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1077,8 +1482,7 @@ msgid ""
 "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"
+"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"
@@ -1086,18 +1490,17 @@ msgid ""
 msgstr ""
 "<b>Знаете ли вы, Тритон, один из однофамильцев нашего проекта?</b>\n"
 "\n"
-"Тритон (произносится / traɪtən / TRYE-tən, или, как в греческом Τρίτων) "
-"является\n"
+"Тритон (произносится / traɪtən / TRYE-tən, или, как в греческом Τρίτων) является\n"
 "крупным спутником планеты Нептун, его обнаружил 10 октября 1846 года\n"
 " Уильям Лассел. Это единственный большой спутник в Солнечной системе\n"
 "с ретроградной орбитой, орбитой которая направлена обратно\n"
 "вращению планеты. При 2700 км в диаметре, это седьмой крупнейший\n"
 "спутник в Солнечной системе. Тритон составляет более 99,5 процента всей\n"
 "массы орбиты Нептуна, в том числе учитывая кольца планеты и двенадцать\n"
-"других известных спутников. Кроме того, он более массивен, чем все 159 "
-"известных\n"
+"других известных спутников. Кроме того, он более массивен, чем все 159 известных\n"
 "меньших спутники Солнечной системы вместе взятых.\n"
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1109,6 +1512,7 @@ msgstr ""
 "Вы можете копировать записи из любого списка по Ctrl + C\n"
 "и вставить в любое приложение по Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1116,67 +1520,86 @@ msgid ""
 msgstr ""
 "<b>Экспорт графиков</b>\n"
 "\n"
-"Можно сохранить график в PNG-формате щелкнув по нему правой кнопкой мыши."
-"\n"
+"Можно сохранить график в PNG-формате щелкнув по нему правой кнопкой мыши.\n"
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "Советы"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "Показывать  новый совет при следующем запуске"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Экспорт в CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Предопределенные экспорты</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Все поля</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Очистить"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Сохранить настройку экспорта"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Удалить настройку экспорта"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Поля для экспорта</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Опции</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Открыть"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Добавить имя поля"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Имя"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "Укажите имя для экспорта."
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "%d запись сохранена!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "%d записей сохранено!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1187,258 +1610,328 @@ msgstr ""
 "Сообщение об ошибке:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Ссылка"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Добавить"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Удалить <Del>"
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Создать новую запись <F3>"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Удалить выбраную запись <Del>"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Восстановить выбраную запись <Ins>"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Импорт из файла CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Авто-обнаружение"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Поля для импорта</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Файл для импорта:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Открыть..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "Параметры CVS"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Разделитель полей:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Ограничитель текста:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Кодировка:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Строки для пропуска:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Наименование поля"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Вы должны сначала выбрать файл для импорта!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Ошибка открытия файла CSV"
 
+#: tryton/gui/window/win_import.py:292
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Ошибка при обработке файла на поле %s."
 
+#: tryton/gui/window/win_import.py:367
 #, python-format
 msgid "%d record imported!"
 msgstr "%d запись импортирована!"
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
 msgstr "%d записей импортировано!"
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "Мастер"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 #, fuzzy
 msgid "Creation User"
 msgstr "Создано пользователем"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 #, fuzzy
 msgid "Creation Date"
 msgstr "Дата создания"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 #, fuzzy
 msgid "Modification User"
 msgstr "Дата изменения:"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 #, fuzzy
 msgid "Modification Date"
 msgstr "Дата изменения:"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 msgid "Unable to get view tree state"
 msgstr ""
 
+#: tryton/gui/window/view_form/screen/screen.py:710
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Не удается установить локализацию %s"
 
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:948
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Сохранить как"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Размер изображения"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Ширина:"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "Ввысота:"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
 msgstr "PNG изображение (*.png)"
 
+#: tryton/gui/window/view_form/view/graph.py:159
 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
 msgid "F_ilters"
 msgstr "Фильтры"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr "Показать сохраненные фильтры"
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr "Удалить эту закладку"
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr "Запомнить этот фильтр"
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr "Имя закладки:"
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Найти"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Сообщение:"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Переключить вид"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Переключить вид"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-msgid "Select a File..."
-msgstr "Выбрать файл..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr ""
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Все фалы"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr "Показать в виде текста"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr "Добавить значение"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Удалить \"%s\""
 
-msgid "Select an Image..."
-msgstr "Выбрать изображение..."
-
-msgid "All files"
-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:64
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
 msgid "Add existing record"
 msgstr "Добавить существующую запись"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 msgid "Remove selected record <Del>"
 msgstr "Удалить выбраную запись <Del>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Open a record <F2>"
 msgstr "Открыть запись <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 msgid "Search a record <F2>"
 msgstr "Поиск записи <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 msgid "Remove selected record"
 msgstr "Удалить выбраную запись"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 msgid "Edit selected record <F2>"
 msgstr "Изменить выбранную запись <F2>"
 
-msgid "Change text to bold"
-msgstr "Сделать текст полужирным"
-
-msgid "Change text to italic"
-msgstr "Сделать текст курсивом"
-
-msgid "Change text to underline"
-msgstr "Сделать текст подчеркнутым"
-
-msgid "Choose font-family"
-msgstr "Выбрать имя шрифта"
-
-msgid "Choose font-size"
-msgstr "Выбрать размер шрифта"
-
-msgid "Justify of line to the left"
-msgstr "Выравнивание по левому краю"
-
-msgid "Justify of line to the center"
-msgstr "Выравнивание по центру"
-
-msgid "Justify of line to the right"
-msgstr "Выравнивание по правому краю"
-
-msgid "Justify of line to fill window"
-msgstr "Выравнивание по ширине"
-
-msgid "Change the foreground text"
-msgstr "Изменить основной текст"
-
-msgid "Change the background text"
-msgstr "Изменить текст фона"
-
-msgid "Change the markup text view"
-msgstr "Изменить текст разметки"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr ""
 
-msgid "Select a foreground color"
-msgstr "Выбрать цвет"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr ""
 
-msgid "Select a background color"
-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 "Перевод"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr "Редактировать"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 msgid "Fuzzy"
 msgstr "Неточный"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
 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!"
 msgstr "Отсутствуют другие доступные языки!"
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Перевод текущего окна"
-
diff --git a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..d28e6c8
Binary files /dev/null and b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/sl_SI/LC_MESSAGES/tryton.po b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
similarity index 54%
rename from share/locale/sl_SI/LC_MESSAGES/tryton.po
rename to tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
index 852541d..89e6190 100644
--- a/share/locale/sl_SI/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
@@ -2,94 +2,110 @@
 # Copyright (C) 2010 B2CK
 # This file is distributed under the same license as the tryton project.
 # Venceslav Vezjak <vezjakv at gmail.com>, 2010.
-#
 msgid ""
-msgstr ""
-"Project-Id-Version: tryton 3.0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2015-04-04 11:14+0200\n"
-"PO-Revision-Date: 2015-04-04 11:19+0200\n"
-"Last-Translator: Venceslav Vezjak <vezjakv at gmail.com>\n"
-"Language-Team: sl_SI <LL at li.org>\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 "
-"|| n%100==4 ? 2 : 3)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+#: tryton/config.py:76
 msgid "specify alternate config file"
 msgstr "določi alterntivno konfiguracijsko datoteko"
 
+#: tryton/config.py:79
 msgid "development mode"
 msgstr "Razvijalski način"
 
+#: tryton/config.py:82
 msgid "logging everything at INFO level"
 msgstr "beleženje vsega na INFO ravni"
 
+#: tryton/config.py:84
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "določi nivo beleženja: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
+#: tryton/config.py:87
 msgid "specify the login user"
 msgstr "določi uporabniško ime"
 
+#: tryton/config.py:89
 msgid "specify the server port"
 msgstr "določi strežniška vrata"
 
+#: tryton/config.py:91
 msgid "specify the server hostname"
 msgstr "določi strežniškega gostitelja"
 
+#: tryton/config.py:95
 msgid "Too much arguments"
 msgstr "Preveč argumentov"
 
+#: tryton/config.py:98
 #, python-format
 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!"
 
+#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Ni možno nastaviti krajevnih nastavitev %s"
 
+#: tryton/action/main.py:176
 msgid "Select your action"
 msgstr "Izberi ukrep"
 
+#: tryton/action/main.py:182
 msgid "No action defined!"
 msgstr "Nobenega ukrepa ni določenega!"
 
+#: tryton/common/common.py:274
 msgid "Tryton Connection"
 msgstr "Tryton povezava"
 
+#: tryton/common/common.py:285
 msgid "Server:"
 msgstr "Strežnik:"
 
+#: tryton/common/common.py:303
 msgid "Port:"
 msgstr "Vrata:"
 
+#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
 msgstr "Izbira"
 
+#: tryton/common/common.py:380
 msgid "Your selection:"
 msgstr "Vaša izbira:"
 
+#: tryton/common/common.py:495 tryton/gui/main.py:1388
+#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/view_form/view/graph.py:169
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
 msgid "Save As..."
 msgstr "Shrani kot..."
 
+#: tryton/common/common.py:642
 msgid "Always ignore this warning."
 msgstr "Vedno prezri to opozorilo."
 
+#: tryton/common/common.py:647
 msgid "Do you want to proceed?"
 msgstr "Ali želite nadaljevati?"
 
+#: tryton/common/common.py:666
 msgid "Confirmation"
 msgstr "Potrditev"
 
+#: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
 msgstr "Izjema sočasnega izvajanja"
 
+#: tryton/common/common.py:786
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -107,48 +123,62 @@ msgstr ""
 "    - \"Primerjaj\" za vpogled v spremenjeno inačico;\n"
 "    - \"Vseeno zapiši\" za shranitev vaše trenutne inačice."
 
+#: tryton/common/common.py:795
 msgid "Compare"
 msgstr "Primerjaj"
 
+#: tryton/common/common.py:800
 msgid "Write Anyway"
 msgstr "Vseeno zapiši"
 
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:487
+#: tryton/gui/window/win_import.py:265 tryton/gui/window/win_import.py:293
 msgid "Error"
 msgstr "Napaka"
 
+#: tryton/common/common.py:830
 msgid "Report Bug"
 msgstr "Prijava programske napake"
 
+#: tryton/common/common.py:837
 msgid "Application Error!"
 msgstr "Napaka programa!"
 
+#: tryton/common/common.py:860
 msgid "Error: "
 msgstr "Napaka: "
 
+#: tryton/common/common.py:880
 #, 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
 msgid "Bug Tracker"
 msgstr "Sledilnik programskih napak"
 
+#: tryton/common/common.py:928
 msgid "User:"
 msgstr "Uporabnik:"
 
+#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Geslo:"
 
+#: 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 ""
 "Drugi uporabnik je že prijavil enako programsko napako.\n"
-"Zaradi obveščanja je vaše uporabniško ime dodano na seznam te programske "
-"napake"
+"Zaradi obveščanja je vaše uporabniško ime dodano na seznam te programske napake"
 
+#: tryton/common/common.py:1002
 msgid "Created new bug with ID "
 msgstr "Evidentirana je nova programska napaka z ID "
 
+#: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -156,21 +186,24 @@ msgstr ""
 "Napaka pri povezavovanju!\n"
 "Napačno uporabniško ime ali geslo!"
 
+#: tryton/common/common.py:1015
 msgid "Exception:"
 msgstr "Izjema:"
 
+#: 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."
+"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"
-"Program bo ustavil povezovanje na ta strežnik, dokler ne bo njegov prstni"
-" odtis popravljen."
+"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:1039 tryton/common/common.py:1104
+#: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -178,222 +211,309 @@ msgstr ""
 "Napaka pri povezovanju!\n"
 "Ni se možno povezati na strežnik!"
 
+#: tryton/common/common.py:1119
 msgid "Network Error!"
 msgstr "Napaka mreže!"
 
+#: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
 msgstr "<i>Išči...</i>"
 
+#: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
 msgstr "<i>Ustvari...</i>"
 
+#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
+#: tryton/common/datetime_.py:383
 msgid "Value"
 msgstr "Vrednost"
 
+#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
+#: tryton/common/datetime_.py:384
 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
 msgid "Format"
 msgstr "Oblika"
 
+#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
+#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
 msgid "Display format"
 msgstr "Oblika prikaza"
 
+#: tryton/common/datetime_.py:61
 msgid "Open the calendar"
 msgstr "Odpri koledar"
 
+#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
 msgstr "Oblika datuma"
 
+#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
 msgstr "Prikazana oblika datuma"
 
+#: tryton/common/domain_parser.py:235
 msgid "y"
 msgstr "d"
 
+#: tryton/common/domain_parser.py:235
 msgid "yes"
 msgstr "da"
 
+#: tryton/common/domain_parser.py:235
 msgid "true"
 msgstr "da"
 
+#: tryton/common/domain_parser.py:235
 msgid "t"
 msgstr "t"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "True"
 msgstr "Da"
 
+#: tryton/common/domain_parser.py:457
+#: tryton/gui/window/view_form/view/screen_container.py:507
 msgid "False"
 msgstr "Ne"
 
+#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Uredi ..."
 
+#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Priponke..."
 
+#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "_Ukrepi..."
 
+#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "_Veze..."
 
+#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Poročila..."
 
+#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "_Elektronska pošta..."
 
+#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "_Izpis..."
 
+#: tryton/common/timedelta.py:26
 msgid "Y"
 msgstr "l"
 
+#: 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 "u"
 
+#: 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 "_Datoteka"
 
+#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Uporabnik"
 
+#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Možnosti"
 
+#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "P_riljubljeno"
 
+#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Pomoč"
 
-msgid "Search"
-msgstr "Išči"
-
+#: tryton/gui/main.py:373
 msgid "No result found."
 msgstr "Brez rezultatov."
 
+#: tryton/gui/main.py:395
 msgid "_Connect..."
 msgstr "_Poveži..."
 
+#: tryton/gui/main.py:404
 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
 msgid "_Quit..."
 msgstr "_Izhod..."
 
+#: tryton/gui/main.py:476
 msgid "_Preferences..."
 msgstr "_Nastavitve..."
 
+#: tryton/gui/main.py:487
 msgid "_Menu Reload"
 msgstr "_Ponovno naloži meni"
 
+#: tryton/gui/main.py:496
 msgid "_Menu Toggle"
 msgstr "_Preklopi meni"
 
+#: tryton/gui/main.py:503
 msgid "_Global Search"
 msgstr "_Globalno iskanje"
 
+#: tryton/gui/main.py:518
 msgid "_Toolbar"
 msgstr "_Orodna vrstica"
 
+#: tryton/gui/main.py:526
 msgid "_Default"
 msgstr "_Privzeto"
 
+#: tryton/gui/main.py:536
 msgid "_Text and Icons"
 msgstr "Bese_dilo in ikone"
 
+#: tryton/gui/main.py:546
 msgid "_Icons"
 msgstr "_Ikone"
 
+#: tryton/gui/main.py:555
 msgid "_Text"
 msgstr "_Besedilo"
 
+#: tryton/gui/main.py:564
 msgid "_Menubar"
 msgstr "_Menu vrstica"
 
+#: tryton/gui/main.py:572
 msgid "Change Accelerators"
 msgstr "Spremeni bližnjice"
 
+#: tryton/gui/main.py:580
 msgid "_Mode"
 msgstr "_Način"
 
+#: tryton/gui/main.py:588
 msgid "_Normal"
 msgstr "_Navaden"
 
+#: tryton/gui/main.py:596
 msgid "_PDA"
 msgstr "_PDA"
 
+#: tryton/gui/main.py:603
 msgid "_Form"
 msgstr "O_brazec"
 
+#: tryton/gui/main.py:612
 msgid "Save Width/Height"
 msgstr "Shrani širino/višino"
 
+#: tryton/gui/main.py:623
 msgid "Save Tree State"
 msgstr "Shrani stanje drevesa"
 
+#: tryton/gui/main.py:635
+msgid "Fast Tabbing"
+msgstr "Hitri premik"
+
+#: tryton/gui/main.py:645
 msgid "Spell Checking"
 msgstr "Črkovanje"
 
+#: tryton/gui/main.py:655
 msgid "_Previous Tab"
 msgstr "P_rejšnji zavihek"
 
+#: tryton/gui/main.py:661
 msgid "_Next Tab"
 msgstr "_Naslednji zavihek"
 
+#: tryton/gui/main.py:667
 msgid "Search Limit..."
 msgstr "Omejitev iskanja..."
 
+#: tryton/gui/main.py:673
 msgid "_Email..."
 msgstr "_Epošta..."
 
+#: tryton/gui/main.py:681
 msgid "_Save Options"
 msgstr "_Shrani možnosti"
 
+#: tryton/gui/main.py:693
 msgid "_Tips..."
 msgstr "_Nasveti..."
 
+#: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
 msgstr "_Bližnjice na tipkovnici..."
 
+#: tryton/gui/main.py:711
 msgid "_About..."
 msgstr "_Vizitka..."
 
+#: tryton/gui/main.py:762
 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:330
+#: 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 "Išči"
+
+#: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -401,16 +521,19 @@ msgstr ""
 "Za naslednji ukrep morajo biti vsi zavihki zaprti.\n"
 "Ali želite nadaljevati?"
 
+#: tryton/gui/main.py:1173
 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 ste res želite nadaljevati?"
+"Ali res želite nadaljevati?"
 
+#: tryton/gui/main.py:1304
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -418,21 +541,28 @@ 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."
@@ -440,9 +570,11 @@ 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."
@@ -450,15 +582,19 @@ 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."
@@ -466,178 +602,222 @@ 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/board.py:19 tryton/gui/window/form.py:31
 msgid "New"
 msgstr "Novo"
 
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
 msgid "Create a new record"
 msgstr "Ustvari nov zapis"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Shrani"
 
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
 msgid "Save this record"
 msgstr "Shrani ta zapis"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Preklopi"
 
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
 msgid "Switch view"
 msgstr "Preklopi pogled"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "_Reload"
 msgstr "_Ponovno naloži"
 
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
 msgid "Reload"
 msgstr "Ponovno naloži"
 
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
 msgid "_New"
 msgstr "_Nov"
 
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
+#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Shrani"
 
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
 msgid "_Switch View"
 msgstr "Preklopi po_gled"
 
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
 msgid "_Reload/Undo"
 msgstr "Ponovno naloži/Razvel_javi"
 
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
 msgid "_Delete..."
 msgstr "Z_briši..."
 
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
 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."
+"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'."
+"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"
+"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"
+"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."
+"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'."
+"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."
+"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."
+"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"
+"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"
+"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 "
+"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."
+"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"
+"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"
+"Izberi geslo za skrbnika nove podatkovne baze. S to poverilnico se lahko kasneje prijaviš v podatkovno bazo:\n"
 "Uporabniško ime: admin\n"
-"Geslo: <tu nastavljeno geslo>"
+"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."
@@ -645,128 +825,168 @@ 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"
+"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"
+"Č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
 msgid "Profile"
 msgstr "Profil"
 
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
+#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Dodaj"
 
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
+#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Odstrani"
 
+#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
 msgstr "Strežnik:"
 
+#: tryton/gui/window/dblogin.py:98
 msgid "Create"
 msgstr "Ustvari"
 
+#: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
 msgstr "Pridobivanje seznama podatkovnih baz"
 
+#: tryton/gui/window/dblogin.py:119
 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
 msgid "Incompatible version of the server"
 msgstr "Nezdružljiva inačica strežnika"
 
+#: tryton/gui/window/dblogin.py:359
 msgid "Login"
 msgstr "Prijava"
 
+#: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
 msgstr "_Prekliči"
 
+#: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
 msgstr "Prekliči povezavo do Tryton strežnika"
 
+#: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
 msgstr "P_oveži"
 
+#: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
 msgstr "Poveži se s Tryton strežnikom"
 
+#: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
 msgstr "Profil:"
 
+#: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
 msgstr "_Upravljaj profile"
 
+#: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
 msgstr "Strežnik in podatkovna baza"
 
+#: tryton/gui/window/dblogin.py:459
 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"
@@ -775,165 +995,217 @@ msgid ""
 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"
+"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."
+"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
 msgid "Email Program Settings"
 msgstr "Nastavitve poštnega odjemalca"
 
+#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Ukazna vrstica:"
 
+#: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
 msgstr "Opis možnih prostornikov:"
 
+#: tryton/gui/window/email.py:45
 msgid "To:"
 msgstr "Za:"
 
+#: tryton/gui/window/email.py:49
 msgid "CC:"
 msgstr "Kp:"
 
+#: tryton/gui/window/email.py:53
 msgid "Subject:"
 msgstr "Zadeva:"
 
+#: tryton/gui/window/email.py:57
 msgid "Body:"
 msgstr "Vsebina:"
 
+#: tryton/gui/window/email.py:61
 msgid "Attachment:"
 msgstr "Priponka:"
 
+#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/view_form/view/screen_container.py:214
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Prejšnji"
 
+#: tryton/gui/window/form.py:41
 msgid "Previous Record"
 msgstr "Prejšnji zapis"
 
+#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/view_form/view/screen_container.py:226
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Naslednji"
 
+#: tryton/gui/window/form.py:42
 msgid "Next Record"
 msgstr "Naslednji zapis"
 
+#: tryton/gui/window/form.py:45
 msgid "Attachment(0)"
 msgstr "Priponka(0)"
 
+#: tryton/gui/window/form.py:46
 msgid "Add an attachment to the record"
 msgstr "Dodaj priponko zapisu"
 
+#: tryton/gui/window/form.py:55
 msgid "_Duplicate"
 msgstr "_Podvoji"
 
+#: tryton/gui/window/form.py:60
 msgid "_Previous"
 msgstr "P_rejšnji"
 
+#: tryton/gui/window/form.py:62
 msgid "_Next"
 msgstr "Nas_lednji"
 
+#: tryton/gui/window/form.py:63
 msgid "_Search"
 msgstr "_Išči"
 
+#: tryton/gui/window/form.py:64
 msgid "View _Logs..."
 msgstr "Poglej dnevni_k..."
 
+#: tryton/gui/window/form.py:65
 msgid "Show revisions..."
 msgstr "Prikaži različice ..."
 
+#: tryton/gui/window/form.py:70
 msgid "A_ttachments..."
 msgstr "P_riponke..."
 
+#: tryton/gui/window/form.py:72
 msgid "_Actions..."
 msgstr "_Ukrepi..."
 
+#: tryton/gui/window/form.py:74
 msgid "_Relate..."
 msgstr "_Veze..."
 
+#: tryton/gui/window/form.py:77
 msgid "_Report..."
 msgstr "P_oročila..."
 
+#: tryton/gui/window/form.py:79
 msgid "_E-Mail..."
 msgstr "_Elektronska pošta..."
 
+#: tryton/gui/window/form.py:81
 msgid "_Print..."
 msgstr "_Tiskaj..."
 
+#: tryton/gui/window/form.py:84
 msgid "_Export Data..."
 msgstr "I_zvozi podatke..."
 
+#: tryton/gui/window/form.py:86
 msgid "_Import Data..."
 msgstr "Uv_ozi podatke..."
 
+#: tryton/gui/window/form.py:209
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Priponka(%d)"
 
-msgid "You have to select one record!"
-msgstr "Izbrati moraš zapis!"
+#: tryton/gui/window/form.py:228
+msgid "You have to select one record."
+msgstr "En zapis mora biti izbran."
 
+#: tryton/gui/window/form.py:232
 msgid "ID:"
 msgstr "ID:"
 
+#: tryton/gui/window/form.py:233
 msgid "Creation User:"
 msgstr "Ustvaril:"
 
+#: tryton/gui/window/form.py:234
 msgid "Creation Date:"
 msgstr "Ustvarjeno:"
 
+#: tryton/gui/window/form.py:235
 msgid "Latest Modification by:"
 msgstr "Nazadnje popravil:"
 
+#: tryton/gui/window/form.py:236
 msgid "Latest Modification Date:"
 msgstr "Nazadnje popravljeno:"
 
+#: tryton/gui/window/form.py:255
 msgid "Model:"
 msgstr "Model:"
 
+#: tryton/gui/window/form.py:307
 msgid "Are you sure to remove this record?"
 msgstr "Ali res želiš izbrisati ta zapis?"
 
+#: tryton/gui/window/form.py:309
 msgid "Are you sure to remove those records?"
 msgstr "Ali res želiš izbrisati te zapise?"
 
-msgid "Records not removed!"
-msgstr "Zapisi niso izbrisani!"
-
-msgid "Records removed!"
-msgstr "Zapisi izbrisani!"
+#: tryton/gui/window/form.py:312
+msgid "Records not removed."
+msgstr "Zapisi niso izbrisani."
 
-msgid "Working now on the duplicated record(s)!"
-msgstr "Sedaj se dela na podvojenih zapisih!"
+#: tryton/gui/window/form.py:314
+msgid "Records removed."
+msgstr "Zapisi izbrisani."
 
-msgid "Record saved!"
-msgstr "Zapis shranjen!"
+#: tryton/gui/window/form.py:342
+msgid "Working now on the duplicated record(s)."
+msgstr "Trenutno se dela na podvojenih zapisih."
 
-msgid "Invalid form!"
-msgstr "Neveljaven obrazec!"
+#: tryton/gui/window/form.py:352
+msgid "Record saved."
+msgstr "Zapis shranjen."
 
+#: tryton/gui/window/form.py:454
 msgid " of "
 msgstr " od "
 
+#: tryton/gui/window/form.py:475
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -941,117 +1213,245 @@ msgstr ""
 "Ta zapis je bil spremenjen,\n"
 "ga želiš shraniti?"
 
+#: tryton/gui/window/form.py:528
 msgid "Action"
 msgstr "Ukrep"
 
+#: tryton/gui/window/form.py:528
 msgid "Launch action"
 msgstr "Zaženi ukrep"
 
+#: tryton/gui/window/form.py:529
 msgid "Relate"
 msgstr "Veza"
 
+#: tryton/gui/window/form.py:529
 msgid "Open related records"
 msgstr "Odpri vezo"
 
+#: tryton/gui/window/form.py:531
 msgid "Report"
 msgstr "Poročila"
 
+#: tryton/gui/window/form.py:531
 msgid "Open report"
 msgstr "Odpri poročilo"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail"
 msgstr "Pošlji"
 
+#: tryton/gui/window/form.py:532
 msgid "E-Mail report"
 msgstr "Pošlji poročilo"
 
+#: tryton/gui/window/form.py:533
 msgid "Print"
 msgstr "Tisk"
 
+#: tryton/gui/window/form.py:533
 msgid "Print report"
 msgstr "Izpis poročila"
 
+#: tryton/gui/window/form.py:599
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
 msgid "Unknown"
 msgstr "Neznano"
 
+#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Omejitev"
 
+#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Nastavitev omejitev iskanja"
 
+#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Omejitev:"
 
+#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nastavitve"
 
+#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Uredi uporabniške nastavitve"
 
+#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Nastavitev"
 
+#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Trenutno geslo:"
 
+#: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Različica"
 
+#: tryton/gui/window/revision.py:28
 msgid "Select a revision"
 msgstr "Izberi različico"
 
+#: tryton/gui/window/revision.py:31
 msgid "Revision:"
 msgstr "Različica:"
 
+#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Bližnjice"
 
+#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Bližnjice za urejanje"
 
+#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Izreži vsebino"
 
+#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Kopiraj vsebino"
 
+#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Prilepi vsebino"
 
+#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Naslednje polje"
 
+#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Prejšnje polje"
 
+#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Bližnjice za veze"
 
+#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Dodajanje nove veze"
 
+#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Urejanje/iskanje veze"
 
+#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Bližnjice za postavke"
 
+#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Dodajanje postavke"
 
+#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Urejenje postavke"
 
+#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Postavka označena za brisanje"
 
+#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Postavka neoznačena za brisanje"
 
+#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Vnašanje podatkov"
 
+#: tryton/gui/window/shortcuts.py:47
+msgid "Move Cursor"
+msgstr "Premiki"
+
+#: tryton/gui/window/shortcuts.py:48
+msgid "Move to right"
+msgstr "Premik desno"
+
+#: tryton/gui/window/shortcuts.py:49
+msgid "Move to left"
+msgstr "Premik levo"
+
+#: tryton/gui/window/shortcuts.py:50
+msgid "Move up"
+msgstr "Premik gor"
+
+#: tryton/gui/window/shortcuts.py:51
+msgid "Move down"
+msgstr "Premik dol"
+
+#: tryton/gui/window/shortcuts.py:52
+msgid "Move up of one page"
+msgstr "Premik za eno stran gor"
+
+#: tryton/gui/window/shortcuts.py:53
+msgid "Move down of one page"
+msgstr "Premik za eno stran dol"
+
+#: tryton/gui/window/shortcuts.py:54
+msgid "Move to top"
+msgstr "Premik na začetek"
+
+#: tryton/gui/window/shortcuts.py:55
+msgid "Move to bottom"
+msgstr "Premik na konec"
+
+#: tryton/gui/window/shortcuts.py:56
+msgid "Move to parent"
+msgstr "Premik na nadrejeno vejo"
+
+#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+msgid "Select all"
+msgstr "Izberi vse"
+
+#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+msgid "Unselect all"
+msgstr "Odznači vse"
+
+#: tryton/gui/window/shortcuts.py:62
+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
+msgid "Select/Activate current row"
+msgstr "Izberi/Aktiviraj trenutno vrstico"
+
+#: tryton/gui/window/shortcuts.py:67
+msgid "Toggle selection"
+msgstr "Vklopi/Izklopi izbor"
+
+#: tryton/gui/window/shortcuts.py:68
+msgid "Expand/Collapse"
+msgstr "Razširi/Skrči"
+
+#: tryton/gui/window/shortcuts.py:69
+msgid "Expand row"
+msgstr "Razširi vrstico"
+
+#: tryton/gui/window/shortcuts.py:70
+msgid "Collapse row"
+msgstr "Skrči vrstico"
+
+#: tryton/gui/window/shortcuts.py:71
+msgid "Toggle row"
+msgstr "Razširi/Skrči vrstico"
+
+#: tryton/gui/window/shortcuts.py:72
+msgid "Expand all rows"
+msgstr "Razširi vse vrstice"
+
+#: tryton/gui/window/shortcuts.py:73
+msgid "Collapse all rows"
+msgstr "Skrči vse vrstice"
+
+#: tryton/gui/window/shortcuts.py:76
+msgid "Tree view"
+msgstr "Drevesni pogled"
+
+#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1061,6 +1461,7 @@ msgstr ""
 "\n"
 "\n"
 
+#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1068,8 +1469,7 @@ msgid ""
 "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"
+"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"
@@ -1087,6 +1487,7 @@ msgstr ""
 "lunami. Je tudi bolj masiven od skupaj vseh 159 znanih manjših lun v\n"
 "sončnem sistemu."
 
+#: tryton/gui/window/tips.py:33
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1098,6 +1499,7 @@ msgstr ""
 "Iz kateregakoli seznama lahko kopirate zapise z Ctrl + C\n"
 "in jih prilepite v katerokoli aplikacijo z Ctrl + V\n"
 
+#: tryton/gui/window/tips.py:38
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1107,64 +1509,84 @@ msgstr ""
 "\n"
 "Z desnim klikom lahko shranite katerikoli graf v PNG datoteko.\n"
 
+#: tryton/gui/window/tips.py:45
 msgid "Tips"
 msgstr "Namigi"
 
+#: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
 msgstr "Naslednjič _prikaži nov namig"
 
+#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Izvozi v CSV"
 
+#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Predefinirani izvozi</b>"
 
+#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Vsa polja</b>"
 
+#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
 msgid "Clear"
 msgstr "Počisti"
 
+#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Shrani izvoz"
 
+#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Izbriši izvoz"
 
+#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Polja za izvoz</b>"
 
+#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Možnosti</b>"
 
+#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Odpri"
 
+#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Dodaj imena _polj"
 
+#: tryton/gui/window/win_export.py:215
 msgid "Name"
 msgstr "Naziv"
 
+#: tryton/gui/window/win_export.py:247
 #, python-format
 msgid "%s (string)"
 msgstr "%s (niz)"
 
+#: tryton/gui/window/win_export.py:345
 msgid "What is the name of this export?"
 msgstr "Kako se imenuje ta izvoz?"
 
+#: tryton/gui/window/win_export.py:351
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Prepišem definicijo izvoza '%s'?"
 
+#: tryton/gui/window/win_export.py:481
 #, python-format
 msgid "%d record saved!"
 msgstr "%d zapis shranjen!"
 
+#: tryton/gui/window/win_export.py:483
 #, python-format
 msgid "%d records saved!"
 msgstr "%d zapisov shranjenih!"
 
+#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1175,250 +1597,320 @@ msgstr ""
 "Sporočilo napake:\n"
 "%s"
 
+#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Povezava"
 
+#: tryton/gui/window/win_form.py:127
 msgid "Add"
 msgstr "Dodaj"
 
+#: tryton/gui/window/win_form.py:140
 msgid "Remove <Del>"
 msgstr "Odstrani <Del>"
 
+#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Ustvari nov zapis <F3>"
 
+#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Zbriši izbran zapis <Del>"
 
+#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Povrni izbran zapis <Ins>"
 
+#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Uvozi iz CSV"
 
+#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Samozaznava"
 
+#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Polja za uvoz</b>"
 
+#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Datoteka za uvoz:"
 
+#: tryton/gui/window/win_import.py:111
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:42
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:459
 msgid "Open..."
 msgstr "Odpri..."
 
+#: tryton/gui/window/win_import.py:117
 msgid "CSV Parameters"
 msgstr "CSV parametri"
 
+#: tryton/gui/window/win_import.py:125
 msgid "Field Separator:"
 msgstr "Ločevalec polj:"
 
+#: tryton/gui/window/win_import.py:135
 msgid "Text Delimiter:"
 msgstr "Ločevalec besedila:"
 
+#: tryton/gui/window/win_import.py:144
 msgid "Encoding:"
 msgstr "Kodiranje:"
 
+#: tryton/gui/window/win_import.py:154
 msgid "Lines to Skip:"
 msgstr "Izpuščene vrstice:"
 
+#: tryton/gui/window/win_import.py:188 tryton/gui/window/win_import.py:192
 msgid "Field name"
 msgstr "Naziv polja"
 
+#: tryton/gui/window/win_import.py:254
 msgid "You must select an import file first!"
 msgstr "Najprej morate izbrati datoteke za uvažanje!"
 
+#: tryton/gui/window/win_import.py:265
 msgid "Error opening CSV file"
 msgstr "Napaka pri odpiranju CSV datoteke"
 
+#: tryton/gui/window/win_import.py:292
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Napaka obdelave datoteke pri polju %s."
 
+#: tryton/gui/window/win_import.py:367
 #, python-format
 msgid "%d record imported!"
 msgstr "%d zapis uvožen!"
 
+#: tryton/gui/window/win_import.py:369
 #, python-format
 msgid "%d records imported!"
 msgstr "%d zapisov uvoženih!"
 
+#: tryton/gui/window/wizard.py:287
 msgid "Wizard"
 msgstr "Čarovnik"
 
+#: tryton/gui/window/view_form/screen/screen.py:147
 msgid "ID"
 msgstr "ID"
 
+#: tryton/gui/window/view_form/screen/screen.py:148
 msgid "Creation User"
 msgstr "Ustvaril"
 
+#: tryton/gui/window/view_form/screen/screen.py:149
 msgid "Creation Date"
 msgstr "Ustvarjeno"
 
+#: tryton/gui/window/view_form/screen/screen.py:150
 msgid "Modification User"
 msgstr "Popravil"
 
+#: tryton/gui/window/view_form/screen/screen.py:151
 msgid "Modification Date"
 msgstr "Popravljeno"
 
+#: tryton/gui/window/view_form/screen/screen.py:651
 msgid "Unable to get view tree state"
 msgstr "Stanja obrazca ni možno dobiti"
 
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to set view tree state"
 msgstr "Ni možno nastaviti stanja obrazca"
 
+#: tryton/gui/window/view_form/screen/screen.py:886
+#, 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:893
+#, python-format
+msgid "\"%s\" is required"
+msgstr "Polje \"%s\" je obvezno"
+
+#: tryton/gui/window/view_form/screen/screen.py:897
+#, 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:948
+msgid "Pre-validation"
+msgstr "Predpreverjanje"
+
+#: tryton/gui/window/view_form/view/form.py:189
+#: tryton/gui/window/view_form/view/form.py:191
+#: tryton/gui/window/view_form/view/list.py:535
+#: tryton/gui/window/view_form/view/list.py:537
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:467
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:469
+#: 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 "Shrani kot"
 
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
 msgstr "Velikost slike"
 
+#: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
 msgstr "Širina:"
 
+#: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
 msgstr "Velikost:"
 
+#: tryton/gui/window/view_form/view/graph.py:137
 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/screen_container.py:24
 msgid ".."
 msgstr ".."
 
+#: tryton/gui/window/view_form/view/screen_container.py:144
 msgid "F_ilters"
 msgstr "_Filtri"
 
+#: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
 msgstr "Prikaži zaznamke filtrov"
 
+#: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
 msgstr "Odstrani ta zaznamek"
 
+#: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
 msgstr "Shrani ta filter"
 
+#: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
 msgstr "Ime zaznamka:"
 
+#: tryton/gui/window/view_form/view/screen_container.py:538
 msgid "Find"
 msgstr "Najdi"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Danes"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Tedensko"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Mesečno"
 
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Teden"
 
-msgid "Select a File..."
-msgstr "Izberi datoteko..."
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+msgid "Select..."
+msgstr "Izberi ..."
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+msgid "All files"
+msgstr "Vse datoteke"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+msgid "Select"
+msgstr "Izberi"
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
 msgstr "Prikaži navadno besedilo"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
 msgid "Add value"
 msgstr "Dodaj vrednost"
 
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Odstrani \"%s\""
 
-msgid "Select an Image..."
-msgstr "Izberi sliko..."
-
-msgid "All files"
-msgstr "Vse datoteke"
-
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
 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
 msgid "Add existing record"
 msgstr "Dodaj obstoječi zapis"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 msgid "Remove selected record <Del>"
 msgstr "Odstrani izbran zapis <Del>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Open a record <F2>"
 msgstr "Odpri zapis <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
 msgid "Search a record <F2>"
 msgstr "Poišči zapis <F2>"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 msgid "Remove selected record"
 msgstr "Odstrani izbran zapis"
 
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 msgid "Edit selected record <F2>"
 msgstr "Uredi izbran zapis <F2>"
 
-msgid "Change text to bold"
-msgstr "Postavi besedilo v krepki tisk"
-
-msgid "Change text to italic"
-msgstr "Postavi besedilo v poševni tisk"
-
-msgid "Change text to underline"
-msgstr "Podčrtaj besedilo"
-
-msgid "Choose font-family"
-msgstr "Izberi družino pisave"
-
-msgid "Choose font-size"
-msgstr "Izberi velikost pisave"
-
-msgid "Justify of line to the left"
-msgstr "Poravnaj vrstico v levo"
-
-msgid "Justify of line to the center"
-msgstr "Poravnaj vrstico v sredino"
-
-msgid "Justify of line to the right"
-msgstr "Poravnaj besedilo v desno"
-
-msgid "Justify of line to fill window"
-msgstr "Poravnaj vrstico v obe smeri"
-
-msgid "Change the foreground text"
-msgstr "Spremeni besedilo v ospredju"
-
-msgid "Change the background text"
-msgstr "Spremeni besedilo v ozadju"
-
-msgid "Change the markup text view"
-msgstr "Spremeni pogled označevalnega besedila"
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
 
-msgid "Select a foreground color"
-msgstr "Izberi barvo besedila"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+msgid "Foreground"
+msgstr "Ospredje"
 
-msgid "Select a background color"
-msgstr "Izberi barvo ozadja"
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+msgid "Select a color"
+msgstr "Izberi barvo"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
 msgid "Translation"
 msgstr "Prevod"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
 msgstr "Uredi"
 
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 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:258
 msgid "No other language available!"
 msgstr "Drugih jezikov ni na voljo!"
 
+#: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
 msgstr "Prevedi pogled"
-
diff --git a/share/pixmaps/tryton/tryton-attachment-hi.svg b/tryton/data/pixmaps/tryton/tryton-attachment-hi.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-attachment-hi.svg
rename to tryton/data/pixmaps/tryton/tryton-attachment-hi.svg
diff --git a/share/pixmaps/tryton/tryton-attachment.svg b/tryton/data/pixmaps/tryton/tryton-attachment.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-attachment.svg
rename to tryton/data/pixmaps/tryton/tryton-attachment.svg
diff --git a/share/pixmaps/tryton/tryton-bookmark.svg b/tryton/data/pixmaps/tryton/tryton-bookmark.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-bookmark.svg
rename to tryton/data/pixmaps/tryton/tryton-bookmark.svg
diff --git a/share/pixmaps/tryton/tryton-clear.svg b/tryton/data/pixmaps/tryton/tryton-clear.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-clear.svg
rename to tryton/data/pixmaps/tryton/tryton-clear.svg
diff --git a/share/pixmaps/tryton/tryton-close.svg b/tryton/data/pixmaps/tryton/tryton-close.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-close.svg
rename to tryton/data/pixmaps/tryton/tryton-close.svg
diff --git a/share/pixmaps/tryton/tryton-connect.svg b/tryton/data/pixmaps/tryton/tryton-connect.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-connect.svg
rename to tryton/data/pixmaps/tryton/tryton-connect.svg
diff --git a/share/pixmaps/tryton/tryton-copy.svg b/tryton/data/pixmaps/tryton/tryton-copy.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-copy.svg
rename to tryton/data/pixmaps/tryton/tryton-copy.svg
diff --git a/share/pixmaps/tryton/tryton-delete.svg b/tryton/data/pixmaps/tryton/tryton-delete.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-delete.svg
rename to tryton/data/pixmaps/tryton/tryton-delete.svg
diff --git a/share/pixmaps/tryton/tryton-dialog-error.svg b/tryton/data/pixmaps/tryton/tryton-dialog-error.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-dialog-error.svg
rename to tryton/data/pixmaps/tryton/tryton-dialog-error.svg
diff --git a/share/pixmaps/tryton/tryton-dialog-information.svg b/tryton/data/pixmaps/tryton/tryton-dialog-information.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-dialog-information.svg
rename to tryton/data/pixmaps/tryton/tryton-dialog-information.svg
diff --git a/share/pixmaps/tryton/tryton-dialog-warning.svg b/tryton/data/pixmaps/tryton/tryton-dialog-warning.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-dialog-warning.svg
rename to tryton/data/pixmaps/tryton/tryton-dialog-warning.svg
diff --git a/share/pixmaps/tryton/tryton-disconnect.svg b/tryton/data/pixmaps/tryton/tryton-disconnect.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-disconnect.svg
rename to tryton/data/pixmaps/tryton/tryton-disconnect.svg
diff --git a/share/pixmaps/tryton/tryton-executable.svg b/tryton/data/pixmaps/tryton/tryton-executable.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-executable.svg
rename to tryton/data/pixmaps/tryton/tryton-executable.svg
diff --git a/share/pixmaps/tryton/tryton-find-replace.svg b/tryton/data/pixmaps/tryton/tryton-find-replace.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-find-replace.svg
rename to tryton/data/pixmaps/tryton/tryton-find-replace.svg
diff --git a/share/pixmaps/tryton/tryton-find.svg b/tryton/data/pixmaps/tryton/tryton-find.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-find.svg
rename to tryton/data/pixmaps/tryton/tryton-find.svg
diff --git a/share/pixmaps/tryton/tryton-folder-new.svg b/tryton/data/pixmaps/tryton/tryton-folder-new.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-folder-new.svg
rename to tryton/data/pixmaps/tryton/tryton-folder-new.svg
diff --git a/share/pixmaps/tryton/tryton-fullscreen.svg b/tryton/data/pixmaps/tryton/tryton-fullscreen.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-fullscreen.svg
rename to tryton/data/pixmaps/tryton/tryton-fullscreen.svg
diff --git a/share/pixmaps/tryton/tryton-go-home.svg b/tryton/data/pixmaps/tryton/tryton-go-home.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-go-home.svg
rename to tryton/data/pixmaps/tryton/tryton-go-home.svg
diff --git a/share/pixmaps/tryton/tryton-go-jump.svg b/tryton/data/pixmaps/tryton/tryton-go-jump.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-go-jump.svg
rename to tryton/data/pixmaps/tryton/tryton-go-jump.svg
diff --git a/share/pixmaps/tryton/tryton-go-next.svg b/tryton/data/pixmaps/tryton/tryton-go-next.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-go-next.svg
rename to tryton/data/pixmaps/tryton/tryton-go-next.svg
diff --git a/share/pixmaps/tryton/tryton-go-previous.svg b/tryton/data/pixmaps/tryton/tryton-go-previous.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-go-previous.svg
rename to tryton/data/pixmaps/tryton/tryton-go-previous.svg
diff --git a/share/pixmaps/tryton/tryton-help.svg b/tryton/data/pixmaps/tryton/tryton-help.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-help.svg
rename to tryton/data/pixmaps/tryton/tryton-help.svg
diff --git a/share/pixmaps/tryton/tryton-icon.png b/tryton/data/pixmaps/tryton/tryton-icon.png
similarity index 100%
rename from share/pixmaps/tryton/tryton-icon.png
rename to tryton/data/pixmaps/tryton/tryton-icon.png
diff --git a/share/pixmaps/tryton/tryton-icon.svg b/tryton/data/pixmaps/tryton/tryton-icon.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-icon.svg
rename to tryton/data/pixmaps/tryton/tryton-icon.svg
diff --git a/share/pixmaps/tryton/tryton-list-add.svg b/tryton/data/pixmaps/tryton/tryton-list-add.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-list-add.svg
rename to tryton/data/pixmaps/tryton/tryton-list-add.svg
diff --git a/share/pixmaps/tryton/tryton-list-remove.svg b/tryton/data/pixmaps/tryton/tryton-list-remove.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-list-remove.svg
rename to tryton/data/pixmaps/tryton/tryton-list-remove.svg
diff --git a/share/pixmaps/tryton/tryton-locale.svg b/tryton/data/pixmaps/tryton/tryton-locale.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-locale.svg
rename to tryton/data/pixmaps/tryton/tryton-locale.svg
diff --git a/share/pixmaps/tryton/tryton-lock.svg b/tryton/data/pixmaps/tryton/tryton-lock.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-lock.svg
rename to tryton/data/pixmaps/tryton/tryton-lock.svg
diff --git a/share/pixmaps/tryton/tryton-log-out.svg b/tryton/data/pixmaps/tryton/tryton-log-out.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-log-out.svg
rename to tryton/data/pixmaps/tryton/tryton-log-out.svg
diff --git a/share/pixmaps/tryton/tryton-mail-message-new.svg b/tryton/data/pixmaps/tryton/tryton-mail-message-new.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-mail-message-new.svg
rename to tryton/data/pixmaps/tryton/tryton-mail-message-new.svg
diff --git a/share/pixmaps/tryton/tryton-mail-message.svg b/tryton/data/pixmaps/tryton/tryton-mail-message.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-mail-message.svg
rename to tryton/data/pixmaps/tryton/tryton-mail-message.svg
diff --git a/share/pixmaps/tryton/tryton-new.svg b/tryton/data/pixmaps/tryton/tryton-new.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-new.svg
rename to tryton/data/pixmaps/tryton/tryton-new.svg
diff --git a/share/pixmaps/tryton/tryton-noimage.png b/tryton/data/pixmaps/tryton/tryton-noimage.png
similarity index 100%
rename from share/pixmaps/tryton/tryton-noimage.png
rename to tryton/data/pixmaps/tryton/tryton-noimage.png
diff --git a/share/pixmaps/tryton/tryton-open.svg b/tryton/data/pixmaps/tryton/tryton-open.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-open.svg
rename to tryton/data/pixmaps/tryton/tryton-open.svg
diff --git a/share/pixmaps/tryton/tryton-preferences-system-session.svg b/tryton/data/pixmaps/tryton/tryton-preferences-system-session.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-preferences-system-session.svg
rename to tryton/data/pixmaps/tryton/tryton-preferences-system-session.svg
diff --git a/share/pixmaps/tryton/tryton-preferences-system.svg b/tryton/data/pixmaps/tryton/tryton-preferences-system.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-preferences-system.svg
rename to tryton/data/pixmaps/tryton/tryton-preferences-system.svg
diff --git a/share/pixmaps/tryton/tryton-preferences.svg b/tryton/data/pixmaps/tryton/tryton-preferences.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-preferences.svg
rename to tryton/data/pixmaps/tryton/tryton-preferences.svg
diff --git a/share/pixmaps/tryton/tryton-print-email.svg b/tryton/data/pixmaps/tryton/tryton-print-email.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-print-email.svg
rename to tryton/data/pixmaps/tryton/tryton-print-email.svg
diff --git a/share/pixmaps/tryton/tryton-print-open.svg b/tryton/data/pixmaps/tryton/tryton-print-open.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-print-open.svg
rename to tryton/data/pixmaps/tryton/tryton-print-open.svg
diff --git a/share/pixmaps/tryton/tryton-print.svg b/tryton/data/pixmaps/tryton/tryton-print.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-print.svg
rename to tryton/data/pixmaps/tryton/tryton-print.svg
diff --git a/share/pixmaps/tryton/tryton-refresh.svg b/tryton/data/pixmaps/tryton/tryton-refresh.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-refresh.svg
rename to tryton/data/pixmaps/tryton/tryton-refresh.svg
diff --git a/share/pixmaps/tryton/tryton-save-as.svg b/tryton/data/pixmaps/tryton/tryton-save-as.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-save-as.svg
rename to tryton/data/pixmaps/tryton/tryton-save-as.svg
diff --git a/share/pixmaps/tryton/tryton-save.svg b/tryton/data/pixmaps/tryton/tryton-save.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-save.svg
rename to tryton/data/pixmaps/tryton/tryton-save.svg
diff --git a/share/pixmaps/tryton/tryton-star.svg b/tryton/data/pixmaps/tryton/tryton-star.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-star.svg
rename to tryton/data/pixmaps/tryton/tryton-star.svg
diff --git a/share/pixmaps/tryton/tryton-start-here.svg b/tryton/data/pixmaps/tryton/tryton-start-here.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-start-here.svg
rename to tryton/data/pixmaps/tryton/tryton-start-here.svg
diff --git a/share/pixmaps/tryton/tryton-system-file-manager.svg b/tryton/data/pixmaps/tryton/tryton-system-file-manager.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-system-file-manager.svg
rename to tryton/data/pixmaps/tryton/tryton-system-file-manager.svg
diff --git a/share/pixmaps/tryton/tryton-system.svg b/tryton/data/pixmaps/tryton/tryton-system.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-system.svg
rename to tryton/data/pixmaps/tryton/tryton-system.svg
diff --git a/share/pixmaps/tryton/tryton-text-background.svg b/tryton/data/pixmaps/tryton/tryton-text-background.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-text-background.svg
rename to tryton/data/pixmaps/tryton/tryton-text-background.svg
diff --git a/share/pixmaps/tryton/tryton-text-foreground.svg b/tryton/data/pixmaps/tryton/tryton-text-foreground.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-text-foreground.svg
rename to tryton/data/pixmaps/tryton/tryton-text-foreground.svg
diff --git a/share/pixmaps/tryton/tryton-text-markup.svg b/tryton/data/pixmaps/tryton/tryton-text-markup.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-text-markup.svg
rename to tryton/data/pixmaps/tryton/tryton-text-markup.svg
diff --git a/share/pixmaps/tryton/tryton-undo.svg b/tryton/data/pixmaps/tryton/tryton-undo.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-undo.svg
rename to tryton/data/pixmaps/tryton/tryton-undo.svg
diff --git a/share/pixmaps/tryton/tryton-unstar.svg b/tryton/data/pixmaps/tryton/tryton-unstar.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-unstar.svg
rename to tryton/data/pixmaps/tryton/tryton-unstar.svg
diff --git a/share/pixmaps/tryton/tryton-web-browser.svg b/tryton/data/pixmaps/tryton/tryton-web-browser.svg
similarity index 100%
rename from share/pixmaps/tryton/tryton-web-browser.svg
rename to tryton/data/pixmaps/tryton/tryton-web-browser.svg
diff --git a/share/pixmaps/tryton/tryton.png b/tryton/data/pixmaps/tryton/tryton.png
similarity index 100%
rename from share/pixmaps/tryton/tryton.png
rename to tryton/data/pixmaps/tryton/tryton.png
diff --git a/tryton/gui/main.py b/tryton/gui/main.py
index 4dbb7ff..38fc755 100644
--- a/tryton/gui/main.py
+++ b/tryton/gui/main.py
@@ -631,6 +631,16 @@ class Main(object):
         if CONFIG['client.save_tree_state']:
             checkmenuitem_save_tree_state.set_active(True)
 
+        checkmenuitem_fast_tabbing = gtk.CheckMenuItem(
+            _('Fast Tabbing'))
+        checkmenuitem_fast_tabbing.connect('activate',
+            lambda menuitem: CONFIG.__setitem__('client.fast_tabbing',
+                menuitem.get_active()))
+        checkmenuitem_fast_tabbing.set_accel_path(
+            '<tryton>/Options/Form/Fast Tabbing')
+        menu_form.add(checkmenuitem_fast_tabbing)
+        checkmenuitem_fast_tabbing.set_active(CONFIG['client.fast_tabbing'])
+
         if gtkspell:
             checkmenuitem_spellcheck = gtk.CheckMenuItem(_('Spell Checking'))
             checkmenuitem_spellcheck.connect('activate',
diff --git a/tryton/gui/window/dbcreate.py b/tryton/gui/window/dbcreate.py
index a981377..1f76178 100644
--- a/tryton/gui/window/dbcreate.py
+++ b/tryton/gui/window/dbcreate.py
@@ -18,16 +18,13 @@ class DBCreate(object):
         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, colored in red. In this case, all entryboxes set
-        insensitive
+        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.entry_server_connection.modify_text(gtk.STATE_INSENSITIVE,
-                gtk.gdk.color_parse(common.COLOR_SCHEMES["black"]))
             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 "
@@ -43,8 +40,6 @@ class DBCreate(object):
             self.entry_server_connection.set_text(
                 self.entry_server_connection.get_text()
                 + "  " + _("No connection!"))
-            self.entry_server_connection.modify_text(gtk.STATE_INSENSITIVE,
-                gtk.gdk.color_parse(common.COLORS["invalid"]))
             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"
@@ -178,6 +173,7 @@ class DBCreate(object):
         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 "
@@ -203,6 +199,7 @@ class DBCreate(object):
         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 "
@@ -231,6 +228,7 @@ class DBCreate(object):
         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"
@@ -263,6 +261,7 @@ class DBCreate(object):
         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 "
@@ -281,6 +280,7 @@ class DBCreate(object):
         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)
diff --git a/tryton/gui/window/dbdumpdrop.py b/tryton/gui/window/dbdumpdrop.py
index 173d46d..60a9748 100644
--- a/tryton/gui/window/dbdumpdrop.py
+++ b/tryton/gui/window/dbdumpdrop.py
@@ -137,6 +137,7 @@ class DBBackupDrop(object):
         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. "
@@ -193,6 +194,7 @@ class DBBackupDrop(object):
         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 "
diff --git a/tryton/gui/window/dblogin.py b/tryton/gui/window/dblogin.py
index f181bba..d441552 100644
--- a/tryton/gui/window/dblogin.py
+++ b/tryton/gui/window/dblogin.py
@@ -74,6 +74,7 @@ class DBListEditor(object):
         self.host_entry.connect('focus-out-event', self.display_dbwidget)
         self.host_entry.connect('changed', self.update_profiles, 'host')
         self.host_entry.set_activates_default(True)
+        host.set_mnemonic_widget(self.host_entry)
         table.attach(host, 0, 1, 1, 2, yoptions=False, xoptions=gtk.FILL)
         table.attach(self.host_entry, 1, 2, 1, 2, yoptions=False)
         database = gtk.Label(_(u'Database:'))
@@ -121,6 +122,7 @@ class DBListEditor(object):
         self.username_entry = gtk.Entry()
         self.username_entry.connect('changed', self.update_profiles,
             'username')
+        username.set_mnemonic_widget(self.username_entry)
         self.username_entry.set_activates_default(True)
         table.attach(username, 0, 1, 3, 4, yoptions=False, xoptions=gtk.FILL)
         table.attach(self.username_entry, 1, 2, 3, 4, yoptions=False)
@@ -426,6 +428,7 @@ class DBLogin(object):
         self.entry_host.connect_after('focus-out-event',
             self.clear_profile_combo)
         self.entry_host.set_activates_default(True)
+        self.label_host.set_mnemonic_widget(self.entry_host)
         self.table_main.attach(self.label_host, 0, 1, 4, 5, xoptions=gtk.FILL)
         self.table_main.attach(self.entry_host, 1, 3, 4, 5)
         self.label_database = gtk.Label(_('Database:'))
@@ -436,6 +439,7 @@ class DBLogin(object):
         self.entry_database.connect_after('focus-out-event',
             self.clear_profile_combo)
         self.entry_database.set_activates_default(True)
+        self.label_database.set_mnemonic_widget(self.entry_database)
         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)
@@ -450,10 +454,12 @@ class DBLogin(object):
         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.set_alignment(1, 0.5)
         label_username.set_padding(3, 3)
+        label_username.set_mnemonic_widget(self.entry_login)
         self.table_main.attach(label_username, 0, 1, 6, 7, xoptions=gtk.FILL)
 
         # Profile informations
diff --git a/tryton/gui/window/dbrestore.py b/tryton/gui/window/dbrestore.py
index daad2e4..12fe330 100644
--- a/tryton/gui/window/dbrestore.py
+++ b/tryton/gui/window/dbrestore.py
@@ -85,6 +85,7 @@ class DBRestore(object):
         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 "
@@ -108,6 +109,8 @@ class DBRestore(object):
         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 "
@@ -138,11 +141,13 @@ class DBRestore(object):
         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.'))
diff --git a/tryton/gui/window/email.py b/tryton/gui/window/email.py
index 7475dcc..57e41ec 100644
--- a/tryton/gui/window/email.py
+++ b/tryton/gui/window/email.py
@@ -25,12 +25,13 @@ class Email(object):
             _('Email Program Settings')), expand=False, fill=True)
         self.win.vbox.pack_start(gtk.HSeparator())
         hbox = gtk.HBox(spacing=3)
-        hbox.pack_start(gtk.Label(_('Command Line:')), expand=True,
-            fill=True)
+        label = gtk.Label(_('Command Line:'))
+        hbox.pack_start(label, expand=True, fill=True)
         self.entry = gtk.Entry()
         self.entry.set_property('activates_default', True)
         self.entry.set_width_chars(50)
         self.entry.set_text(CONFIG['client.email'])
+        label.set_mnemonic_widget(label)
         hbox.pack_start(self.entry, expand=True, fill=True)
         self.win.vbox.pack_start(hbox, expand=True, fill=True)
 
diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py
index ca68ac1..2fb8721 100644
--- a/tryton/gui/window/form.py
+++ b/tryton/gui/window/form.py
@@ -13,7 +13,7 @@ from tryton.gui.window.win_import import WinImport
 from tryton.gui.window.attachment import Attachment
 from tryton.gui.window.revision import Revision
 from tryton.signal_event import SignalEvent
-from tryton.common import message, sur, sur_3b, COLOR_SCHEMES, timezoned_date
+from tryton.common import message, sur, sur_3b, timezoned_date
 import tryton.common as common
 from tryton.common import RPCExecute, RPCException
 from tryton.common.datetime_strftime import datetime_strftime
@@ -190,12 +190,6 @@ class Form(SignalEvent, TabContent):
     def destroy(self):
         self.screen.destroy()
 
-    def ids_get(self):
-        return self.screen.ids_get()
-
-    def id_get(self):
-        return self.screen.id_get()
-
     def sig_attach(self, widget=None):
         record = self.screen.current_record
         if not record or record.id < 0:
@@ -218,9 +212,9 @@ class Form(SignalEvent, TabContent):
             self.buttons['attach'].set_stock_id('tryton-attachment-hi')
         else:
             self.buttons['attach'].set_stock_id('tryton-attachment')
-        record_id = self.id_get()
+        record = self.screen.current_record
         self.buttons['attach'].props.sensitive = bool(
-            record_id >= 0 and record_id is not False)
+            record.id >= 0 if record else False)
 
     def sig_switch(self, widget=None):
         if not self.modified_save():
@@ -228,9 +222,10 @@ class Form(SignalEvent, TabContent):
         self.screen.switch_view()
 
     def sig_logs(self, widget=None):
-        obj_id = self.id_get()
-        if obj_id < 0 or obj_id is False:
-            self.message_info(_('You have to select one record!'))
+        current_record = self.screen.current_record
+        if not current_record or current_record.id < 0:
+            self.message_info(
+                _('You have to select one record.'), gtk.MESSAGE_INFO)
             return False
 
         fields = [
@@ -242,7 +237,7 @@ class Form(SignalEvent, TabContent):
         ]
 
         try:
-            res = RPCExecute('model', self.model, 'read', [obj_id],
+            res = RPCExecute('model', self.model, 'read', [current_record.id],
                 [x[0] for x in fields], context=self.screen.context)
         except RPCException:
             return
@@ -314,15 +309,16 @@ class Form(SignalEvent, TabContent):
             msg = _('Are you sure to remove those records?')
         if sur(msg):
             if not self.screen.remove(delete=True, force_remove=True):
-                self.message_info(_('Records not removed!'))
+                self.message_info(_('Records not removed.'), gtk.MESSAGE_ERROR)
             else:
-                self.message_info(_('Records removed!'), 'green')
+                self.message_info(_('Records removed.'), gtk.MESSAGE_INFO)
 
     def sig_import(self, widget=None):
         WinImport(self.model, self.screen.context)
 
     def sig_save_as(self, widget=None):
-        export = WinExport(self.model, self.ids_get(),
+        export = WinExport(self.model,
+            [r.id for r in self.screen.selected_records],
             context=self.screen.context)
         for name in self.screen.current_view.get_fields():
             export.sel_field(name)
@@ -334,7 +330,7 @@ class Form(SignalEvent, TabContent):
             if not self.modified_save():
                 return
         self.screen.new()
-        self.message_info('')
+        self.message_info()
         self.activate_save()
 
     def sig_copy(self, widget=None):
@@ -342,9 +338,9 @@ class Form(SignalEvent, TabContent):
             return
         if not self.modified_save():
             return
-        self.screen.copy()
-        self.message_info(_('Working now on the duplicated record(s)!'),
-            'green')
+        if self.screen.copy():
+            self.message_info(_('Working now on the duplicated record(s).'),
+                gtk.MESSAGE_INFO)
 
     def sig_save(self, widget=None):
         if widget:
@@ -353,24 +349,24 @@ class Form(SignalEvent, TabContent):
         if not common.MODELACCESS[self.model]['write']:
             return
         if self.screen.save_current():
-            self.message_info(_('Record saved!'), 'green')
+            self.message_info(_('Record saved.'), gtk.MESSAGE_INFO)
             return True
         else:
-            self.message_info(_('Invalid form!'))
+            self.message_info(self.screen.invalid_message(), gtk.MESSAGE_ERROR)
             return False
 
     def sig_previous(self, widget=None):
         if not self.modified_save():
             return
         self.screen.display_prev()
-        self.message_info('')
+        self.message_info()
         self.activate_save()
 
     def sig_next(self, widget=None):
         if not self.modified_save():
             return
         self.screen.display_next()
-        self.message_info('')
+        self.message_info()
         self.activate_save()
 
     def sig_reload(self, test_modified=True):
@@ -391,7 +387,7 @@ class Form(SignalEvent, TabContent):
                     set_cursor = True
                     break
         self.screen.display(set_cursor=set_cursor)
-        self.message_info('')
+        self.message_info()
         self.activate_save()
         return True
 
@@ -440,16 +436,6 @@ class Form(SignalEvent, TabContent):
         menu.show_all()
         menu.popup(None, None, menu_position, 0, 0)
 
-    def message_info(self, message, color='red'):
-        if message:
-            self.info_label.set_label(message)
-            self.eb_info.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(
-                COLOR_SCHEMES.get(color, 'white')))
-            self.eb_info.show_all()
-        else:
-            self.info_label.set_label('')
-            self.eb_info.hide()
-
     def _record_message(self, screen, signal_data):
         name = '_'
         if signal_data[0]:
@@ -467,7 +453,7 @@ class Form(SignalEvent, TabContent):
         if signal_data[1] < signal_data[2]:
             msg += _(' of ') + str(signal_data[2])
         self.status_label.set_text(msg)
-        self.message_info('')
+        self.message_info()
         self.activate_save()
         self.url_entry.set_text(self.screen.get_url())
 
@@ -626,7 +612,8 @@ class Form(SignalEvent, TabContent):
                             'model': self.model,
                             'ids': [r.id
                                 for r in self.screen.selected_records],
-                            'id': self.id_get(),
+                            'id': (self.screen.current_record.id
+                                if self.screen.current_record else None),
                             }), func)
                 menuitem._update_action = True
                 menu.add(menuitem)
diff --git a/tryton/gui/window/infobar.py b/tryton/gui/window/infobar.py
new file mode 100644
index 0000000..3585e11
--- /dev/null
+++ b/tryton/gui/window/infobar.py
@@ -0,0 +1,24 @@
+# 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
+
+
+class InfoBar(object):
+
+    def create_info_bar(self):
+        self.info_label = gtk.Label()
+
+        self.info_bar = gtk.InfoBar()
+        self.info_bar.get_content_area().pack_start(
+            self.info_label, False, False)
+        self.info_bar.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE)
+        self.info_bar.connect('response', lambda i, r: i.hide())
+
+    def message_info(self, message=None, type_=gtk.MESSAGE_ERROR):
+        if message:
+            self.info_label.set_label(message)
+            self.info_bar.set_message_type(type_)
+            self.info_bar.show_all()
+        else:
+            self.info_bar.hide()
diff --git a/tryton/gui/window/limit.py b/tryton/gui/window/limit.py
index 66779bd..f13c134 100644
--- a/tryton/gui/window/limit.py
+++ b/tryton/gui/window/limit.py
@@ -26,12 +26,14 @@ class Limit(object):
             _('Search Limit Settings')), expand=False, fill=True)
         self.win.vbox.pack_start(gtk.HSeparator())
         hbox = gtk.HBox(spacing=3)
-        hbox.pack_start(gtk.Label(_('Limit:')), expand=True, fill=True)
+        label = gtk.Label(_('Limit:'))
+        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.set_numeric(False)
         self.spin_limit.set_activates_default(True)
+        label.set_mnemonic_widget(self.spin_limit)
         hbox.pack_start(self.spin_limit, expand=True, fill=True)
         self.win.vbox.pack_start(hbox, expand=True, fill=True)
 
diff --git a/tryton/gui/window/revision.py b/tryton/gui/window/revision.py
index 483696d..3b8af89 100644
--- a/tryton/gui/window/revision.py
+++ b/tryton/gui/window/revision.py
@@ -28,12 +28,14 @@ class Revision(object):
                 _('Select a revision')), expand=False, fill=True)
         self.win.vbox.pack_start(gtk.HSeparator())
         hbox = gtk.HBox(spacing=3)
-        hbox.pack_start(gtk.Label(_('Revision:')), expand=True, fill=True)
+        label = gtk.Label(_('Revision:'))
+        hbox.pack_start(label, expand=True, fill=True)
         list_store = gtk.ListStore(str, str)
         combobox = gtk.ComboBoxEntry(list_store)
         self.entry = combobox.child
         self.entry.connect('focus-out-event', self.focus_out)
         self.entry.connect('activate', self.activate)
+        label.set_mnemonic_widget(self.entry)
         combobox.connect('changed', self.changed)
         self.entry.set_property('activates_default', True)
         self._format = format_
diff --git a/tryton/gui/window/shortcuts.py b/tryton/gui/window/shortcuts.py
index 83298b1..d89de2c 100644
--- a/tryton/gui/window/shortcuts.py
+++ b/tryton/gui/window/shortcuts.py
@@ -43,6 +43,38 @@ class Shortcuts(object):
         notebook.append_page(self._fill_table(shortcuts),
                 gtk.Label(_('Edition Widgets')))
 
+        shortcuts = [
+            (_('Move Cursor'),),
+            ('<Right>', _('Move to right')),
+            ('<Left>', _('Move to left')),
+            ('<Up>', _('Move up')),
+            ('<Down>', _('Move down')),
+            ('<Page Up>', _('Move up of one page')),
+            ('<Page Down>', _('Move down of one page')),
+            ('<Home>', _('Move to top')),
+            ('<End>', _('Move to bottom')),
+            ('<Backspace>', _('Move to parent')),
+            (_('Selection'),),
+            ('<Ctrl> + a', _('Select all')),
+            ('<Ctrl> + /', _('Select all')),
+            ('<Shift> + <Ctrl> + a', _('Unselect all')),
+            ('<Shift> + <Ctrl> + /', _('Unselect all')),
+            ('<Backspace>', _('Select parent')),
+            ('<Space>', _('Select/Activate current row')),
+            ('<Shift> + <Space>', _('Select/Activate current row')),
+            ('<Return>', _('Select/Activate current row')),
+            ('<Enter>', _('Select/Activate current row')),
+            ('<Ctrl> + <Space>', _('Toggle selection')),
+            (_('Expand/Collapse'),),
+            ('+', _('Expand row')),
+            ('-', _('Collapse row')),
+            ('<Space>', _('Toggle row')),
+            ('<Shift> + <Left>', _('Expand all rows')),
+            ('<Shift> + <Right>', _('Collapse all rows')),
+            ]
+        notebook.append_page(self._fill_table(shortcuts),
+                gtk.Label(_('Tree view')))
+
         self.dialog.show_all()
 
     def _fill_table(self, shortcuts):
diff --git a/tryton/gui/window/tabcontent.py b/tryton/gui/window/tabcontent.py
index 780704e..d077067 100644
--- a/tryton/gui/window/tabcontent.py
+++ b/tryton/gui/window/tabcontent.py
@@ -8,11 +8,12 @@ import pango
 import tryton.common as common
 from tryton.config import CONFIG
 from tryton.gui import Main
+from .infobar import InfoBar
 
 _ = gettext.gettext
 
 
-class TabContent(object):
+class TabContent(InfoBar):
 
     def create_tabcontent(self):
         self.buttons = {}
@@ -25,6 +26,9 @@ class TabContent(object):
         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)
@@ -63,19 +67,6 @@ class TabContent(object):
         title_menu.append(title_item)
         title_menu.show_all()
 
-        self.info_label = gtk.Label()
-        self.info_label.set_padding(3, 3)
-        self.info_label.set_alignment(1.0, 0.5)
-
-        self.eb_info = gtk.EventBox()
-        self.eb_info.add(self.info_label)
-        self.eb_info.connect('button-release-event',
-                lambda *a: self.message_info(''))
-
-        vbox = gtk.VBox()
-        vbox.pack_start(self.eb_info, expand=True, fill=True, padding=5)
-        vbox.show()
-
         self.status_label = gtk.Label()
         self.status_label.set_padding(5, 4)
         self.status_label.set_alignment(0.0, 0.5)
@@ -83,7 +74,6 @@ class TabContent(object):
 
         hbox = gtk.HBox()
         hbox.pack_start(title, expand=True, fill=True)
-        hbox.pack_start(vbox, expand=False, fill=True, padding=20)
         hbox.pack_start(self.status_label, expand=False, fill=True)
         hbox.show()
 
@@ -106,7 +96,6 @@ class TabContent(object):
         title_box.pack_start(frame_menu, expand=False, fill=True)
         title_box.pack_start(eb, expand=True, fill=True)
         title_box.show()
-
         return title_box
 
     def create_base_toolbar(self, toolbar):
diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py
index 23824bf..c1774d0 100644
--- a/tryton/gui/window/view_board/action.py
+++ b/tryton/gui/window/view_board/action.py
@@ -96,10 +96,11 @@ class Action(SignalEvent):
         if (self.screen.current_view.view_type == 'tree' and
                 self.screen.current_view.attributes.get('keyword_open')):
             GenericAction.exec_keyword('tree_open', {
-                'model': self.screen.model_name,
-                'id': self.screen.id_get(),
-                'ids': [self.screen.id_get()],
-                }, context=self.screen.context.copy(), warning=False)
+                    'model': self.screen.model_name,
+                    'id': (self.screen.current_record.id
+                        if self.screen.current_record else None),
+                    'ids': [r.id for r in self.screen.selected_records],
+                    }, context=self.screen.context.copy(), warning=False)
         else:
             def callback(result):
                 if result:
diff --git a/tryton/gui/window/view_board/view_board.py b/tryton/gui/window/view_board/view_board.py
index 54af38a..aa0505b 100644
--- a/tryton/gui/window/view_board/view_board.py
+++ b/tryton/gui/window/view_board/view_board.py
@@ -162,8 +162,8 @@ class ViewBoard(object):
         return self.widget
 
     def reload(self):
-        for widget in self.widgets:
-            widget.display()
+        for action in self.actions:
+            action.display()
 
     def _active_changed(self, event_action, *args):
         for action in self.actions:
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index 45f2be1..a3ac0c1 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -78,15 +78,17 @@ class Field(object):
     def validate(self, record, softvalidation=False, pre_validate=None):
         if self.attrs.get('readonly'):
             return True
-        res = True
+        invalid = False
         self.get_state_attrs(record)['domain_readonly'] = False
         domain = simplify(self.validation_domains(record, pre_validate))
         if not softvalidation:
-            res = res and self.check_required(record)
+            if not self.check_required(record):
+                invalid = 'required'
         if isinstance(domain, bool):
-            res = res and domain
+            if not domain:
+                invalid = 'domain'
         elif domain == [('id', '=', None)]:
-            res = False
+            invalid = 'domain'
         else:
             unique, leftpart, value = unique_value(domain)
             if unique:
@@ -115,9 +117,10 @@ class Field(object):
                     self.set_client(record, value)
                     self.get_state_attrs(record)['domain_readonly'] = (
                         domain_readonly)
-            res = res and eval_domain(domain, EvalEnvironment(record))
-        self.get_state_attrs(record)['valid'] = res
-        return res
+            if not eval_domain(domain, EvalEnvironment(record)):
+                invalid = domain
+        self.get_state_attrs(record)['invalid'] = invalid
+        return not invalid
 
     def set(self, record, value):
         record.value[self.name] = value
@@ -283,7 +286,6 @@ class TimeDeltaField(Field):
 
 class FloatField(Field):
     _default = None
-    default_digits = (16, 2)
 
     def check_required(self, record):
         state_attrs = self.get_state_attrs(record)
@@ -297,10 +299,9 @@ class FloatField(Field):
         return record.value.get(self.name, self._default)
 
     def digits(self, record, factor=1):
-        digits = tuple(y if x is None else x for x, y in zip(
-                record.expr_eval(
-                    self.attrs.get('digits', self.default_digits)),
-                self.default_digits))
+        digits = record.expr_eval(self.attrs.get('digits'))
+        if not digits or any(d is None for d in digits):
+            return
         shift = int(round(math.log(abs(factor), 10)))
         return (digits[0] + shift, digits[1] - shift)
 
@@ -321,8 +322,12 @@ class FloatField(Field):
     def get_client(self, record, factor=1):
         value = record.value.get(self.name)
         if value is not None:
-            digit = self.digits(record, factor=factor)[1]
-            return locale.format('%.*f', (digit, value * factor), True)
+            digits = self.digits(record, factor=factor)
+            if digits:
+                p = digits[1]
+            else:
+                p = -int(Decimal(repr(value * factor)).as_tuple().exponent)
+            return locale.format('%.*f', (p, value * factor), True)
         else:
             return ''
 
@@ -345,7 +350,6 @@ class NumericField(FloatField):
 
 
 class IntegerField(FloatField):
-    default_digits = (16, 0)
 
     def convert(self, value):
         try:
@@ -451,11 +455,6 @@ class O2MField(Field):
 
     def __init__(self, attrs):
         super(O2MField, self).__init__(attrs)
-        self.in_on_change = False
-
-    def sig_changed(self, record):
-        if not self.in_on_change:
-            return super(O2MField, self).sig_changed(record)
 
     def _group_changed(self, group, record):
         if not record.parent:
@@ -658,11 +657,10 @@ class O2MField(Field):
         record.modified_fields.setdefault(self.name)
 
     def set_on_change(self, record, value):
+        record.modified_fields.setdefault(self.name)
         self._set_default_value(record)
         if isinstance(value, (list, tuple)):
             self._set_value(record, value)
-            record.modified_fields.setdefault(self.name)
-            record.signal('record-modified')
             return
 
         if value and (value.get('add') or value.get('update')):
@@ -700,8 +698,6 @@ class O2MField(Field):
                 new_record = record.value[self.name].new(default=False)
                 record.value[self.name].add(new_record, index, signal=False)
                 new_record.set_on_change(vals)
-            if value.get('add'):
-                record.value[self.name].signal('group-changed', new_record)
 
             for vals in value.get('update', []):
                 if 'id' not in vals:
@@ -717,7 +713,7 @@ class O2MField(Field):
     def validate(self, record, softvalidation=False, pre_validate=None):
         if self.attrs.get('readonly'):
             return True
-        test = True
+        invalid = False
         ldomain = localize_domain(domain_inversion(
                 record.group.clean4inversion(pre_validate or []), self.name,
                 EvalEnvironment(record)), self.name)
@@ -729,11 +725,14 @@ class O2MField(Field):
         for record2 in record.value.get(self.name, []):
             if not record2.loaded and record2.id >= 0 and not pre_validate:
                 continue
-            test &= record2.validate(softvalidation=softvalidation,
-                pre_validate=ldomain)
-        test &= super(O2MField, self).validate(record, softvalidation,
+            if not record2.validate(softvalidation=softvalidation,
+                    pre_validate=ldomain):
+                invalid = 'children'
+        test = super(O2MField, self).validate(record, softvalidation,
             pre_validate)
-        self.get_state_attrs(record)['valid'] = test
+        if test and invalid:
+            self.get_state_attrs(record)['invalid'] = invalid
+            return False
         return test
 
     def state_set(self, record, states=('readonly', 'required', 'invisible')):
@@ -846,7 +845,8 @@ class ReferenceField(Field):
             model = None
         screen_domain, attr_domain = self.domains_get(record)
         return concat(localize_domain(
-                filter_leaf(screen_domain, self.name, model)), attr_domain)
+                filter_leaf(screen_domain, self.name, model),
+                strip_target=True), attr_domain)
 
 
 class _FileCache(object):
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index 53c607f..7c64a3c 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -190,7 +190,7 @@ class Group(SignalEvent, list):
         for id_ in ids:
             record = self.get(id_)
             if record and not record.modified:
-                record._loaded.clear()
+                record.cancel()
 
     def on_write_ids(self, ids):
         if not self.on_write:
diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py
index 9637f45..906e46d 100644
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -397,11 +397,12 @@ class Record(SignalEvent):
         return res
 
     def _get_invalid_fields(self):
-        res = []
+        fields = {}
         for fname, field in self.group.fields.iteritems():
-            if not field.get_state_attrs(self).get('valid', True):
-                res.append((fname, field.attrs['string']))
-        return dict(res)
+            invalid = field.get_state_attrs(self).get('invalid')
+            if invalid:
+                fields[fname] = invalid
+        return fields
 
     invalid_fields = property(_get_invalid_fields)
 
@@ -435,7 +436,9 @@ class Record(SignalEvent):
         later = {}
         for fieldname, value in val.iteritems():
             if fieldname == '_timestamp':
-                self._timestamp = value
+                # Always keep the older timestamp
+                if not self._timestamp:
+                    self._timestamp = value
                 continue
             if fieldname not in self.group.fields:
                 if fieldname == 'rec_name':
@@ -460,13 +463,9 @@ class Record(SignalEvent):
             self.signal('record-changed')
 
     def set_on_change(self, values):
-        later = {}
         for fieldname, value in values.items():
             if fieldname not in self.group.fields:
                 continue
-            if isinstance(self.group.fields[fieldname], fields.O2MField):
-                later[fieldname] = value
-                continue
             if isinstance(self.group.fields[fieldname], (fields.M2OField,
                         fields.ReferenceField)):
                 field_rec_name = fieldname + '.rec_name'
@@ -475,14 +474,6 @@ class Record(SignalEvent):
                 elif field_rec_name in self.value:
                     del self.value[field_rec_name]
             self.group.fields[fieldname].set_on_change(self, value)
-        for fieldname, value in later.items():
-            # on change recursion checking is done only for x2many
-            field_x2many = self.group.fields[fieldname]
-            try:
-                field_x2many.in_on_change = True
-                field_x2many.set_on_change(self, value)
-            finally:
-                field_x2many.in_on_change = False
 
     def reload(self, fields=None):
         if self.id < 0:
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index 61cee60..37bdb90 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -25,7 +25,7 @@ from tryton.exceptions import TrytonServerError, TrytonServerUnavailable
 from tryton.jsonrpc import JSONEncoder
 from tryton.common.domain_parser import DomainParser
 from tryton.common import RPCExecute, RPCException, MODELACCESS, \
-    node_attributes, sur, RPCContextReload
+    node_attributes, sur, RPCContextReload, warning
 from tryton.action import Action
 import tryton.rpc as rpc
 
@@ -86,10 +86,10 @@ class Screen(SignalEvent):
         self.widget = self.screen_container.widget_get()
         self.__current_view = 0
         self.search_value = search_value
-        self.fields_view_tree = None
+        self.fields_view_tree = {}
         self.order = order
         self.view_to_load = []
-        self.domain_parser = None
+        self._domain_parser = {}
         self.pre_validate = False
         self.view_to_load = mode[:]
         if view_ids or mode:
@@ -100,57 +100,71 @@ class Screen(SignalEvent):
 
     def search_active(self, active=True):
         if active and not self.parent:
-            if not self.fields_view_tree:
-                try:
-                    self.fields_view_tree = RPCExecute('model',
-                        self.model_name, 'fields_view_get', False, 'tree',
-                        context=self.context)
-                except RPCException:
-                    return
-
-            if not self.domain_parser:
-                fields = copy.deepcopy(self.fields_view_tree['fields'])
-                for name, props in fields.iteritems():
-                    if props['type'] not in ('selection', 'reference'):
-                        continue
-                    if isinstance(props['selection'], (tuple, list)):
-                        continue
-                    props['selection'] = self.get_selection(props)
-
-                # Filter only fields in XML view
-                xml_dom = xml.dom.minidom.parseString(
-                    self.fields_view_tree['arch'])
-                root_node, = xml_dom.childNodes
-                xml_fields = [node_attributes(node).get('name')
-                    for node in root_node.childNodes
-                    if node.nodeName == 'field']
-                fields = collections.OrderedDict(
-                    (name, fields[name]) for name in xml_fields)
-                for name, string, type_ in (
-                        ('id', _('ID'), 'integer'),
-                        ('create_uid', _('Creation User'), 'many2one'),
-                        ('create_date', _('Creation Date'), 'datetime'),
-                        ('write_uid', _('Modification User'), 'many2one'),
-                        ('write_date', _('Modification Date'), 'datetime'),
-                        ):
-                    if name not in fields:
-                        fields[name] = {
-                            'string': string.decode('utf-8'),
-                            'name': name,
-                            'type': type_,
-                            }
-                        if type_ == 'datetime':
-                            fields[name]['format'] = '"%H:%M:%S"'
-
-                context = rpc.CONTEXT.copy()
-                context.update(self.context)
-                self.domain_parser = DomainParser(fields, context)
-
             self.screen_container.set_screen(self)
             self.screen_container.show_filter()
         else:
             self.screen_container.hide_filter()
 
+    @property
+    def domain_parser(self):
+        view_id = self.current_view.view_id if self.current_view else None
+
+        if view_id in self._domain_parser:
+            return self._domain_parser[view_id]
+
+        if view_id not in self.fields_view_tree:
+            try:
+                self.fields_view_tree[view_id] = view_tree = RPCExecute(
+                    'model', self.model_name, 'fields_view_get', False, 'tree',
+                    context=self.context)
+            except RPCException:
+                view_tree = {
+                    'fields': {},
+                    }
+        else:
+            view_tree = self.fields_view_tree[view_id]
+
+        fields = copy.deepcopy(view_tree['fields'])
+        for name, props in fields.iteritems():
+            if props['type'] not in ('selection', 'reference'):
+                continue
+            if isinstance(props['selection'], (tuple, list)):
+                continue
+            props['selection'] = self.get_selection(props)
+
+        if 'arch' in view_tree:
+            # Filter only fields in XML view
+            xml_dom = xml.dom.minidom.parseString(view_tree['arch'])
+            root_node, = xml_dom.childNodes
+            xml_fields = [node_attributes(node).get('name')
+                for node in root_node.childNodes
+                if node.nodeName == 'field']
+            fields = collections.OrderedDict(
+                (name, fields[name]) for name in xml_fields)
+
+        # Add common fields
+        for name, string, type_ in (
+                ('id', _('ID'), 'integer'),
+                ('create_uid', _('Creation User'), 'many2one'),
+                ('create_date', _('Creation Date'), 'datetime'),
+                ('write_uid', _('Modification User'), 'many2one'),
+                ('write_date', _('Modification Date'), 'datetime'),
+                ):
+            if name not in fields:
+                fields[name] = {
+                    'string': string.decode('utf-8'),
+                    'name': name,
+                    'type': type_,
+                    }
+                if type_ == 'datetime':
+                    fields[name]['format'] = '"%H:%M:%S"'
+
+        context = rpc.CONTEXT.copy()
+        context.update(self.context)
+        domain_parser = DomainParser(fields, context)
+        self._domain_parser[view_id] = domain_parser
+        return domain_parser
+
     def get_selection(self, props):
         try:
             change_with = props.get('selection_change_with')
@@ -335,8 +349,8 @@ class Screen(SignalEvent):
                 self.current_view.attributes.get('keyword_open')):
             return Action.exec_keyword('tree_open', {
                 'model': self.model_name,
-                'id': self.id_get(),
-                'ids': [self.id_get()],
+                'id': self.current_record.id if self.current_record else None,
+                'ids': [r.id for r in self.selected_records],
                 }, context=self.context.copy(), warning=False)
         else:
             self.switch_view(view_type='form')
@@ -408,7 +422,7 @@ class Screen(SignalEvent):
         xml_dom = xml.dom.minidom.parseString(arch)
         root, = xml_dom.childNodes
         if root.tagName == 'tree':
-            self.fields_view_tree = view
+            self.fields_view_tree[view_id] = view
 
         # Ensure that loading is always lazy for fields on form view
         # and always eager for fields on tree or graph view
@@ -475,24 +489,26 @@ class Screen(SignalEvent):
             else:
                 return True
         self.current_view.set_value()
-        obj_id = False
+        saved = False
+        record_id = None
         fields = self.current_view.get_fields()
         path = self.current_record.get_path(self.group)
         if self.current_view.view_type == 'tree':
-            self.group.save()
-            obj_id = self.current_record.id
+            saved = all(self.group.save())
+            record_id = self.current_record.id
         elif self.current_record.validate(fields):
-            obj_id = self.current_record.save(force_reload=True)
+            record_id = self.current_record.save(force_reload=True)
+            saved = bool(record_id)
         else:
             self.set_cursor()
             self.current_view.display()
             return False
-        if path and obj_id:
-            path = path[:-1] + ((path[-1][0], obj_id),)
+        if path and record_id:
+            path = path[:-1] + ((path[-1][0], record_id),)
         self.current_record = self.group.get_by_path(path)
         self.display()
         self.signal('record-saved')
-        return obj_id
+        return saved
 
     def __get_current_view(self):
         if not len(self.views):
@@ -600,8 +616,9 @@ class Screen(SignalEvent):
             new_ids = RPCExecute('model', self.model_name, 'copy', ids, {},
                 context=self.context)
         except RPCException:
-            return
+            return False
         self.load(new_ids)
+        return True
 
     def set_tree_state(self):
         view = self.current_view
@@ -863,18 +880,34 @@ class Screen(SignalEvent):
         self.set_cursor(reset_view=False)
         view.display()
 
+    def invalid_message(self, record=None):
+        if record is None:
+            record = self.current_record
+        domain_string = _('"%s" is not valid according to its domain')
+        domain_parser = DomainParser(
+            {n: f.attrs for n, f in record.group.fields.iteritems()})
+        fields = []
+        for field, invalid in sorted(record.invalid_fields.items()):
+            string = record.group.fields[field].attrs['string']
+            if invalid == 'required' or invalid == [[field, '!=', None]]:
+                fields.append(_('"%s" is required') % string)
+            elif invalid == 'domain':
+                fields.append(domain_string % string)
+            elif invalid == 'children':
+                fields.append(_('The values of "%s" are not valid') % string)
+            else:
+                if domain_parser.stringable(invalid):
+                    fields.append(domain_parser.string(invalid))
+                else:
+                    fields.append(domain_string % string)
+        if len(fields) > 5:
+            fields = fields[:5] + ['...']
+        return '\n'.join(fields)
+
     @property
     def selected_records(self):
         return self.current_view.selected_records
 
-    def id_get(self):
-        if not self.current_record:
-            return False
-        return self.current_record.id
-
-    def ids_get(self):
-        return [x.id for x in self.group if x.id]
-
     def clear(self):
         self.current_record = None
         self.group.clear()
@@ -912,6 +945,7 @@ class Screen(SignalEvent):
             domain = record.expr_eval(
                 button.get('states', {})).get('pre_validate', [])
             if not record.validate(fields, pre_validate=domain):
+                warning(self.invalid_message(record), _('Pre-validation'))
                 self.display(set_cursor=True)
                 if domain:
                     # Reset valid state with normal domain
diff --git a/tryton/gui/window/view_form/view/__init__.py b/tryton/gui/window/view_form/view/__init__.py
index 14c6d24..cbca0ab 100644
--- a/tryton/gui/window/view_form/view/__init__.py
+++ b/tryton/gui/window/view_form/view/__init__.py
@@ -23,6 +23,10 @@ class View(object):
     def get_fields(self):
         raise NotImplementedError
 
+    @property
+    def selected_records(self):
+        return []
+
     def get_buttons(self):
         raise NotImplementedError
 
diff --git a/tryton/gui/window/view_form/view/form.py b/tryton/gui/window/view_form/view/form.py
index 748da1d..983714a 100644
--- a/tryton/gui/window/view_form/view/form.py
+++ b/tryton/gui/window/view_form/view/form.py
@@ -126,6 +126,7 @@ class ViewForm(View):
         if not container:
             node_attrs = node_attributes(node)
             container = Container(int(node_attrs.get('col', 4)))
+        mnemonics = {}
         for node in node.childNodes:
             if node.nodeType != node.ELEMENT_NODE:
                 continue
@@ -139,7 +140,16 @@ class ViewForm(View):
                     node_attrs[i_field] = int(node_attrs[i_field])
 
             parser = getattr(self, '_parse_%s' % node.tagName)
-            parser(node, container, node_attrs)
+            widget = parser(node, container, node_attrs)
+            if not widget:
+                continue
+            name = node_attrs.get('name')
+            if node.tagName == 'label' and name:
+                mnemonics[name] = widget
+            if node.tagName == 'field':
+                if name in mnemonics and widget.mnemonic_widget:
+                    mnemonics.pop(name).set_mnemonic_widget(
+                        widget.mnemonic_widget)
         return container
 
     def _parse_image(self, node, container, attributes):
@@ -189,6 +199,7 @@ class ViewForm(View):
         attributes.setdefault('xexpand', 0)
         self.state_widgets.append(label)
         container.add(label, attributes)
+        return label
 
     def _parse_newline(self, node, container, attributes):
         container.add_row()
@@ -232,9 +243,7 @@ class ViewForm(View):
             for attr in ('states', 'string'):
                 if attr not in attributes and attr in field.attrs:
                     attributes[attr] = field.attrs[attr]
-        if '_' not in attributes['string']:
-            attributes['string'] = '_' + attributes['string']
-        label = gtk.Label(attributes['string'])
+        label = gtk.Label('_' + attributes['string'].replace('_', '__'))
         label.set_use_underline(True)
         tab_box.pack_start(label)
 
@@ -296,6 +305,7 @@ class ViewForm(View):
                 int(attributes.get('width', -1)),
                 int(attributes.get('height', -1)))
         container.add(Alignment(widget.widget, attributes), attributes)
+        return widget
 
     def _parse_group(self, node, container, attributes):
         group = self.parse(node)
@@ -416,9 +426,9 @@ class ViewForm(View):
         if record:
             for name, widgets in self.widgets.iteritems():
                 field = record.group.fields.get(name)
-                if field and 'valid' in field.get_state_attrs(record):
+                if field and 'invalid' in field.get_state_attrs(record):
                     for widget in widgets:
-                        field.get_state_attrs(record)['valid'] = True
+                        field.get_state_attrs(record)['invalid'] = False
                         widget.display(record, field)
 
     def display(self):
@@ -466,15 +476,12 @@ class ViewForm(View):
         record = self.screen.current_record
         if record:
             invalid_widgets = []
-            for name, widgets in self.widgets.iteritems():
+            for name in record.invalid_fields:
+                widgets = self.widgets.get(name, [])
                 for widget in widgets:
-                    field = record.group.fields.get(name)
-                    if not field:
-                        continue
-                    if not field.get_state_attrs(record).get('valid', True):
-                        invalid_widget = find_focusable_child(widget.widget)
-                        if invalid_widget:
-                            invalid_widgets.append(invalid_widget)
+                    invalid_widget = find_focusable_child(widget.widget)
+                    if invalid_widget:
+                        invalid_widgets.append(invalid_widget)
             if invalid_widgets:
                 focus_widget = find_first_focus_widget(
                     self._viewport, invalid_widgets)
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 6606492..68a1b4d 100644
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -6,46 +6,31 @@ import os
 import tempfile
 from tryton.common import common
 from tryton.common import file_selection, Tooltips, file_open, slugify
+from tryton.config import CONFIG
 from .widget import Widget
 
 _ = gettext.gettext
 
 
-class Binary(Widget):
-    "Binary"
+class BinaryMixin(Widget):
 
     def __init__(self, view, attrs):
-        super(Binary, self).__init__(view, attrs)
-
+        super(BinaryMixin, self).__init__(view, attrs)
         self.filename = attrs.get('filename')
 
-        self.tooltips = Tooltips()
+    def toolbar(self):
+        'Return HBox with the toolbar'
+        hbox = gtk.HBox(spacing=0)
+        tooltips = Tooltips()
 
-        self.widget = gtk.HBox(spacing=0)
-        self.wid_size = gtk.Entry()
-        self.wid_size.set_width_chars(10)
-        self.wid_size.set_alignment(1.0)
-        self.wid_size.props.sensitive = False
-        if self.filename and attrs.get('filename_visible'):
-            self.wid_text = gtk.Entry()
-            self.wid_text.set_property('activates_default', True)
-            self.wid_text.connect('focus-out-event',
-                lambda x, y: self._focus_out())
-            self.wid_text.connect_after('key_press_event', self.sig_key_press)
-            self.widget.pack_start(self.wid_text, expand=True, fill=True)
-        else:
-            self.wid_text = None
-        self.widget.pack_start(self.wid_size, expand=not self.filename,
-            fill=True)
-
-        self.but_new = gtk.Button()
-        img_new = gtk.Image()
-        img_new.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR)
-        self.but_new.set_image(img_new)
-        self.but_new.set_relief(gtk.RELIEF_NONE)
-        self.but_new.connect('clicked', self.sig_new)
-        self.tooltips.set_tip(self.but_new, _('Select a File...'))
-        self.widget.pack_start(self.but_new, expand=False, fill=False)
+        self.but_select = gtk.Button()
+        img_select = gtk.Image()
+        img_select.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR)
+        self.but_select.set_image(img_select)
+        self.but_select.set_relief(gtk.RELIEF_NONE)
+        self.but_select.connect('clicked', self.select)
+        tooltips.set_tip(self.but_select, _('Select...'))
+        hbox.pack_start(self.but_select, expand=False, fill=False)
 
         if self.filename:
             self.but_open = gtk.Button()
@@ -53,9 +38,9 @@ class Binary(Widget):
             img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR)
             self.but_open.set_image(img_open)
             self.but_open.set_relief(gtk.RELIEF_NONE)
-            self.but_open.connect('clicked', self.sig_open)
-            self.tooltips.set_tip(self.but_open, _('Open...'))
-            self.widget.pack_start(self.but_open, expand=False, fill=False)
+            self.but_open.connect('clicked', self.open_)
+            tooltips.set_tip(self.but_open, _('Open...'))
+            hbox.pack_start(self.but_open, expand=False, fill=False)
         else:
             self.but_open = None
 
@@ -65,64 +50,57 @@ class Binary(Widget):
             gtk.ICON_SIZE_SMALL_TOOLBAR)
         self.but_save_as.set_image(img_save_as)
         self.but_save_as.set_relief(gtk.RELIEF_NONE)
-        self.but_save_as.connect('clicked', self.sig_save_as)
-        self.tooltips.set_tip(self.but_save_as, _('Save As...'))
-        self.widget.pack_start(self.but_save_as, expand=False, fill=False)
-
-        self.but_remove = gtk.Button()
-        img_remove = gtk.Image()
-        img_remove.set_from_stock('tryton-clear', gtk.ICON_SIZE_SMALL_TOOLBAR)
-        self.but_remove.set_image(img_remove)
-        self.but_remove.set_relief(gtk.RELIEF_NONE)
-        self.but_remove.connect('clicked', self.sig_remove)
-        self.tooltips.set_tip(self.but_remove, _('Clear'))
-        self.widget.pack_start(self.but_remove, expand=False, fill=False)
-
-        self.last_open_file = None
-
-        self.tooltips.enable()
+        self.but_save_as.connect('clicked', self.save_as)
+        tooltips.set_tip(self.but_save_as, _('Save As...'))
+        hbox.pack_start(self.but_save_as, expand=False, fill=False)
+
+        self.but_clear = gtk.Button()
+        img_clear = gtk.Image()
+        img_clear.set_from_stock('tryton-clear', gtk.ICON_SIZE_SMALL_TOOLBAR)
+        self.but_clear.set_image(img_clear)
+        self.but_clear.set_relief(gtk.RELIEF_NONE)
+        self.but_clear.connect('clicked', self.clear)
+        tooltips.set_tip(self.but_clear, _('Clear'))
+        hbox.pack_start(self.but_clear, expand=False, fill=False)
+
+        tooltips.enable()
+        return hbox
 
     @property
     def filename_field(self):
         return self.record.group.fields.get(self.filename)
 
-    def _readonly_set(self, value):
-        if value:
-            self.but_new.hide()
-            self.but_remove.hide()
-            self.widget.set_focus_chain([])
-        else:
-            self.but_new.show()
-            self.but_remove.show()
-            if self.wid_text:
-                focus_chain = [self.wid_text]
-            elif self.filename:
-                focus_chain = [self.but_new, self.but_open, self.but_save_as,
-                        self.but_remove]
-            else:
-                focus_chain = [self.but_new, self.but_save_as, self.but_remove]
-            self.widget.set_focus_chain(focus_chain)
+    @property
+    def filters(self):
+        filter_all = gtk.FileFilter()
+        filter_all.set_name(_('All files'))
+        filter_all.add_pattern("*")
+        return [filter_all]
 
-    def sig_new(self, widget=None):
-        filename = ''
-        if self.last_open_file:
-            last_id, last_filename = self.last_open_file
-            if last_id == self.record.id:
-                filename = last_filename
-        filename = file_selection(_('Open...'), filename=filename)
-        if filename and self.field:
+    @property
+    def preview(self):
+        return False
+
+    def select(self, widget=None):
+        if not self.field:
+            return
+        filters = self.filters
+
+        filename = file_selection(_('Select'), preview=self.preview,
+            filters=filters)
+        if filename:
             self.field.set_client(self.record, open(filename, 'rb').read())
             if self.filename_field:
                 self.filename_field.set_client(self.record,
-                        os.path.basename(filename))
+                    os.path.basename(filename))
 
-    def sig_open(self, widget=None):
+    def open_(self, widget=None):
         if not self.filename_field:
             return
-        dtemp = tempfile.mkdtemp(prefix='tryton_')
         filename = self.filename_field.get(self.record)
         if not filename:
             return
+        dtemp = tempfile.mkdtemp(prefix='tryton_')
         root, ext = os.path.splitext(filename)
         filename = ''.join([slugify(root), os.extsep, slugify(ext)])
         file_path = os.path.join(dtemp, filename)
@@ -135,9 +113,8 @@ class Binary(Widget):
         if type_:
             type_ = type_[1:]
         file_open(file_path, type_)
-        self.last_open_file = (self.record.id, file_path)
 
-    def sig_save_as(self, widget=None):
+    def save_as(self, widget=None):
         filename = ''
         if self.filename_field:
             filename = self.filename_field.get(self.record)
@@ -150,8 +127,49 @@ class Binary(Widget):
                 else:
                     fp.write(self.field.get(self.record))
 
-    def sig_remove(self, widget=None):
-        self.field.set_client(self.record, False)
+    def clear(self, widget=None):
+        self.field.set_client(self.record, None)
+
+
+class Binary(BinaryMixin, Widget):
+    "Binary"
+
+    def __init__(self, view, attrs):
+        super(Binary, self).__init__(view, attrs)
+
+        self.widget = gtk.HBox(spacing=0)
+        self.wid_size = gtk.Entry()
+        self.wid_size.set_width_chars(10)
+        self.wid_size.set_alignment(1.0)
+        self.wid_size.props.sensitive = False
+        if self.filename and attrs.get('filename_visible'):
+            self.wid_text = gtk.Entry()
+            self.wid_text.set_property('activates_default', True)
+            self.wid_text.connect('focus-out-event',
+                lambda x, y: self._focus_out())
+            self.wid_text.connect_after('key_press_event', self.sig_key_press)
+            self.widget.pack_start(self.wid_text, expand=True, fill=True)
+        else:
+            self.wid_text = None
+        self.mnemonic_widget = self.wid_text
+        self.widget.pack_start(self.wid_size, expand=not self.filename,
+            fill=True)
+
+        self.widget.pack_start(self.toolbar(), expand=False, fill=False)
+
+    def _readonly_set(self, value):
+        if value:
+            self.but_select.hide()
+            self.but_clear.hide()
+        else:
+            self.but_select.show()
+            self.but_clear.show()
+        if self.wid_text:
+            self.wid_text.set_editable(not value)
+        if value and CONFIG['client.fast_tabbing']:
+            self.widget.set_focus_chain([])
+        else:
+            self.widget.unset_focus_chain()
 
     def sig_key_press(self, widget, event, *args):
         editable = self.wid_text and self.wid_text.get_editable()
@@ -193,9 +211,3 @@ class Binary(Widget):
             self.filename_field.set_client(self.record,
                     self.wid_text.get_text() or False)
         return
-
-    def _color_widget(self):
-        if self.wid_text:
-            return self.wid_text
-        else:
-            return self.wid_size
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 dac644b..8e061ef 100644
--- a/tryton/gui/window/view_form/view/form_gtk/calendar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/calendar.py
@@ -6,6 +6,7 @@ import gettext
 from .widget import Widget
 from tryton.common.datetime_ import (Date as DateEntry, Time as TimeEntry,
     DateTime as DateTimeEntry, add_operators)
+from tryton.config import CONFIG
 
 _ = gettext.gettext
 
@@ -16,7 +17,7 @@ class Date(Widget):
         super(Date, self).__init__(view, attrs)
 
         self.widget = gtk.HBox()
-        self.entry = add_operators(_entry())
+        self.entry = self.mnemonic_widget = add_operators(_entry())
         self.real_entry.set_property('activates_default', True)
         self.real_entry.connect('key_press_event', self.sig_key_press)
         self.real_entry.connect('activate', self.sig_activate)
@@ -29,19 +30,16 @@ class Date(Widget):
     def real_entry(self):
         return self.entry
 
-    def _color_widget(self):
-        return self.entry
-
     def _set_editable(self, value):
         self.entry.set_editable(value)
         self.entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, value)
 
     def _readonly_set(self, value):
         self._set_editable(not value)
-        if value:
+        if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
-            self.widget.set_focus_chain([self.entry])
+            self.widget.unset_focus_chain()
 
     @property
     def modified(self):
@@ -62,7 +60,7 @@ class Date(Widget):
         if field and record:
             format_ = field.date_format(record)
         else:
-            format_ = '%x'
+            format_ = self.view.screen.context.get('date_format', '%x')
         self.entry.props.format = format_
 
     def display(self, record, field):
@@ -80,9 +78,6 @@ class Time(Date):
         super(Time, self).__init__(view, attrs, _entry=TimeEntry)
         self.entry.set_focus_chain([self.entry.get_child()])
 
-    def _color_widget(self):
-        return self.entry.child
-
     def _set_editable(self, value):
         self.entry.set_sensitive(value)
 
@@ -106,7 +101,7 @@ class DateTime(Date):
         Widget.__init__(self, view, attrs)
 
         self.widget = gtk.HBox()
-        self.entry = DateTimeEntry()
+        self.entry = self.mnemonic_widget = DateTimeEntry()
         for child in self.entry.get_children():
             add_operators(child)
             if isinstance(child, gtk.ComboBoxEntry):
@@ -132,7 +127,7 @@ class DateTime(Date):
             date_format = field.date_format(record)
             time_format = field.time_format(record)
         else:
-            date_format = '%x'
+            date_format = self.view.screen.context.get('date_format', '%x')
             time_format = '%X'
         self.entry.props.date_format = date_format
         self.entry.props.time_format = time_format
diff --git a/tryton/gui/window/view_form/view/form_gtk/char.py b/tryton/gui/window/view_form/view/form_gtk/char.py
index 4bae844..aec6ba9 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 manage_entry_position
 from tryton.common.selection import PopdownMixin, selection_shortcuts
+from tryton.config import CONFIG
 
 _ = gettext.gettext
 
@@ -29,6 +30,7 @@ class Char(Widget, TranslateMixin, PopdownMixin):
         else:
             self.entry = gtk.Entry()
             focus_entry = self.entry
+        self.mnemonic_widget = focus_entry
 
         focus_entry.set_property('activates_default', True)
         focus_entry.connect('activate', self.sig_activate)
@@ -40,7 +42,6 @@ class Char(Widget, TranslateMixin, PopdownMixin):
             expand, fill = False, False
         self.widget.pack_start(self.entry, expand=expand, fill=fill)
 
-        self.button = None
         if attrs.get('translate'):
             self.entry.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY,
                 'tryton-locale')
@@ -77,11 +78,6 @@ class Char(Widget, TranslateMixin, PopdownMixin):
             # Must be deferred because it triggers a display of the form
             gobject.idle_add(focus_out)
 
-    def _color_widget(self):
-        if self.autocomplete:
-            return self.entry.get_child()
-        return self.entry
-
     @property
     def modified(self):
         if self.record and self.field:
@@ -142,12 +138,10 @@ class Char(Widget, TranslateMixin, PopdownMixin):
             self.entry.set_button_sensitivity(sensitivity[value])
         else:
             self.entry.set_editable(not value)
-        if self.button:
-            self.button.set_sensitive(not value)
-        if value:
+        if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
-            self.widget.set_focus_chain([self.entry])
+            self.widget.unset_focus_chain()
 
 
 class Password(Char):
@@ -165,10 +159,10 @@ class Password(Char):
         super(Char, self)._readonly_set(value)
         self.entry.set_editable(not value)
         self.visibility_checkbox.props.visible = not value
-        if value:
+        if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
-            self.widget.set_focus_chain([self.entry, self.visibility_checkbox])
+            self.widget.unset_focus_chain()
 
     def toggle_visibility(self, button):
         self.entry.props.visibility = not self.entry.props.visibility
diff --git a/tryton/gui/window/view_form/view/form_gtk/checkbox.py b/tryton/gui/window/view_form/view/form_gtk/checkbox.py
index 6e6bf82..ec7e62e 100644
--- a/tryton/gui/window/view_form/view/form_gtk/checkbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/checkbox.py
@@ -11,12 +11,13 @@ class CheckBox(Widget):
 
     def __init__(self, view, attrs):
         super(CheckBox, self).__init__(view, attrs)
-        self.widget = gtk.CheckButton()
+        self.widget = self.mnemonic_widget = gtk.CheckButton()
         self.widget.connect('focus-out-event', lambda x, y: self._focus_out())
         self.widget.connect_after('toggled', self.sig_activate)
 
     def _readonly_set(self, value):
         super(CheckBox, self)._readonly_set(value)
+        # TODO find a better solution to accept focus
         self.widget.set_sensitive(not value)
 
     def set_value(self, record, field):
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 d6ded4d..d9af13a 100644
--- a/tryton/gui/window/view_form/view/form_gtk/dictionary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/dictionary.py
@@ -471,6 +471,7 @@ class DictWidget(Widget):
         label.set_alignment(1., .5)
         self.table.attach(label, 0, 1, n_rows - 1, n_rows,
             xoptions=gtk.FILL, yoptions=False, xpadding=2)
+        label.set_mnemonic_widget(field.widget)
         label.show()
         self.table.attach(alignment, 1, 2, n_rows - 1, n_rows,
             xoptions=gtk.FILL | gtk.EXPAND, yoptions=False, xpadding=2)
diff --git a/tryton/gui/window/view_form/view/form_gtk/float.py b/tryton/gui/window/view_form/view/form_gtk/float.py
index 7de8a8a..384f8b2 100644
--- a/tryton/gui/window/view_form/view/form_gtk/float.py
+++ b/tryton/gui/window/view_form/view/form_gtk/float.py
@@ -16,7 +16,10 @@ class Float(Integer):
         super(Float, self).display(record, field)
         if field:
             digits = field.digits(record, factor=self.factor)
-            self.entry.set_width_chars(sum(digits))
+            if digits:
+                self.entry.set_width_chars(sum(digits))
+            else:
+                self.entry.set_width_chars(18)
 
     def key_press_event(self, widget, event):
         for name in ('KP_Decimal', 'KP_Separator'):
@@ -50,6 +53,7 @@ class Float(Integer):
         if decimal_point in new_value:
             new_int, new_decimal = new_value.rsplit(decimal_point, 1)
 
-        if len(new_int) > digits[0] \
-                or len(new_decimal) > digits[1]:
+        if (digits
+                and (len(new_int) > digits[0]
+                    or len(new_decimal) > digits[1])):
             entry.stop_emission('insert-text')
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 0d6eb52..3a0fa92 100644
--- a/tryton/gui/window/view_form/view/form_gtk/image.py
+++ b/tryton/gui/window/view_form/view/form_gtk/image.py
@@ -2,22 +2,20 @@
 # this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
-import os
-import tempfile
-from tryton.common import (file_selection, Tooltips, file_open, slugify,
-    resize_pixbuf, data2pixbuf, BIG_IMAGE_SIZE)
-from .widget import Widget
 import urllib
 
+from tryton.common import resize_pixbuf, data2pixbuf, BIG_IMAGE_SIZE
+from .widget import Widget
+from .binary import BinaryMixin
+
 _ = gettext.gettext
 
 
-class Image(Widget):
+class Image(BinaryMixin, Widget):
 
     def __init__(self, view, attrs):
         super(Image, self).__init__(view, attrs)
 
-        self.filename = attrs.get('filename')
         self.height = int(attrs.get('height', 100))
         self.width = int(attrs.get('width', 300))
 
@@ -30,136 +28,41 @@ class Image(Widget):
         self.event.connect('drag_motion', self.drag_motion)
         self.event.connect('drag_data_received', self.drag_data_received)
 
-        self.tooltips = Tooltips()
-
         self.image = gtk.Image()
         self.event.add(self.image)
         self.widget.pack_start(self.event, expand=True, fill=True)
 
+        toolbar = self.toolbar()  # Set button attributes even if not display
         if not attrs.get('readonly'):
             alignment = gtk.Alignment(xalign=0.5, yalign=0.5)
-            hbox = gtk.HBox(spacing=0)
-            self.but_add = gtk.Button()
-            img_add = gtk.Image()
-            img_add.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR)
-            self.but_add.set_image(img_add)
-            self.but_add.set_relief(gtk.RELIEF_NONE)
-            self.but_add.connect('clicked', self.sig_add)
-            self.tooltips.set_tip(self.but_add, _('Select an Image...'))
-            hbox.pack_start(self.but_add, expand=False, fill=False)
-
-            if self.filename:
-                self.but_open = gtk.Button()
-                img_open = gtk.Image()
-                img_open.set_from_stock('tryton-open',
-                    gtk.ICON_SIZE_SMALL_TOOLBAR)
-                self.but_open.set_image(img_open)
-                self.but_open.set_relief(gtk.RELIEF_NONE)
-                self.but_open.connect('clicked', self.sig_open)
-                self.tooltips.set_tip(self.but_open, _('Open...'))
-                hbox.pack_start(self.but_open, expand=False, fill=False)
-            else:
-                self.but_open = None
-
-            self.but_save_as = gtk.Button()
-            img_save_as = gtk.Image()
-            img_save_as.set_from_stock('tryton-save',
-                gtk.ICON_SIZE_SMALL_TOOLBAR)
-            self.but_save_as.set_image(img_save_as)
-            self.but_save_as.set_relief(gtk.RELIEF_NONE)
-            self.but_save_as.connect('clicked', self.sig_save_as)
-            self.tooltips.set_tip(self.but_save_as, _('Save As...'))
-            hbox.pack_start(self.but_save_as, expand=False, fill=False)
-
-            self.but_remove = gtk.Button()
-            img_remove = gtk.Image()
-            img_remove.set_from_stock('tryton-clear',
-                gtk.ICON_SIZE_SMALL_TOOLBAR)
-            self.but_remove.set_image(img_remove)
-            self.but_remove.set_relief(gtk.RELIEF_NONE)
-            self.but_remove.connect('clicked', self.sig_remove)
-            self.tooltips.set_tip(self.but_remove, _('Clear'))
-            hbox.pack_start(self.but_remove, expand=False, fill=False)
-
-            alignment.add(hbox)
+            alignment.add(toolbar)
             self.widget.pack_start(alignment, expand=False, fill=False)
-        else:
-            self.but_add = None
-            self.but_open = None
-            self.but_save_as = None
-            self.but_remove = None
-
-        self.tooltips.enable()
 
         self._readonly = False
 
         self.update_img()
 
     @property
-    def filename_field(self):
-        return self.record.group.fields.get(self.filename)
-
-    def _readonly_set(self, value):
-        self._readonly = value
-        if self.but_add:
-            self.but_add.set_sensitive(not value)
-        if self.but_open:
-            self.but_open.set_sensitive(not value)
-        if self.but_save_as:
-            self.but_save_as.set_sensitive(not value)
-        if self.but_remove:
-            self.but_remove.set_sensitive(not value)
-
-    def sig_add(self, widget):
-        filter_all = gtk.FileFilter()
-        filter_all.set_name(_('All files'))
-        filter_all.add_pattern("*")
-
+    def filters(self):
+        filters = super(Image, self).filters
         filter_image = gtk.FileFilter()
         filter_image.set_name(_('Images'))
         for mime in ("image/png", "image/jpeg", "image/gif"):
             filter_image.add_mime_type(mime)
         for pat in ("*.png", "*.jpg", "*.gif", "*.tif", "*.xpm"):
             filter_image.add_pattern(pat)
+        filters.insert(0, filter_image)
+        return filters
 
-        filename = file_selection(_('Open...'), preview=True,
-            filters=[filter_image, filter_all])
-        if filename:
-            self.field.set_client(self.record, open(filename, 'rb').read())
-            if self.filename_field:
-                self.filename_field.set_client(self.record,
-                        os.path.basename(filename))
-            self.update_img()
+    def _readonly_set(self, value):
+        self._readonly = value
+        for button in [self.but_select, self.but_open, self.but_save_as,
+                self.but_clear]:
+            if button:
+                button.set_sensitive(not value)
 
-    def sig_open(self, widget=None):
-        if not self.filename_field:
-            return
-        dtemp = tempfile.mkdtemp(prefix='tryton_')
-        filename = self.filename_field.get(self.record)
-        if not filename:
-            return
-        root, ext = os.path.splitext(filename)
-        filename = ''.join([slugify(root), os.extsep, slugify(ext)])
-        file_path = os.path.join(dtemp, filename)
-        with open(file_path, 'wb') as fp:
-            fp.write(self.field.get_data(self.record))
-        root, type_ = os.path.splitext(filename)
-        if type_:
-            type_ = type_[1:]
-        file_open(file_path, type_)
-
-    def sig_save_as(self, widget):
-        filename = ''
-        if self.filename_field:
-            filename = self.filename_field.get(self.record)
-        filename = file_selection(_('Save As...'), filename=filename,
-            action=gtk.FILE_CHOOSER_ACTION_SAVE)
-        if filename:
-            with open(filename, 'wb') as fp:
-                fp.write(self.field.get_data(self.record))
-
-    def sig_remove(self, widget):
-        self.field.set_client(self.record, False)
+    def clear(self, widget=None):
+        super(Image, self).clear(widget=widget)
         self.update_img()
 
     def drag_motion(self, widget, context, x, y, timestamp):
@@ -201,7 +104,5 @@ class Image(Widget):
         self.image.set_from_pixbuf(pixbuf)
 
     def display(self, record, field):
-        if not field:
-            return False
         super(Image, self).display(record, field)
         self.update_img()
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 8874674..f2f13cd 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py
@@ -21,7 +21,11 @@ class Many2Many(Widget):
     def __init__(self, view, attrs):
         super(Many2Many, self).__init__(view, attrs)
 
-        self.widget = gtk.VBox(homogeneous=False, spacing=5)
+        self.widget = gtk.Frame()
+        self.widget.set_shadow_type(gtk.SHADOW_NONE)
+        self.widget.get_accessible().set_name(attrs.get('string', ''))
+        vbox = gtk.VBox(homogeneous=False, spacing=5)
+        self.widget.add(vbox)
         self._readonly = True
         self._position = 0
 
@@ -85,7 +89,7 @@ class Many2Many(Widget):
         frame = gtk.Frame()
         frame.add(hbox)
         frame.set_shadow_type(gtk.SHADOW_OUT)
-        self.widget.pack_start(frame, expand=False, fill=True)
+        vbox.pack_start(frame, expand=False, fill=True)
 
         self.screen = Screen(attrs['relation'],
             view_ids=attrs.get('view_ids', '').split(','),
@@ -93,16 +97,11 @@ class Many2Many(Widget):
             row_activate=self._on_activate)
         self.screen.signal_connect(self, 'record-message', self._sig_label)
 
-        self.widget.pack_start(self.screen.widget, expand=True, fill=True)
+        vbox.pack_start(self.screen.widget, expand=True, fill=True)
 
         self.screen.widget.connect('key_press_event', self.on_keypress)
         self.wid_text.connect('key_press_event', self.on_keypress)
 
-    def _color_widget(self):
-        if hasattr(self.screen.current_view, 'treeview'):
-            return self.screen.current_view.treeview
-        return super(Many2Many, self)._color_widget()
-
     def on_keypress(self, widget, event):
         editable = self.wid_text.get_editable()
         activate_keys = [gtk.keysyms.Tab, gtk.keysyms.ISO_Left_Tab]
@@ -134,15 +133,6 @@ class Many2Many(Widget):
     def destroy(self):
         self.screen.destroy()
 
-    def color_set(self, name):
-        super(Many2Many, self).color_set(name)
-        widget = self._color_widget()
-        # if the style to apply is different from readonly then insensitive
-        # cellrenderers should use the default insensitive color
-        if name != 'readonly':
-            widget.modify_text(gtk.STATE_INSENSITIVE,
-                    self.colors['text_color_insensitive'])
-
     def _sig_add(self, *args):
         if not self.focus_out:
             return
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 a786fc7..0ad4ab0 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 manage_entry_position
 from tryton.common.domain_parser import quote
+from tryton.config import CONFIG
 
 _ = gettext.gettext
 
@@ -25,7 +26,7 @@ class Many2One(Widget):
         self.widget = gtk.HBox(spacing=0)
         self.widget.set_property('sensitive', True)
 
-        self.wid_text = gtk.Entry()
+        self.wid_text = self.mnemonic_widget = gtk.Entry()
         self.wid_text.set_property('width-chars', 13)
         self.wid_text.set_property('activates_default', True)
         self.wid_text.connect('key-press-event', self.send_modified)
@@ -47,7 +48,6 @@ class Many2One(Widget):
         self.wid_text.connect('icon-press', self.sig_edit)
 
         self.widget.pack_end(self.wid_text, expand=True, fill=True)
-        self.widget.set_focus_chain([self.wid_text])
 
         self._readonly = False
 
@@ -57,10 +57,10 @@ class Many2One(Widget):
     def _readonly_set(self, value):
         self._readonly = value
         self._set_button_sensitive()
-        if value:
+        if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
-            self.widget.set_focus_chain([self.wid_text])
+            self.widget.unset_focus_chain()
 
     def _set_button_sensitive(self):
         self.wid_text.set_editable(not self._readonly)
@@ -89,9 +89,6 @@ class Many2One(Widget):
             return self.field.get_client(self.record) != value
         return False
 
-    def _color_widget(self):
-        return self.wid_text
-
     @staticmethod
     def has_target(value):
         return value is not None
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 c14682c..ac0cdd3 100644
--- a/tryton/gui/window/view_form/view/form_gtk/multiselection.py
+++ b/tryton/gui/window/view_form/view/form_gtk/multiselection.py
@@ -17,6 +17,7 @@ class MultiSelection(Widget, SelectionMixin):
         self.widget = gtk.ScrolledWindow()
         self.widget.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
         self.widget.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+        self.widget.get_accessible().set_name(attrs.get('string', ''))
 
         self.model = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING)
         self.tree = TreeViewControl()
@@ -38,9 +39,6 @@ class MultiSelection(Widget, SelectionMixin):
         self.init_selection()
         self.id2path = {}
 
-    def _color_widget(self):
-        return self.tree
-
     @property
     def modified(self):
         if self.record and self.field:
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 edd39bf..27ab688 100644
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py
@@ -22,7 +22,11 @@ class One2Many(Widget):
     def __init__(self, view, attrs):
         super(One2Many, self).__init__(view, attrs)
 
-        self.widget = gtk.VBox(homogeneous=False, spacing=2)
+        self.widget = gtk.Frame()
+        self.widget.set_shadow_type(gtk.SHADOW_NONE)
+        self.widget.get_accessible().set_name(attrs.get('string', ''))
+        vbox = gtk.VBox(homogeneous=False, spacing=2)
+        self.widget.add(vbox)
         self._readonly = True
         self._position = 0
         self._length = 0
@@ -175,7 +179,7 @@ class One2Many(Widget):
         frame = gtk.Frame()
         frame.add(hbox)
         frame.set_shadow_type(gtk.SHADOW_OUT)
-        self.widget.pack_start(frame, expand=False, fill=True)
+        vbox.pack_start(frame, expand=False, fill=True)
 
         self.screen = Screen(attrs['relation'],
             mode=attrs.get('mode', 'tree,form').split(','),
@@ -187,7 +191,7 @@ class One2Many(Widget):
         self.screen.pre_validate = bool(int(attrs.get('pre_validate', 0)))
         self.screen.signal_connect(self, 'record-message', self._sig_label)
 
-        self.widget.pack_start(self.screen.widget, expand=True, fill=True)
+        vbox.pack_start(self.screen.widget, expand=True, fill=True)
 
         self.screen.widget.connect('key_press_event', self.on_keypress)
         if self.attrs.get('add_remove'):
@@ -195,11 +199,6 @@ class One2Many(Widget):
 
         but_switch.props.sensitive = self.screen.number_of_views > 1
 
-    def _color_widget(self):
-        if hasattr(self.screen.current_view, 'treeview'):
-            return self.screen.current_view.treeview
-        return super(One2Many, self)._color_widget()
-
     def on_keypress(self, widget, event):
         if (event.keyval == gtk.keysyms.F3) \
                 and self.but_new.get_property('sensitive'):
@@ -238,21 +237,11 @@ class One2Many(Widget):
 
     def switch_view(self, widget):
         self.screen.switch_view()
-        self.color_set(self.color_name)
 
     @property
     def modified(self):
         return self.screen.current_view.modified
 
-    def color_set(self, name):
-        super(One2Many, self).color_set(name)
-        widget = self._color_widget()
-        # if the style to apply is different from readonly then insensitive
-        # cellrenderers should use the default insensitive color
-        if name != 'readonly':
-            widget.modify_text(gtk.STATE_INSENSITIVE,
-                    self.colors['text_color_insensitive'])
-
     def _readonly_set(self, value):
         self._readonly = value
         self._set_button_sensitive()
@@ -512,18 +501,17 @@ 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
-            if not self.screen.group.readonly and readonly:
-                self.screen.group.readonly = readonly
-            self.screen.size_limit = size_limit
+        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/progressbar.py b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
index a7edbc4..5a34a1c 100644
--- a/tryton/gui/window/view_form/view/form_gtk/progressbar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
@@ -1,8 +1,11 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
 import gtk
+import gettext
+
 from .widget import Widget
-import locale
+
+_ = gettext.gettext
 
 
 class ProgressBar(Widget):
@@ -16,7 +19,7 @@ class ProgressBar(Widget):
 
     def __init__(self, view, attrs):
         super(ProgressBar, self).__init__(view, attrs)
-        self.widget = gtk.ProgressBar()
+        self.widget = self.mnemonic_widget = gtk.ProgressBar()
         orientation = self.orientations.get(attrs.get('orientation',
             'left_to_right'), gtk.PROGRESS_LEFT_TO_RIGHT)
         self.widget.set_orientation(orientation)
@@ -27,7 +30,9 @@ class ProgressBar(Widget):
             self.widget.set_text('')
             self.widget.set_fraction(0.0)
             return False
-        value = float(field.get(record) or 0.0)
-        digits = field.digits(record)
-        self.widget.set_text(locale.format('%.*f', (digits[1], value), True))
-        self.widget.set_fraction(value / 100.0)
+        text = field.get_client(record, factor=100)
+        if text:
+            text = _('%s%%') % text
+        self.widget.set_text(text)
+        value = field.get(record) or 0.0
+        self.widget.set_fraction(value)
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 d997f8b..b6033cc 100644
--- a/tryton/gui/window/view_form/view/form_gtk/reference.py
+++ b/tryton/gui/window/view_form/view/form_gtk/reference.py
@@ -4,7 +4,9 @@ import gtk
 import gettext
 
 from .many2one import Many2One
-from tryton.common.selection import SelectionMixin, PopdownMixin
+from tryton.common.selection import SelectionMixin, PopdownMixin, \
+        selection_shortcuts
+from tryton.config import CONFIG
 
 _ = gettext.gettext
 
@@ -16,10 +18,14 @@ class Reference(Many2One, SelectionMixin, PopdownMixin):
 
         self.widget_combo = gtk.ComboBoxEntry()
         child = self.widget_combo.get_child()
-        child.set_editable(False)
-        child.connect('changed', self.sig_changed_combo)
-        self.widget.pack_start(self.widget_combo, expand=False, fill=True)
+        child.connect('activate', lambda *a: self._focus_out())
+        child.connect('focus-out-event', lambda *a: self._focus_out())
+        child.get_accessible().set_name(attrs.get('string', ''))
+        self.widget_combo.connect('changed', self.sig_changed_combo)
+        selection_shortcuts(self.widget_combo)
+        self.widget_combo.set_focus_chain([child])
 
+        self.widget.pack_start(self.widget_combo, expand=False, fill=True)
         self.widget.pack_start(gtk.Label('-'), expand=False, fill=False)
 
         self.init_selection()
@@ -41,14 +47,15 @@ class Reference(Many2One, SelectionMixin, PopdownMixin):
                 return model, name
         return '', ''
 
-    def _readonly_set(self, value):
-        super(Reference, self)._readonly_set(value)
-        if not value:
-            self.widget.set_focus_chain([self.widget_combo, self.wid_text])
-
     def _set_button_sensitive(self):
         super(Reference, self)._set_button_sensitive()
-        self.widget_combo.set_sensitive(not self._readonly)
+        self.widget_combo.child.set_editable(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']:
+            self.widget.set_focus_chain([])
+        else:
+            self.widget.unset_focus_chain()
 
     @property
     def modified(self):
@@ -121,17 +128,13 @@ class Reference(Many2One, SelectionMixin, PopdownMixin):
         else:
             model, value = None, None
         super(Reference, self).set_text(value)
-
-        active = -1
-        combo_model = self.widget_combo.get_model()
-        for i, selection in enumerate(combo_model):
-            if selection[1] == model:
-                active = i
-                break
-        self.widget_combo.set_active(active)
-        if active == -1:
-            # When setting no item GTK doesn't clear the entry
-            self.widget_combo.child.set_text('')
+        self.widget_combo.handler_block_by_func(self.sig_changed_combo)
+        if not self.set_popdown_value(self.widget_combo, model):
+            text = self.get_inactive_selection(model)
+            self.set_popdown(
+                self.selection[:] + [(model, text)], self.widget_combo)
+            self.set_popdown_value(self.widget_combo, value)
+        self.widget_combo.handler_unblock_by_func(self.sig_changed_combo)
 
     def display(self, record, field):
         self.update_selection(record, field)
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 d804f63..460387a 100644
--- a/tryton/gui/window/view_form/view/form_gtk/richtextbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/richtextbox.py
@@ -1,538 +1,289 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
+from gettext import gettext as _
 
 import gtk
-import pango
-import re
-from gettext import gettext as _
+
 from .textbox import TextBox
 from tryton.common import get_toplevel_window
+from tryton.common.htmltextbuffer import (serialize, deserialize,
+    setup_tags, normalize_markup, remove_tags, register_foreground,
+    FAMILIES, SIZE2SCALE, MIME)
+from tryton.config import CONFIG
 
-
-def formalize_text_markup(text):
-    '''This function formalize the text markup for editing and save data'''
-    # Formalize <span> tag
-    i = 0
-    stack = []
-    occurrence = 0
-    span_open = "<span (.+?)='(.+?)'>"
-    while i < len(text):
-        data = re.match(span_open, text[i:])
-        if data:
-            occurrence += 1
-            if not stack or occurrence == 1:
-                stack.append([data.start() + i, data.end() + i, occurrence])
-            else:
-                stack[-1][1] = data.end() + i
-                stack[-1][2] = occurrence
-            i += data.end()
-        else:
-            occurrence = 0
-            i += 1
-        if stack:
-            span_close = '</span>' * stack[-1][2]
-            data = re.search('^' + span_close, text[i:])
-            if data and stack[-1][2] > 1:
-                span = stack.pop()
-                text = re.sub(span_close, text[:i] + '</span>', text[i:], 1)
-                text = text[:span[0]] + re.sub('><span', '',
-                    text[span[0]:span[1]]) + text[span[1]:]
-                i += data.end()
-    # Special character
-    text = re.sub('<\x08', '</b', text)
-    # Formalize <p> tag
-    lines = text.split('\n')
-    align = "left"
-    for i in range(len(lines)):
-        while True:
-            data = re.search("<p( align='(?P<val>[a-z]{4,6})')?>", lines[i])
-            if data and data.group('val'):
-                align = data.group('val')
-                lines[i] = re.sub("<p( align='[a-z]{4,6}')?>", '', lines[i], 1)
-            else:
-                break
-        actual_align = "<p align='%s'>" % align
-        if re.search("</p>", lines[i]):
-            align = 'left'
-        lines[i] = re.sub('</p>', '', lines[i])
-        # If not exists any line add paragraph
-        if not re.search('^$', lines[i]):
-            lines[i] = actual_align + lines[i] + "</p>"
-    return '\n'.join(lines)
+SIZES = sorted(SIZE2SCALE.keys())
 
 
 class RichTextBox(TextBox):
-    '''Implements a rich text editor as widget to Tryton Client'''
 
     def __init__(self, view, attrs):
         super(RichTextBox, self).__init__(view, attrs)
-        self.table_tag = gtk.TextTagTable()
-        self.text_buffer = gtk.TextBuffer(self.table_tag)
+        self.text_buffer = gtk.TextBuffer()
+        setup_tags(self.text_buffer)
+        self.text_buffer.register_serialize_format(
+            MIME, serialize, None)
+        self.text_buffer.register_deserialize_format(
+            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.focus_out = True
-
-        tags = ('bold', 'italic', 'underline', 'font_family', 'size', 'left',
-            'center', 'right', 'fill', 'foreground', 'background', 'markup')
-        # Build all buttons
-        self.tools = {}
-        for tag in tags[:3]:
-            self.tools[tag] = gtk.ToggleToolButton('gtk-%s' % tag)
-        self.sizes = map(str, range(6, 33))
-        fonts = self.textview.get_pango_context().list_families()
-        self.families = sorted([font.get_name() for font in fonts])
-        for tag, values in zip(tags[3:5], (self.families, self.sizes)):
-            self.tools[tag] = gtk.ToolItem()
-            box = gtk.combo_box_new_text()
-            for value in values:
-                box.append_text(value)
-            box.set_focus_on_click(False)
-            self.tools[tag].add(box)
-        group = None
-        for tag in tags[5:9]:
-            self.tools[tag] = gtk.RadioToolButton(group,
-                'gtk-justify-%s' % tag)
-            if not group:
-                group = self.tools[tag]
-        for tag in tags[9:11]:
-            self.tools[tag] = gtk.ToolButton('tryton-text-%s' % tag)
-        self.tools['markup'] = gtk.ToggleToolButton('tryton-text-markup')
-        # Set properties to each button
-        tag_values = (
-            ('bold', 'weight', pango.WEIGHT_BOLD),
-            ('italic', 'style', pango.STYLE_ITALIC),
-            ('underline', 'underline', pango.UNDERLINE_SINGLE),
-            ('left', 'justification', gtk.JUSTIFY_LEFT),
-            ('center', 'justification', gtk.JUSTIFY_CENTER),
-            ('right', 'justification', gtk.JUSTIFY_RIGHT),
-            ('fill', 'justification', gtk.JUSTIFY_FILL),
-            )
-        self.text_tags = {}
-        for tag, name, prop in tag_values:
-            self.text_tags[tag] = gtk.TextTag(tag)
-            self.text_tags[tag].set_property(name, prop)
-            self.table_tag.add(self.text_tags[tag])
-        self.font_props = {
-            'font_family': {},
-            'size': {},
-            'foreground': {},
-            'background': {},
-            }
-        font_desc = self.textview.get_pango_context().get_font_description()
-        self.current_font_prop = {
-            'foreground': gtk.gdk.Color('#000'),
-            'background': gtk.gdk.Color('#fff'),
-            'font_family': font_desc.get_family(),
-            'size': str(font_desc.get_size() / pango.SCALE),
-            'justify': 'left',
-            }
-        self.tools['size'].child.set_active(self.sizes.index(
-            self.current_font_prop['size']))
-        font_family = self.current_font_prop['font_family']
-        if font_family in self.families:
-            self.tools['font_family'].child.set_active(self.families.index(
-                    font_family))
-        self.start_tags = {}
-        self.end_tags = {}
-        # Connect events
-        self.tool_ids = {}
-        for tag in tags[:3]:
-            self.tool_ids[tag] = self.tools[tag].connect('toggled',
-                self.action_style_font, self.text_tags[tag], tag)
-        for tag in tags[3:5]:
-            self.tool_ids[tag] = self.tools[tag].child.connect('changed',
-                self.action_prop_font, tag)
-        for tag in tags[5:9]:
-            self.tool_ids[tag] = self.tools[tag].connect('toggled',
-                self.action_justification, tag)
-        for tag in tags[9:11]:
-            self.tool_ids[tag] = self.tools[tag].connect('clicked',
-                self.action_prop_font, tag)
-        self.tool_ids['markup'] = self.tools['markup'].connect('toggled',
-            self.edit_text_markup)
-        self.insert_text_id = self.text_buffer.connect_after('insert-text',
-            self.persist_style)
-        # Tooltip text
-        self.tools['bold'].set_tooltip_text(_('Change text to bold'))
-        self.tools['italic'].set_tooltip_text(_('Change text to italic'))
-        self.tools['underline'].set_tooltip_text(_('Change text to underline'))
-        self.tools['font_family'].set_tooltip_text(_('Choose font-family'))
-        self.tools['size'].set_tooltip_text(_('Choose font-size'))
-        self.tools['left'].set_tooltip_text(_('Justify of line to the left'))
-        self.tools['center'].set_tooltip_text(
-            _('Justify of line to the center'))
-        self.tools['right'].set_tooltip_text(_('Justify of line to the right'))
-        self.tools['fill'].set_tooltip_text(
-            _('Justify of line to fill window'))
-        self.tools['foreground'].set_tooltip_text(
-            _('Change the foreground text'))
-        self.tools['background'].set_tooltip_text(
-            _('Change the background text'))
-        self.tools['markup'].set_tooltip_text(_('Change the markup text view'))
-        # Packing widgets
-        self.tool_bar = gtk.Toolbar()
-
-        self.tool_bar.set_style(gtk.TOOLBAR_ICONS)
-        for tag in tags:
-            self.tool_bar.insert(self.tools[tag], -1)
-        separator = gtk.SeparatorToolItem
-        for local in (3, 6, 11, 14):
-            self.tool_bar.insert(separator(), local)
-        self.widget.pack_start(self.tool_bar, False)
-
-    def get_value_markup(self):
-        if self.tools['markup'].get_active():
-            return self.get_value()
-        else:
-            return self.parser_to_text_markup(self.text_buffer)
+
+        self.toolbar = gtk.Toolbar()
+        self.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 = {}
+
+        for icon in ['bold', 'italic', 'underline']:
+            button = gtk.ToggleToolButton('gtk-%s' % icon)
+            button.connect('toggled', self.toggle_props, icon)
+            self.toolbar.insert(button, -1)
+            self.tag_widgets[icon] = button
+
+        self.toolbar.insert(gtk.SeparatorToolItem(), -1)
+
+        for name, options, active in [
+                ('family', FAMILIES, FAMILIES.index('normal')),
+                ('size', SIZES, SIZES.index('4')),
+                ]:
+            try:
+                combobox = gtk.ComboBoxText()
+            except AttributeError:
+                combobox = gtk.combo_box_new_text()
+            for option in options:
+                combobox.append_text(option)
+            combobox.set_active(active)
+            combobox.set_focus_on_click(False)
+            combobox.connect('changed', self.change_props, name)
+            tool = gtk.ToolItem()
+            tool.add(combobox)
+            self.toolbar.insert(tool, -1)
+            self.tag_widgets[name] = combobox
+
+        self.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)
+            button.set_active(icon == 'left')
+            button.connect('toggled', self.toggle_justification, name)
+            self.toolbar.insert(button, -1)
+            self.tag_widgets[name] = button
+
+        self.toolbar.insert(gtk.SeparatorToolItem(), -1)
+
+        self.colors = {}
+        for icon, label in [
+                ('foreground', _('Foreground')),
+                # TODO ('background', _('Background')),
+                ]:
+            button = gtk.ToolButton('tryton-text-%s' % icon)
+            button.set_label(label)
+            button.connect('clicked', self.toggle_color, icon)
+            self.toolbar.insert(button, -1)
+            self.tag_widgets[icon] = button
+
+    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)
 
     @property
     def modified(self):
         if self.record and self.field:
-            return (formalize_text_markup(self.field.get_client(self.record) or
-                    '') != self.get_value_markup())
+            value = normalize_markup(self.field.get_client(self.record) or '')
+            return value != self.get_value()
         return False
 
-    def set_value(self, record, field):
-        # Popup for font_family and size should not trigger set_value from
-        # Form.leave otherwise the selection is lost
-        for tag in ('font_family', 'size'):
-            tool = self.tools[tag]
-            if (hasattr(tool.child.props, 'popup_shown')
-                    and tool.child.props.popup_shown):
-                return
-        if self.modified:
-            field.set_client(record, self.get_value_markup())
-
     def set_buffer(self, value):
-        self.text_buffer.handler_block(self.insert_text_id)
-        if self.tools['markup'].get_active():
-            super(RichTextBox, self).set_buffer(value)
-        else:
-            text_buffer, deserial = self.parser_from_text_markup(value)
-            self.text_buffer.deserialize(self.text_buffer, deserial,
-                self.text_buffer.get_start_iter(),
-                text_buffer.serialize(text_buffer,
-                    "application/x-gtk-text-buffer-rich-text",
-                    text_buffer.get_start_iter(), text_buffer.get_end_iter()))
-        self.text_buffer.handler_unblock(self.insert_text_id)
-
-    def _focus_out(self):
-        if not self.focus_out:
-            return
-        # Popup for font_family and size should not trigger focus_out
-        # otherwise the selection is lost
-        for tag in ('font_family', 'size'):
-            tool = self.tools[tag]
-            if (hasattr(tool.child.props, 'popup_shown')
-                    and tool.child.props.popup_shown):
-                return
-        super(RichTextBox, self)._focus_out()
+        self.text_buffer.handler_block_by_func(self.insert_text_style)
+        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)
+        self.text_buffer.handler_unblock_by_func(self.insert_text_style)
 
     def _readonly_set(self, value):
         super(RichTextBox, self)._readonly_set(value)
-        self.tool_bar.set_sensitive(not value)
-        if value and self.tools['markup'].get_active():
-            self.tools['markup'].set_active(False)
-
-    def edit_text_markup(self, widget):
-        '''on/off all buttons and call the appropriate parser'''
-        tags = [tag for tag in self.tools if tag != 'markup']
-        if widget.get_active():
-            for tag in tags:
-                self.tools[tag].set_sensitive(False)
-            text = self.parser_to_text_markup(self.text_buffer)
-            self.start_tags.clear()
-            self.end_tags.clear()
-        else:
-            for tag in tags:
-                self.tools[tag].set_sensitive(True)
-            text = self.text_buffer.get_text(self.text_buffer.get_start_iter(),
-                self.text_buffer.get_end_iter()).decode('utf-8')
-        self.set_buffer(text)
-
-    def parser_to_text_markup(self, buffer_):
-        '''Parser from rich text view to text markup'''
-        text_buffer = gtk.TextBuffer(self.table_tag)
-        deserial = text_buffer.register_deserialize_tagset()
-        text_buffer.deserialize(text_buffer, deserial,
-            text_buffer.get_start_iter(), buffer_.serialize(
-                buffer_, "application/x-gtk-text-buffer-rich-text",
-                buffer_.get_start_iter(), buffer_.get_end_iter()))
-        locks = {'bold': False, 'italic': False, 'underline': False,
-            'left': False, 'right': False, 'center': False, 'fill': False}
-        for prop in self.font_props:
-            for tag_name in self.font_props[prop]:
-                locks["%s %s" % (prop, tag_name)] = False
-        imark = text_buffer.get_start_iter()
-        while True:
-            begin_mark = text_buffer.create_mark(None, imark, False)
-            end_mark = text_buffer.create_mark(None, imark, True)
-            for tag in ('bold', 'italic', 'underline'):
-                imark = text_buffer.get_iter_at_mark(begin_mark)
-                if imark.begins_tag(self.text_tags[tag]) and not locks[tag]:
-                    text_buffer.insert(imark, "<%s>" % tag[0])
-                    locks[tag] = True
-                imark = text_buffer.get_iter_at_mark(end_mark)
-                if imark.ends_tag(self.text_tags[tag]) and locks[tag]:
-                    text_buffer.insert(imark, "</%s>" % tag[0])
-                    locks[tag] = False
-            for tag in ('left', 'right', 'center', 'fill'):
-                imark = text_buffer.get_iter_at_mark(begin_mark)
-                if imark.begins_tag(self.text_tags[tag]) and not locks[tag]:
-                    text_buffer.insert(imark, "<p align='%s'>" % tag)
-                    locks[tag] = True
-                imark = text_buffer.get_iter_at_mark(end_mark)
-                if imark.ends_tag(self.text_tags[tag]) and locks[tag]:
-                    text_buffer.insert(imark, "</p>")
-                    locks[tag] = False
-            for tag in ('font_family', 'size', 'foreground', 'background'):
-                for name, prop in self.font_props[tag].items():
-                    imark = text_buffer.get_iter_at_mark(end_mark)
-                    if (imark.begins_tag(prop)
-                            and not locks['%s %s' % (tag, name)]):
-                        locks['%s %s' % (tag, name)] = True
-                        text_buffer.insert(imark,
-                            "<span %s='%s'>" % (tag, name))
-                    imark = text_buffer.get_iter_at_mark(end_mark)
-                    if imark.ends_tag(prop) and locks['%s %s' % (tag, name)]:
-                        locks['%s %s' % (tag, name)] = False
-                        text_buffer.insert(imark, "</span>")
-            imark = text_buffer.get_iter_at_mark(end_mark)
-            if not imark.forward_to_tag_toggle(None):
-                break
-        text = text_buffer.get_text(text_buffer.get_start_iter(),
-            text_buffer.get_end_iter()).decode('utf-8')
-        return formalize_text_markup(text)
-
-    def parser_from_text_markup(self, text):
-        '''Parser from text markup to rich text view'''
-        text_buffer = gtk.TextBuffer(self.table_tag)
-        text_buffer.set_text(text)
-        tags = []
-        open_re = '<(?P<tag>\w{1,4})(?P<attrs> .+?)?>'
-        create_mark = lambda pos: text_buffer.create_mark(None,
-            text_buffer.get_iter_at_offset(pos), True)
-        tag_names = {'b': 'bold', 'i': 'italic', 'u': 'underline',
-            'p': 'justify', 'size': 'size', 'font_family': 'font_family',
-            'foreground': 'foreground', 'background': 'background'}
-        while re.search(open_re, text):
-            data_open = re.search(open_re, text)
-            tag = data_open.group('tag')
-            attributes = data_open.group('attrs')
-            text = re.sub(open_re, '', text, 1)
-            text_buffer.delete(text_buffer.get_iter_at_offset(
-                data_open.start()), text_buffer.get_iter_at_offset(
-                    data_open.end()))
-            close_re = '</%s>' % tag
-            data_close = re.search(close_re, text)
-            if data_close:
-                text = re.sub(close_re, '', text, 1)
-                text_buffer.delete(text_buffer.get_iter_at_offset(
-                    data_close.start()), text_buffer.get_iter_at_offset(
-                        data_close.end()))
-                start = create_mark(data_open.start())
-                end = create_mark(data_close.start())
-                if tag in ('b', 'i', 'u'):
-                    tags.append((start, end, tag_names[tag], None))
-                elif tag == 'p':
-                    val = re.search("align='(\w{,6})'", attributes)
-                    if val:
-                        tags.append((start, end, tag_names[tag], val.group(1)))
-                elif tag == 'span':
-                    attrs_re = " ([\w_]{4,11})='(.+?)'"
-                    while re.search(attrs_re, attributes):
-                        data = re.search(attrs_re, attributes)
-                        att, val = data.group(1), data.group(2)
-                        attributes = re.sub(attrs_re, '', attributes, 1)
-                        tags.append((start, end, tag_names[att], val))
-        for start, end, tag, value in tags:
-            start = text_buffer.get_iter_at_mark(start)
-            end = text_buffer.get_iter_at_mark(end)
-            if tag in ('bold', 'italic', 'underline'):
-                text_buffer.apply_tag(self.text_tags[tag], start, end)
-            elif tag in ('font_family', 'size', 'foreground', 'background'):
-                text_buffer.apply_tag(self.gen_tag(value, tag), start, end)
-            else:  # tag <p>
-                line = text_buffer.get_iter_at_line(start.get_line())
-                text_buffer.apply_tag_by_name(value, line, end)
-        self.text_buffer.set_text('')
-        deserial = self.text_buffer.register_deserialize_tagset()
-        return text_buffer, deserial
-
-    def gen_tag(self, val, tag):
-        '''
-        Generates tags according tag values (foreground, background,
-        font-family, font-size)
-        '''
-        key = "%s %s" % (tag, val)
-        prop = {'foreground': 'foreground', 'background': 'background',
-                'font_family': 'family', 'size': 'size-points'}
+        self.toolbar.set_sensitive(not value)
+
+    def detect_style(self, *args):
         try:
-            self.font_props[tag][str(val)]
-        except KeyError:
-            self.font_props[tag][str(val)] = gtk.TextTag(key)
+            start, end = self.text_buffer.get_selection_bounds()
+        except ValueError:
+            start = end = self.text_buffer.get_iter_at_mark(
+                self.text_buffer.get_insert())
+
+        def toggle_button(name, values):
             try:
-                self.font_props[tag][str(val)].set_property(prop[tag], val)
-            except TypeError:
-                self.font_props[tag][str(val)].set_property(prop[tag],
-                    int(val))
-            self.table_tag.add(self.font_props[tag][str(val)])
-        return self.font_props[tag][str(val)]
+                value, = values
+            except ValueError:
+                value = False
+            button = self.tag_widgets[name]
+            button.handler_block_by_func(self.toggle_props)
+            button.set_active(value)
+            button.handler_unblock_by_func(self.toggle_props)
 
-    def detect_style(self, *args):
-        '''
-        Detect the styles of text when cursor is clicked in differents parts of
-        text area
-        '''
-        local = self.text_buffer.get_iter_at_mark(
-            self.text_buffer.get_insert())
-        local.backward_char()
-        current_tags = local.get_tags()
-        locks = {'bold': False, 'italic': False, 'underline': False}
-        font_desc = self.textview.get_pango_context().get_font_description()
-        font_name = font_desc.get_family()
-        size_name = str(font_desc.get_size() / pango.SCALE)
-        justify, justify_type = True, 'left'
-        for tag in current_tags:
-            if tag.get_property('weight-set'):
-                locks['bold'] = True
-            elif tag.get_property('style-set'):
-                locks['italic'] = True
-            elif tag.get_property('underline-set'):
-                locks['underline'] = True
-            elif tag.get_property('family-set'):
-                font_name = tag.get_property('family')
-            elif tag.get_property('size-set'):
-                size_name = str(int(tag.get_property('size-points')))
-            elif tag.get_property('justification'):
-                justify = True
-                justify_type = tag.get_property('justification').value_nick
-        for tag in ('bold', 'italic', 'underline'):
-            self.tools[tag].handler_block(self.tool_ids[tag])
-            self.tools[tag].set_active(locks[tag])
-            self.tools[tag].handler_unblock(self.tool_ids[tag])
-        for tag, attr, name in (('font_family', self.families, font_name),
-        ('size', self.sizes, size_name)):
-            self.tools[tag].child.handler_block(self.tool_ids[tag])
-            self.tools[tag].child.set_active(attr.index(name))
-            self.tools[tag].child.handler_unblock(self.tool_ids[tag])
-        if justify_type != self.current_font_prop['justify']:
-            tags = ('left', 'center', 'right', 'fill')
-            for tag in tags:
-                self.tools[tag].handler_block(self.tool_ids[tag])
-            self.tools[justify_type].set_active(justify)
-            for tag in tags:
-                self.tools[tag].handler_unblock(self.tool_ids[tag])
-            self.current_font_prop['justify'] = justify_type
-
-    def persist_style(self, *args):
-        '''Persistence of style when it is insert some text'''
-        for tag in self.start_tags:
-            start = self.text_buffer.get_iter_at_mark(self.start_tags[tag])
-            end = self.text_buffer.get_iter_at_mark(self.end_tags[tag])
-            justify_tags = ('left', 'center', 'right', 'fill')
-            if tag in ('bold', 'italic', 'underline'):
-                self.text_buffer.apply_tag_by_name(tag, start, end)
-            elif tag in ('foreground', 'background', 'font_family', 'size'):
-                self.text_buffer.apply_tag(self.gen_tag(
-                    self.current_font_prop[tag], tag), start, end)
-            elif tag in justify_tags:
-                self.text_buffer.apply_tag_by_name(tag, start, end)
-
-    def action_style_font(self, widget, texttag, tag):
-        '''
-        Apply style to text (selected or not) tag (bold, italic, underline)
-        widget (button was clicked) texttag (correct tag in this method)
-        '''
-        if widget.get_active():
-            if self.text_buffer.get_selection_bounds():
-                start, end = self.text_buffer.get_selection_bounds()
-                self.text_buffer.apply_tag(texttag, start, end)
+        def set_combobox(name, indexes):
+            try:
+                index, = indexes
+            except ValueError:
+                index = -1
+            combobox = self.tag_widgets[name]
+            combobox.handler_block_by_func(self.change_props)
+            combobox.set_active(index)
+            combobox.handler_unblock_by_func(self.change_props)
+
+        def toggle_justification(names, value):
+            if len(names) != 1:
+                value = False
+            for name in names:
+                button = self.tag_widgets[name]
+                button.handler_block_by_func(self.toggle_justification)
+                button.set_active(value)
+                button.handler_unblock_by_func(self.toggle_justification)
+
+        bolds, italics, underlines = set(), set(), set()
+        families, sizes, justifications = set(), set(), set()
+
+        iter_ = start.copy()
+        while True:
+            bold, italic, underline = False, False, False
+            family = FAMILIES.index('normal')
+            size = SIZES.index('4')
+            justification = 'left'
+
+            for tag in iter_.get_tags():
+                if not tag.props.name:
+                    continue
+                elif tag.props.name == 'bold':
+                    bold = True
+                elif tag.props.name == 'italic':
+                    italic = True
+                elif tag.props.name == 'underline':
+                    underline = True
+                elif tag.props.name.startswith('family'):
+                    _, family = tag.props.name.split()
+                    family = FAMILIES.index(family)
+                elif tag.props.name.startswith('size'):
+                    _, size = tag.props.name.split()
+                    size = SIZES.index(size)
+                elif tag.props.name.startswith('justification'):
+                    _, justification = tag.props.name.split()
+            bolds.add(bold)
+            italics.add(italic)
+            underlines.add(underline)
+            families.add(family)
+            sizes.add(size)
+            justifications.add(justification)
+
+            iter_.forward_char()
+            if iter_.compare(end) > 0:
+                iter_ = end
+            if iter_.compare(end) == 0:
+                break
+
+        for name, values in [
+                ('bold', bolds),
+                ('italic', italics),
+                ('underline', underlines)]:
+            toggle_button(name, values)
+        set_combobox('family', families)
+        set_combobox('size', sizes)
+        toggle_justification(justifications, True)
+
+    def insert_text_style(self, text_buffer, iter_, text, length):
+        # Text is already inserted so iter_ point to the end
+        start = iter_.copy()
+        start.backward_chars(length)
+        end = iter_.copy()
+        # Apply tags activated from toolbar
+        for name, widget in self.tag_widgets.iteritems():
+            self._apply_tool(name, widget, start, end)
+
+    def _apply_tool(self, name, tool, start, end):
+        # First test RadioToolButton as they inherit from ToggleToolButton
+        if isinstance(tool, gtk.RadioToolButton):
+            name = 'justification %s' % name
+            if not tool.get_active():
+                remove_tags(self.text_buffer, start, end, name)
             else:
-                mark = self.text_buffer.get_iter_at_mark(
-                    self.text_buffer.get_insert())
-                start = self.text_buffer.create_mark(None, mark, True)
-                end = self.text_buffer.create_mark(None, mark, False)
-                self.start_tags[tag] = start
-                self.end_tags[tag] = end
-        else:
-            if self.text_buffer.get_selection_bounds():
-                start, end = self.text_buffer.get_selection_bounds()
-                self.text_buffer.remove_tag_by_name(tag, start, end)
+                remove_tags(self.text_buffer, start, end, 'justification')
+                self.text_buffer.apply_tag_by_name(name, start, end)
+        elif isinstance(tool, gtk.ToggleToolButton):
+            if tool.get_active():
+                self.text_buffer.apply_tag_by_name(name, start, end)
             else:
-                if tag in self.start_tags:
-                    del(self.start_tags[tag], self.end_tags[tag])
+                self.text_buffer.remove_tag_by_name(name, start, end)
+        elif isinstance(tool, gtk.ComboBox):
+            value = tool.get_active_text()
+            remove_tags(self.text_buffer, start, end, name)
+            name = '%s %s' % (name, value)
+            self.text_buffer.apply_tag_by_name(name, start, end)
 
-    def action_justification(self, widget, tag):
-        '''Justify text of different tags (left, right, center, fill)'''
-        if self.text_buffer.get_selection_bounds():
+    def toggle_props(self, toggle, name):
+        try:
             start, end = self.text_buffer.get_selection_bounds()
-            line = start.get_line()
-            iter_line = self.text_buffer.get_iter_at_line(line)
-            if not end.ends_line():
-                end.forward_to_line_end()
-            self.text_buffer.apply_tag_by_name(tag, iter_line, end)
-        else:
-            mark = self.text_buffer.get_iter_at_mark(
-                self.text_buffer.get_insert())
-            start = self.text_buffer.create_mark(None, mark, True)
-            end = self.text_buffer.get_iter_at_mark(start)
-            if not end.ends_line():
-                end.forward_to_line_end()
-            line = end.get_line()
-            iter_line = self.text_buffer.get_iter_at_line(line)
-        if widget.get_active():
-            self.start_tags[tag] = self.text_buffer.create_mark(None,
-                iter_line, True)
-            self.end_tags[tag] = self.text_buffer.create_mark(None, end, False)
-            self.text_buffer.apply_tag_by_name(tag, iter_line, end)
-        else:
-            self.text_buffer.remove_tag_by_name(tag, iter_line, end)
-            if tag in self.start_tags:
-                del(self.start_tags[tag], self.end_tags[tag])
-        self.current_font_prop['justify'] = tag
-
-    def action_prop_font(self, widget, tag):
-        '''
-        Apply style to text (selected or not) tag (color foreground, color
-        background, font-family and font-size)
-        '''
-        content = None
-        if tag in ['foreground', 'background']:
-            # Deactivate focus_out to not lose selection
-            self.focus_out = False
-            labels = {
-                'foreground': _('Select a foreground color'),
-                'background': _('Select a background color'),
-                }
-            dialog = gtk.ColorSelectionDialog(labels[tag])
-            dialog.set_transient_for(get_toplevel_window())
-            dialog.set_resizable(False)
-            dialog.colorsel.set_has_palette(True)
-            dialog.colorsel.set_current_color(self.current_font_prop[tag])
-            res = dialog.run()
-            if res == gtk.RESPONSE_OK:
-                content = dialog.colorsel.get_current_color()
-                self.current_font_prop[tag] = content
-            dialog.destroy()
-            self.focus_out = True
-        else:
-            content = self.tools[tag].child.get_active_text()
-            font = self.current_font_prop[tag]
-            self.current_font_prop[tag] = content
-        bounds = self.text_buffer.get_selection_bounds()
-        if bounds:
-            start, end = bounds
-            if tag in ('font_family', 'size'):
-                self.text_buffer.remove_tag(
-                    self.gen_tag(font, tag), start, end)
-            self.text_buffer.apply_tag(self.gen_tag(content, tag), start, end)
+        except ValueError:
+            return
+        self._apply_tool(name, toggle, start, end)
+
+    def change_props(self, combobox, name):
+        try:
+            start, end = self.text_buffer.get_selection_bounds()
+        except ValueError:
+            return
+        self._apply_tool(name, combobox, start, end)
+
+    def toggle_justification(self, button, name):
+        try:
+            start, end = self.text_buffer.get_selection_bounds()
+        except ValueError:
+            insert = self.text_buffer.get_insert()
+            start = self.text_buffer.get_iter_at_mark(insert)
+            end = start.copy()
+        start.set_line_offset(0)
+        if not end.ends_line():
+            end.forward_to_line_end()
+        self._apply_tool(name, button, start, end)
+
+    def toggle_color(self, button, name):
+        insert = self.text_buffer.get_insert()
+        try:
+            start, end = self.text_buffer.get_selection_bounds()
+        except ValueError:
+            start = end = None
         else:
-            mark = self.text_buffer.get_iter_at_mark(
-                self.text_buffer.get_insert())
-            start = self.text_buffer.create_mark(None, mark, True)
-            end = self.text_buffer.create_mark(None, mark, False)
-            self.start_tags[tag] = start
-            self.end_tags[tag] = end
+            # Use offset position to preserve across buffer modification
+            start = start.get_offset()
+            end = end.get_offset()
+
+        dialog = gtk.ColorSelectionDialog(_('Select a color'))
+        dialog.set_transient_for(get_toplevel_window())
+        dialog.colorsel.set_has_palette(True)
+        color = self.colors.get(name)
+        if color:
+            dialog.colorsel.set_current_color(color)
+        if dialog.run() == gtk.RESPONSE_OK:
+            color = dialog.colorsel.get_current_color()
+            self.colors[name] = color
+            if start is not None and end is not None:
+                start = self.text_buffer.get_iter_at_offset(start)
+                end = self.text_buffer.get_iter_at_offset(end)
+                tag = register_foreground(self.text_buffer, color)
+                remove_tags(self.text_buffer, start, end, name)
+                self.text_buffer.apply_tag(tag, start, end)
+        dialog.destroy()
+        self.text_buffer.place_cursor(
+            self.text_buffer.get_iter_at_mark(insert))
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 78e2a28..2c5334f 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.config import CONFIG
 
 
 class Selection(Widget, SelectionMixin, PopdownMixin):
@@ -15,7 +16,7 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
 
         self.widget = gtk.HBox(spacing=3)
         self.entry = gtk.ComboBoxEntry()
-        child = self.entry.child
+        child = self.mnemonic_widget = self.entry.child
         child.set_property('activates_default', True)
         child.set_max_length(int(attrs.get('size', 0)))
         child.set_width_chars(10)
@@ -41,10 +42,13 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
 
     def _readonly_set(self, value):
         super(Selection, self)._readonly_set(value)
-        self.entry.set_sensitive(not value)
-
-    def _color_widget(self):
-        return self.entry.child
+        self.entry.child.set_editable(not value)
+        self.entry.set_button_sensitivity(
+            gtk.SENSITIVITY_OFF if value else gtk.SENSITIVITY_AUTO)
+        if value and CONFIG['client.fast_tabbing']:
+            self.widget.set_focus_chain([])
+        else:
+            self.widget.unset_focus_chain()
 
     def get_value(self):
         if not self.entry.child:  # entry is destroyed
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 1d28e29..67a731d 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,6 +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 gtk
+import pango
 
 
 class StateMixin(object):
@@ -24,13 +25,35 @@ class Label(StateMixin, gtk.Label):
 
     def state_set(self, record):
         super(Label, self).state_set(record)
-        if not self.attrs.get('string', True) and 'name' in self.attrs:
+        if 'name' in self.attrs and record:
+            field = record.group.fields[self.attrs['name']]
+        else:
+            field = None
+        if not self.attrs.get('string', True) and field:
             if record:
-                field = record.group.fields[self.attrs['name']]
                 text = field.get_client(record) or ''
             else:
                 text = ''
             self.set_text(text)
+        if record:
+            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))
+        self.set_attributes(attrlist)
 
 
 class VBox(StateMixin, gtk.VBox):
@@ -68,7 +91,6 @@ class Notebook(StateMixin, gtk.Notebook):
             for widgets in self.widgets.itervalues():
                 for widget in widgets:
                     widget._readonly_set(True)
-                    widget.color_set('readonly')
 
 
 class Alignment(gtk.Alignment):
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 9fdd8d3..f141dd8 100644
--- a/tryton/gui/window/view_form/view/form_gtk/textbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/textbox.py
@@ -23,7 +23,7 @@ class TextBox(Widget, TranslateMixin):
         self.scrolledwindow.set_shadow_type(gtk.SHADOW_ETCHED_IN)
         self.scrolledwindow.set_size_request(-1, 80)
 
-        self.textview = self._get_textview()
+        self.textview = self.mnemonic_widget = self._get_textview()
         self.textview.connect('focus-out-event',
             lambda x, y: self._focus_out())
         self.textview.connect('key-press-event', self.send_modified)
@@ -87,10 +87,10 @@ class TextBox(Widget, TranslateMixin):
         self.textview.set_editable(not value)
         if self.button:
             self.button.set_sensitive(not value)
-        if value:
+        if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
-            self.widget.set_focus_chain([self.textview])
+            self.widget.unset_focus_chain()
         if gtkspell:
             spell = None
             try:
@@ -118,9 +118,6 @@ class TextBox(Widget, TranslateMixin):
                 spell.detach()
                 del spell
 
-    def _color_widget(self):
-        return self.textview
-
     @property
     def modified(self):
         if self.record and self.field:
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 f82bd87..279425a 100644
--- a/tryton/gui/window/view_form/view/form_gtk/timedelta.py
+++ b/tryton/gui/window/view_form/view/form_gtk/timedelta.py
@@ -2,6 +2,7 @@
 # this repository contains the full copyright notices and license terms.
 import gtk
 
+from tryton.config import CONFIG
 from .widget import Widget
 
 
@@ -11,7 +12,7 @@ class TimeDelta(Widget):
         super(TimeDelta, self).__init__(view, attrs)
 
         self.widget = gtk.HBox()
-        self.entry = gtk.Entry()
+        self.entry = self.mnemonic_widget = gtk.Entry()
         self.entry.set_alignment(1.0)
         self.entry.set_property('activates_default', True)
 
@@ -20,9 +21,6 @@ class TimeDelta(Widget):
         self.entry.connect('key-press-event', self.send_modified)
         self.widget.pack_start(self.entry)
 
-    def _color_widget(self):
-        return self.entry
-
     @property
     def modified(self):
         if self.record and self.field:
@@ -48,7 +46,7 @@ class TimeDelta(Widget):
     def _readonly_set(self, value):
         super(TimeDelta, self)._readonly_set(value)
         self.entry.set_editable(not value)
-        if value:
+        if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
-            self.widget.set_focus_chain([self.entry])
+            self.widget.unset_focus_chain()
diff --git a/tryton/gui/window/view_form/view/form_gtk/url.py b/tryton/gui/window/view_form/view/form_gtk/url.py
index 39a834d..315a2f7 100644
--- a/tryton/gui/window/view_form/view/form_gtk/url.py
+++ b/tryton/gui/window/view_form/view/form_gtk/url.py
@@ -4,6 +4,7 @@ import gtk
 from .char import Char
 import webbrowser
 import tryton.common as common
+from tryton.config import CONFIG
 
 
 class URL(Char):
@@ -50,9 +51,11 @@ class URL(Char):
         super(URL, self)._readonly_set(value)
         if value:
             self.entry.hide()
-            self.widget.set_focus_chain([self.button])
         else:
             self.entry.show()
+        if value and CONFIG['client.fast_tabbing']:
+            self.widget.set_focus_chain([self.button])
+        else:
             self.widget.set_focus_chain([self.entry])
         self.button.set_sensitive(True)
 
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 0ec5b83..21d3b8c 100644
--- a/tryton/gui/window/view_form/view/form_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/form_gtk/widget.py
@@ -4,7 +4,6 @@ import gtk
 import gobject
 import gettext
 
-from tryton.common import COLORS
 import tryton.common as common
 from tryton.gui.window.nomodal import NoModal
 from tryton.common import TRYTON_ICON
@@ -21,9 +20,8 @@ class Widget(object):
         self.view = view
         self.attrs = attrs
         self.widget = None
-        self.colors = {}
+        self.mnemonic_widget = None
         self.visible = True
-        self.color_name = None
 
     @property
     def field_name(self):
@@ -52,9 +50,6 @@ class Widget(object):
     def _readonly_set(self, readonly):
         pass
 
-    def _color_widget(self):
-        return self.widget
-
     def _invisible_widget(self):
         return self.widget
 
@@ -77,55 +72,6 @@ class Widget(object):
         gobject.idle_add(get_value)
         return False
 
-    def color_set(self, name):
-        self.color_name = name
-        widget = self._color_widget()
-
-        if not self.colors:
-            style = widget.get_style()
-            self.colors = {
-                'bg_color_active': style.bg[gtk.STATE_ACTIVE],
-                'bg_color_insensitive': style.bg[gtk.STATE_INSENSITIVE],
-                'base_color_normal': style.base[gtk.STATE_NORMAL],
-                'base_color_insensitive': style.base[gtk.STATE_INSENSITIVE],
-                'fg_color_normal': style.fg[gtk.STATE_NORMAL],
-                'fg_color_insensitive': style.fg[gtk.STATE_INSENSITIVE],
-                'text_color_normal': style.text[gtk.STATE_NORMAL],
-                'text_color_insensitive': style.text[gtk.STATE_INSENSITIVE],
-            }
-
-        if COLORS.get(name):
-            colormap = widget.get_colormap()
-            bg_color = colormap.alloc_color(COLORS.get(name, 'white'))
-            fg_color = gtk.gdk.color_parse("black")
-            widget.modify_bg(gtk.STATE_ACTIVE, bg_color)
-            widget.modify_base(gtk.STATE_NORMAL, bg_color)
-            widget.modify_fg(gtk.STATE_NORMAL, fg_color)
-            widget.modify_text(gtk.STATE_NORMAL, fg_color)
-            widget.modify_text(gtk.STATE_INSENSITIVE, fg_color)
-        elif name == 'readonly':
-            widget.modify_bg(gtk.STATE_ACTIVE,
-                    self.colors['bg_color_insensitive'])
-            widget.modify_base(gtk.STATE_NORMAL,
-                    self.colors['base_color_insensitive'])
-            widget.modify_fg(gtk.STATE_NORMAL,
-                    self.colors['fg_color_insensitive'])
-            widget.modify_text(gtk.STATE_NORMAL,
-                    self.colors['text_color_normal'])
-            widget.modify_text(gtk.STATE_INSENSITIVE,
-                    self.colors['text_color_normal'])
-        else:
-            widget.modify_bg(gtk.STATE_ACTIVE,
-                    self.colors['bg_color_active'])
-            widget.modify_base(gtk.STATE_NORMAL,
-                    self.colors['base_color_normal'])
-            widget.modify_fg(gtk.STATE_NORMAL,
-                    self.colors['fg_color_normal'])
-            widget.modify_text(gtk.STATE_NORMAL,
-                    self.colors['text_color_normal'])
-            widget.modify_text(gtk.STATE_INSENSITIVE,
-                    self.colors['text_color_normal'])
-
     def invisible_set(self, value):
         widget = self._invisible_widget()
         if value and value != '0':
@@ -152,14 +98,6 @@ class Widget(object):
         if self.view.screen.readonly:
             readonly = True
         self._readonly_set(readonly)
-        if readonly:
-            self.color_set('readonly')
-        elif not field.get_state_attrs(record).get('valid', True):
-            self.color_set('invalid')
-        elif field.get_state_attrs(record).get('required', False):
-            self.color_set('required')
-        else:
-            self.color_set('normal')
         self.invisible_set(self.attrs.get('invisible',
             field.get_state_attrs(record).get('invisible', False)))
 
@@ -200,7 +138,7 @@ class TranslateDialog(NoModal):
             else:
                 label = language['name'] + _(':')
             label = gtk.Label(label)
-            label.set_alignment(1.0, 0.5)
+            label.set_alignment(1.0, 0.0 if self.widget.expand else 0.5)
             table.attach(label, 0, 1, i, i + 1, xoptions=gtk.FILL)
 
             context = dict(
@@ -223,9 +161,13 @@ class TranslateDialog(NoModal):
             except RPCException:
                 return
             widget = self.widget.translate_widget()
+            label.set_mnemonic_widget(widget)
             self.widget.translate_widget_set(widget, fuzzy_value)
             self.widget.translate_widget_set_readonly(widget, True)
-            table.attach(widget, 1, 2, i, i + 1)
+            yopt = 0
+            if self.widget.expand:
+                yopt |= gtk.EXPAND | gtk.FILL
+            table.attach(widget, 1, 2, i, i + 1, yoptions=yopt)
             editing = gtk.CheckButton()
             editing.connect('toggled', self.editing_toggled, widget)
             tooltips.set_tip(editing, _('Edit'))
@@ -239,7 +181,7 @@ class TranslateDialog(NoModal):
 
         tooltips.enable()
         vbox = gtk.VBox()
-        vbox.pack_start(table, False, True)
+        vbox.pack_start(table, self.widget.expand, True)
         viewport = gtk.Viewport()
         viewport.set_shadow_type(gtk.SHADOW_NONE)
         viewport.add(vbox)
diff --git a/tryton/gui/window/view_form/view/graph.py b/tryton/gui/window/view_form/view/graph.py
index 3430947..6886674 100644
--- a/tryton/gui/window/view_form/view/graph.py
+++ b/tryton/gui/window/view_form/view/graph.py
@@ -1,14 +1,13 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
 import sys
-import os
 
 import gtk
 import gettext
 
 from . import View
 from tryton.common import node_attributes, get_toplevel_window, message
-from tryton.config import TRYTON_ICON, CONFIG
+from tryton.config import TRYTON_ICON
 from .graph_gtk.bar import VerticalBar, HorizontalBar
 from .graph_gtk.line import Line
 from .graph_gtk.pie import Pie
@@ -134,7 +133,6 @@ class ViewGraph(View):
         dia.vbox.pack_start(table)
 
         filechooser = gtk.FileChooserWidget(gtk.FILE_CHOOSER_ACTION_SAVE, None)
-        filechooser.set_current_folder(CONFIG['client.default_path'])
         filter = gtk.FileFilter()
         filter.set_name(_('PNG image (*.png)'))
         filter.add_mime_type('image/png')
@@ -149,14 +147,6 @@ class ViewGraph(View):
             width = spinwidth.get_value_as_int()
             height = spinheight.get_value_as_int()
             filename = filechooser.get_filename()
-            if filename:
-                filename = filename.decode('utf-8')
-                try:
-                    CONFIG['client.default_path'] = \
-                        os.path.dirname(filename)
-                    CONFIG.save()
-                except IOError:
-                    pass
             if response == gtk.RESPONSE_OK:
                 if width and height and filename:
                     if not filename.endswith('.png'):
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 642a55e..67d7c10 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/graph.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/graph.py
@@ -355,8 +355,18 @@ class Graph(gtk.DrawingArea):
                 minx = x
             if not maxx:
                 maxx = x
-            minx = min(minx, x)
-            maxx = max(maxx, x)
+            if minx is None and maxx is None:
+                if isinstance(x, datetime.datetime):
+                    minx, maxx = datetime.datetime.min, datetime.datetime.max
+                elif isinstance(x, datetime.date):
+                    minx, maxx = datetime.date.min, datetime.date.max
+                elif isinstance(x, datetime.timedelta):
+                    minx, maxx = datetime.timedelta.min, datetime.timedelta.max
+            try:
+                minx = min(minx, x)
+                maxx = max(maxx, x)
+            except TypeError:
+                continue
             self.labels[x] = model[self.xfield['name']].get_client(model)
             self.ids.setdefault(x, [])
             self.ids[x].append(model.id)
diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py
index ffcc948..c70a992 100644
--- a/tryton/gui/window/view_form/view/list.py
+++ b/tryton/gui/window/view_form/view/list.py
@@ -2,6 +2,7 @@
 # this repository contains the full copyright notices and license terms.
 import gobject
 import gtk
+import pango
 import sys
 try:
     import simplejson as json
@@ -283,7 +284,7 @@ class ViewTree(View):
         if self.attributes.get('editable'):
             self.treeview = EditableTreeView(self.attributes['editable'], self)
         else:
-            self.treeview = TreeView()
+            self.treeview = TreeView(self)
 
         self.parse(xml)
 
@@ -450,11 +451,20 @@ class ViewTree(View):
     def get_widget(cls, name):
         return cls.WIDGETS[name]
 
-    @staticmethod
-    def set_column_widget(column, field, attributes, arrow=True):
+    def set_column_widget(self, column, field, attributes, arrow=True):
         tooltips = Tooltips()
         hbox = gtk.HBox(False, 2)
         label = gtk.Label(attributes['string'])
+        if field and self.editable:
+            required = field.attrs.get('required')
+            readonly = field.attrs.get('readonly')
+            if required or not readonly:
+                attrlist = pango.AttrList()
+                if required:
+                    attrlist.insert(pango.AttrWeight(pango.WEIGHT_BOLD, 0, -1))
+                if not readonly:
+                    attrlist.change(pango.AttrStyle(pango.STYLE_ITALIC, 0, -1))
+                label.set_attributes(attrlist)
         label.show()
         help = attributes['string']
         if field and field.attrs.get('help'):
@@ -463,15 +473,17 @@ class ViewTree(View):
             help += '\n' + attributes['help']
         tooltips.set_tip(label, help)
         tooltips.enable()
-        arrow = gtk.Arrow(gtk.ARROW_DOWN, gtk.SHADOW_IN)
-        column.arrow = arrow
-        column.arrow_show = False
+        if arrow:
+            arrow_widget = gtk.Arrow(gtk.ARROW_NONE, gtk.SHADOW_NONE)
+            arrow_widget.show()
+            column.arrow = arrow_widget
         hbox.pack_start(label, True, True, 0)
         if arrow:
-            hbox.pack_start(arrow, False, False, 0)
+            hbox.pack_start(arrow_widget, False, False, 0)
             column.set_clickable(True)
         hbox.show()
         column.set_widget(hbox)
+        column.set_alignment(0.5)
 
     def set_column_width(self, column, field, attributes):
         default_width = {
@@ -535,22 +547,18 @@ class ViewTree(View):
 
     def sort_model(self, column):
         for col in self.treeview.get_columns():
-            if col != column:
-                col.arrow_show = False
-                col.arrow.hide()
+            if col != column and getattr(col, 'arrow', None):
+                col.arrow.set(gtk.ARROW_NONE, gtk.SHADOW_NONE)
         self.screen.order = None
-        if not column.arrow_show:
-            column.arrow_show = True
+        if column.arrow.props.arrow_type == gtk.ARROW_NONE:
             column.arrow.set(gtk.ARROW_DOWN, gtk.SHADOW_IN)
-            column.arrow.show()
             self.screen.order = [(column.name, 'ASC')]
         else:
-            if column.arrow.get_property('arrow-type') == gtk.ARROW_DOWN:
+            if column.arrow.props.arrow_type == gtk.ARROW_DOWN:
                 column.arrow.set(gtk.ARROW_UP, gtk.SHADOW_IN)
                 self.screen.order = [(column.name, 'DESC')]
             else:
-                column.arrow_show = False
-                column.arrow.hide()
+                column.arrow.set(gtk.ARROW_NONE, gtk.SHADOW_NONE)
         model = self.treeview.get_model()
         unsaved_records = [x for x in model.group if x.id < 0]
         search_string = self.screen.screen_container.get_text() or u''
@@ -571,8 +579,6 @@ class ViewTree(View):
             column = gtk.TreeViewColumn()
             column._type = 'fill'
             column.name = None
-            column.arrow = gtk.Arrow(gtk.ARROW_DOWN, gtk.SHADOW_IN)
-            column.arrow_show = False
             column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
             self.treeview.append_column(column)
 
@@ -594,20 +600,25 @@ class ViewTree(View):
         if not dnd:
             return
 
-        self.treeview.drag_source_set(
+        self.treeview.enable_model_drag_dest(
+            [('MY_TREE_MODEL_ROW', gtk.TARGET_SAME_WIDGET, 0)],
+            gtk.gdk.ACTION_MOVE)
+        self.treeview.enable_model_drag_source(
             gtk.gdk.BUTTON1_MASK | gtk.gdk.BUTTON3_MASK,
             [('MY_TREE_MODEL_ROW', gtk.TARGET_SAME_WIDGET, 0)],
             gtk.gdk.ACTION_MOVE)
-        self.treeview.drag_dest_set(gtk.DEST_DEFAULT_ALL,
+        # XXX have to set manually because enable_model_drag_source
+        # does not set the mask
+        # 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.gdk.ACTION_MOVE)
 
-        self.treeview.connect('drag-begin', self.drag_begin)
-        self.treeview.connect('drag-motion', self.drag_motion)
-        self.treeview.connect('drag-drop', self.drag_drop)
         self.treeview.connect("drag-data-get", self.drag_data_get)
         self.treeview.connect('drag-data-received',
             self.drag_data_received)
+        self.treeview.connect('drag-drop', self.drag_drop)
         self.treeview.connect('drag-data-delete', self.drag_data_delete)
 
     @property
@@ -634,43 +645,6 @@ class ViewTree(View):
                 and event.state & gtk.gdk.CONTROL_MASK):
             self.on_paste()
             return False
-        if event.keyval in (gtk.keysyms.Down, gtk.keysyms.Up):
-            path, column = widget.get_cursor()
-            if not path:
-                return False
-            model = widget.get_model()
-            if event.keyval == gtk.keysyms.Down:
-                test = True
-                for i in xrange(len(path)):
-                    iter_ = model.get_iter(path[0:i + 1])
-                    if model.iter_next(iter_):
-                        test = False
-                if test:
-                    iter_ = model.get_iter(path)
-                    if (model.iter_has_child(iter_)
-                            and widget.row_expanded(path)):
-                        test = False
-                return test
-            elif event.keyval == gtk.keysyms.Up:
-                if path == (0,):
-                    return True
-        if (event.keyval in (gtk.keysyms.Left, gtk.keysyms.Right)
-                and self.children_field):
-            selection = widget.get_selection()
-            model, paths = selection.get_selected_rows()
-            if event.keyval == gtk.keysyms.Left:
-                if len(paths) == 1:
-                    path, = paths
-                    if not widget.row_expanded(path):
-                        path = path[:-1]
-                        if path:
-                            selection.select_path(path)
-                            widget.collapse_row(path)
-                for path in paths:
-                    widget.collapse_row(path)
-            elif event.keyval == gtk.keysyms.Right:
-                for path in paths:
-                    widget.expand_row(path, False)
 
     def test_expand_row(self, widget, iter_, path):
         model = widget.get_model()
@@ -791,27 +765,6 @@ class ViewTree(View):
         self.screen.current_record = record
         self.screen.display(set_cursor=True)
 
-    def drag_begin(self, treeview, context):
-        return True
-
-    def drag_motion(self, treeview, context, x, y, time):
-        try:
-            treeview.set_drag_dest_row(*treeview.get_dest_row_at_pos(x, y))
-        except TypeError:
-            treeview.set_drag_dest_row(len(treeview.get_model()) - 1,
-                gtk.TREE_VIEW_DROP_AFTER)
-        if context.get_source_widget() == treeview:
-            kind = gtk.gdk.ACTION_MOVE
-        else:
-            kind = gtk.gdk.ACTION_COPY
-        context.drag_status(kind, time)
-        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)
-        return True
-
     def drag_data_get(self, treeview, context, selection, target_id,
             etime):
         treeview.emit_stop_by_name('drag-data-get')
@@ -887,6 +840,11 @@ class ViewTree(View):
             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)
+        return True
+
     def drag_data_delete(self, treeview, context):
         treeview.emit_stop_by_name('drag-data-delete')
 
@@ -1114,7 +1072,7 @@ class ViewTree(View):
                 if not isinstance(inv_domain, bool):
                     inv_domain = simplify(inv_domain)
                 unique, _, _ = unique_value(inv_domain)
-                column.set_visible(not unique)
+                column.set_visible(not unique or bool(self.children_field))
 
     def set_state(self):
         record = self.screen.current_record
@@ -1149,7 +1107,11 @@ class ViewTree(View):
                         else:
                             selected_sum += value
                     if hasattr(field, 'digits'):
-                        digit = max(field.digits(record)[1], digit)
+                        fdigits = field.digits(record)
+                        if fdigits and digit is not None:
+                            digit = max(fdigits[1], digit)
+                        else:
+                            digit = None
 
             if loaded:
                 if field.attrs['type'] == 'timedelta':
@@ -1158,10 +1120,14 @@ class ViewTree(View):
                     selected_sum = common.timedelta.format(
                         selected_sum, converter)
                     sum_ = common.timedelta.format(sum_, converter)
-                else:
+                elif digit:
                     selected_sum = locale.format(
                         '%.*f', (digit, selected_sum or 0), True)
                     sum_ = locale.format('%.*f', (digit, sum_ or 0), True)
+                else:
+                    selected_sum = locale.format(
+                        '%s', selected_sum or 0, True)
+                    sum_ = locale.format('%s', sum_ or 0, True)
 
                 text = '%s / %s' % (selected_sum, sum_)
             else:
diff --git a/tryton/gui/window/view_form/view/list_gtk/editabletree.py b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
index 460b6c0..5f1d9df 100644
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
@@ -14,6 +14,10 @@ _ = gettext.gettext
 class TreeView(gtk.TreeView):
     display_counter = 0
 
+    def __init__(self, view):
+        super(TreeView, self).__init__()
+        self.view = view
+
     def next_column(self, path, column=None, editable=True, _sign=1):
         columns = self.get_columns()
         if column is None:
@@ -27,11 +31,13 @@ class TreeView(gtk.TreeView):
                 len(columns) + current_idx):
             if not column.name:
                 continue
+            widget = self.view.get_column_widget(column)
             field = record[column.name]
             field.state_set(record, states=('readonly', 'invisible'))
             invisible = field.get_state_attrs(record).get('invisible', False)
             if editable:
-                readonly = field.get_state_attrs(record).get('readonly', False)
+                readonly = widget.attrs.get('readonly',
+                    field.get_state_attrs(record).get('readonly', False))
             else:
                 readonly = False
             if not (invisible or readonly):
@@ -50,9 +56,8 @@ class EditableTreeView(TreeView):
             gtk.keysyms.ISO_Left_Tab, gtk.keysyms.KP_Enter)
 
     def __init__(self, position, view):
-        super(EditableTreeView, self).__init__()
+        super(EditableTreeView, self).__init__(view)
         self.editable = position
-        self.view = view
 
     def on_quit_cell(self, current_record, column, value, callback=None):
         field = current_record[column.name]
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 e1aedaa..94606c8 100644
--- a/tryton/gui/window/view_form/view/list_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/list_gtk/widget.py
@@ -4,7 +4,6 @@
 import os
 import tempfile
 import gtk
-import locale
 import gettext
 import webbrowser
 
@@ -13,7 +12,7 @@ from functools import wraps, partial
 from tryton.gui.window.win_search import WinSearch
 from tryton.gui.window.win_form import WinForm
 from tryton.gui.window.view_form.screen import Screen
-from tryton.common import COLORS, file_selection, file_open, slugify
+from tryton.common import file_selection, file_open, slugify
 import tryton.common as common
 from tryton.common.cellrendererbutton import CellRendererButton
 from tryton.common.cellrenderertext import CellRendererText, \
@@ -109,9 +108,7 @@ class CellCache(list):
 
 
 class Cell(object):
-
-    def get_color(self, record):
-        return record.expr_eval(self.view.attributes.get('colors', '"black"'))
+    pass
 
 
 class Affix(Cell):
@@ -154,12 +151,6 @@ class Affix(Cell):
             if not text:
                 text = field.get_client(record) or ''
             cell.set_property('text', text)
-            fg_color = self.get_color(record)
-            cell.set_property('foreground', fg_color)
-            if fg_color == 'black':
-                cell.set_property('foreground-set', False)
-            else:
-                cell.set_property('foreground-set', True)
 
     def clicked(self, renderer, path):
         store = self.view.treeview.get_model()
@@ -211,12 +202,6 @@ class GenericText(Cell):
                     (CellRendererText, CellRendererDate, CellRendererCombo)):
                 cell.set_property('strikethrough', record.deleted)
             cell.set_property('text', text)
-            fg_color = self.get_color(record)
-            cell.set_property('foreground', fg_color)
-            if fg_color == 'black':
-                cell.set_property('foreground-set', False)
-            else:
-                cell.set_property('foreground-set', True)
 
         field = record[self.attrs['name']]
 
@@ -242,21 +227,6 @@ class GenericText(Cell):
             if invisible:
                 readonly = True
 
-            if not isinstance(cell, CellRendererToggle):
-                bg_color = 'white'
-                if not field.get_state_attrs(record).get('valid', True):
-                    bg_color = COLORS.get('invalid', 'white')
-                elif bool(int(
-                            field.get_state_attrs(record).get('required', 0))):
-                    bg_color = COLORS.get('required', 'white')
-                cell.set_property('background', bg_color)
-                if bg_color == 'white':
-                    cell.set_property('background-set', False)
-                else:
-                    cell.set_property('background-set', True)
-                    cell.set_property('foreground-set',
-                        not (record.deleted or record.removed))
-
             if isinstance(cell, CellRendererToggle):
                 cell.set_property('activatable', not readonly)
             elif isinstance(cell, (gtk.CellRendererProgress,
@@ -563,6 +533,11 @@ class Image(GenericText):
                 self.attrs['width'], self.attrs['height'])
         cell.set_property('pixbuf', pixbuf)
 
+    def get_textual_value(self, record):
+        if not record:
+            return ''
+        return str(record[self.attrs['name']].get_size(record))
+
 
 class M2O(GenericText):
 
@@ -630,6 +605,9 @@ class M2O(GenericText):
     def search_remote(self, record, relation, text, domain=None,
             context=None, callback=None):
         field = record.group.fields[self.attrs['name']]
+        relation = field.attrs['relation']
+        access = common.MODELACCESS[relation]
+        create_access = self.attrs.get('create', True) and access['create']
 
         def search_callback(found):
             value = None
@@ -639,7 +617,7 @@ class M2O(GenericText):
             if callback:
                 callback()
         win = WinSearch(relation, search_callback, sel_multi=False,
-            context=context, domain=domain)
+            context=context, domain=domain, new=create_access)
         win.screen.search_filter(quote(text.decode('utf-8')))
         return win
 
@@ -688,14 +666,18 @@ class M2O(GenericText):
     def _completion_action_activated(self, completion, index, path):
         record, field = self._get_record_field(path)
         entry = completion.get_entry()
+        entry.handler_block(entry.editing_done_id)
 
         def callback():
+            entry.handler_unblock(entry.editing_done_id)
             entry.set_text(field.get_client(record))
         if index == 0:
             self.open_remote(record, create=False, changed=True,
                 text=entry.get_text(), callback=callback)
         elif index == 1:
             self.open_remote(record, create=True, callback=callback)
+        else:
+            entry.handler_unblock(entry.editing_done_id)
 
 
 class O2O(M2O):
@@ -762,10 +744,10 @@ class M2M(O2M):
 
 class Selection(GenericText, SelectionMixin, PopdownMixin):
 
-    def __init__(self, *args):
-        super(Selection, self).__init__(*args)
-        self.renderer = CellRendererCombo()
-        self.renderer.connect('editing-started', self.editing_started)
+    def __init__(self, *args, **kwargs):
+        if 'renderer' not in kwargs:
+            kwargs['renderer'] = CellRendererCombo
+        super(Selection, self).__init__(*args, **kwargs)
         self.init_selection()
         self.renderer.set_property('model',
             self.get_popdown_model(self.selection)[0])
@@ -858,18 +840,22 @@ class ProgressBar(object):
     def setter(self, column, cell, store, iter):
         record = store.get_value(iter, 0)
         field = record[self.attrs['name']]
-        value = float(self.get_textual_value(record) or 0.0)
-        cell.set_property('value', value)
-        digit = field.digits(record)[1]
-        text = locale.format('%.*f', (digit, value), True)
-        cell.set_property('text', text + '%')
+        field.state_set(record, states=('invisible',))
+        invisible = field.get_state_attrs(record).get('invisible', False)
+        cell.set_property('visible', not invisible)
+        text = self.get_textual_value(record)
+        if text:
+            text = _('%s%%') % text
+        cell.set_property('text', text)
+        value = field.get(record) or 0.0
+        cell.set_property('value', value * 100)
 
     def open_remote(self, record, create, changed=False, text=None,
             callback=None):
         raise NotImplementedError
 
     def get_textual_value(self, record):
-        return record[self.attrs['name']].get_client(record) or ''
+        return record[self.attrs['name']].get_client(record, factor=100) or ''
 
     def value_from_text(self, record, text, callback=None):
         field = record[self.attrs['name']]
diff --git a/tryton/gui/window/view_form/view/screen_container.py b/tryton/gui/window/view_form/view/screen_container.py
index 5ae9cba..abe62b1 100644
--- a/tryton/gui/window/view_form/view/screen_container.py
+++ b/tryton/gui/window/view_form/view/screen_container.py
@@ -525,6 +525,7 @@ class ScreenContainer(object):
                 else:
                     entry = gtk.Entry()
                     entry.connect('activate', lambda *a: search())
+                label.set_mnemonic_widget(entry)
                 self.search_table.attach(entry, 1, 2, i, i + 1,
                     yoptions=yoptions)
                 self.search_table.fields.append((field['string'], entry))
diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py
index 31d8a4b..295927d 100644
--- a/tryton/gui/window/win_export.py
+++ b/tryton/gui/window/win_export.py
@@ -173,16 +173,14 @@ class WinExport(NoModal):
         self.view2.set_headers_visible(False)
 
         cell = gtk.CellRendererText()
-        column = gtk.TreeViewColumn('Field name', cell, text=0,
-                background=2)
+        column = gtk.TreeViewColumn('Field name', cell, text=0)
         self.view1.append_column(column)
 
         cell = gtk.CellRendererText()
         column = gtk.TreeViewColumn('Field name', cell, text=0)
         self.view2.append_column(column)
 
-        self.model1 = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING,
-                gobject.TYPE_STRING)
+        self.model1 = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
         self.model2 = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
 
         self.fields = {}
@@ -250,21 +248,18 @@ class WinExport(NoModal):
 
             for name, field, string_ in items:
                 path = prefix_field + name
-                color = 'white'
-                if field.get('required'):
-                    color = common.COLORS['required']
                 long_string = string_
                 if prefix_field:
                     long_string = prefix_name + string_
                 node = self.model1.insert(parent_node, 0,
-                    [string_, path, color])
+                    [string_, path])
 
                 self.fields[path] = (string_, long_string,
                     field.get('relation'))
                 # Insert relation only to real field
                 if '.' not in name:
                     if field.get('relation'):
-                        self.model1.insert(node, 0, [None, '', 'white'])
+                        self.model1.insert(node, 0, [None, ''])
 
     def _get_fields(self, model):
         try:
diff --git a/tryton/gui/window/win_form.py b/tryton/gui/window/win_form.py
index 1272f16..4a6d9ee 100644
--- a/tryton/gui/window/win_form.py
+++ b/tryton/gui/window/win_form.py
@@ -1,17 +1,18 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-from tryton.common import TRYTON_ICON, COLOR_SCHEMES
+from tryton.common import TRYTON_ICON
 import tryton.common as common
 import gtk
 import pango
 import gettext
 from tryton.gui.window.nomodal import NoModal
 from tryton.common.domain_parser import quote
+from .infobar import InfoBar
 
 _ = gettext.gettext
 
 
-class WinForm(NoModal):
+class WinForm(NoModal, InfoBar):
     "Form window"
 
     def __init__(self, screen, callback, view_type='form',
@@ -91,22 +92,8 @@ class WinForm(NoModal):
         title.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#000000"))
         title.show()
 
-        self.info_label = gtk.Label()
-        self.info_label.set_padding(3, 3)
-        self.info_label.set_alignment(1.0, 0.5)
-
-        self.eb_info = gtk.EventBox()
-        self.eb_info.add(self.info_label)
-        self.eb_info.connect('button-release-event',
-                lambda *a: self.message_info(''))
-
-        vbox = gtk.VBox()
-        vbox.pack_start(self.eb_info, expand=True, fill=True, padding=5)
-        vbox.show()
-
         hbox = gtk.HBox()
         hbox.pack_start(title, expand=True, fill=True)
-        hbox.pack_start(vbox, expand=False, fill=True, padding=20)
         hbox.show()
 
         frame = gtk.Frame()
@@ -121,6 +108,9 @@ class WinForm(NoModal):
 
         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()
@@ -282,16 +272,6 @@ class WinForm(NoModal):
         self.screen.display()
         self.screen.current_view.set_cursor()
 
-    def message_info(self, message, color='red'):
-        if message:
-            self.info_label.set_label(message)
-            self.eb_info.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(
-                COLOR_SCHEMES.get(color, 'white')))
-            self.eb_info.show_all()
-        else:
-            self.info_label.set_label('')
-            self.eb_info.hide()
-
     def on_keypress(self, widget, event):
         if (event.keyval == gtk.keysyms.F3) \
                 and self.but_new.get_property('sensitive'):
@@ -415,9 +395,12 @@ class WinForm(NoModal):
                             if record:
                                 validate = record.pre_validate()
             if not validate:
+                self.message_info(self.screen.invalid_message(),
+                    gtk.MESSAGE_ERROR)
                 self.screen.set_cursor()
                 self.screen.display()
                 return
+            self.message_info()
             if response_id == gtk.RESPONSE_ACCEPT:
                 self.new()
                 return
diff --git a/tryton/gui/window/win_import.py b/tryton/gui/window/win_import.py
index aff8d38..b7ddf26 100644
--- a/tryton/gui/window/win_import.py
+++ b/tryton/gui/window/win_import.py
@@ -5,7 +5,7 @@ import gobject
 import gettext
 import tryton.common as common
 import csv
-from tryton.config import TRYTON_ICON, CONFIG
+from tryton.config import TRYTON_ICON
 from tryton.common import RPCExecute, RPCException
 from tryton.gui.window.nomodal import NoModal
 
@@ -109,6 +109,7 @@ class WinImport(NoModal):
         label_csv_import = gtk.Label(_("File to Import:"))
         hbox_csv_import.pack_start(label_csv_import, False, False, 0)
         self.import_csv_file = gtk.FileChooserButton(_("Open..."))
+        label_csv_import.set_mnemonic_widget(self.import_csv_file)
         hbox_csv_import.pack_start(self.import_csv_file, True, True, 0)
 
         expander_csv_import = gtk.Expander(None)
@@ -128,6 +129,7 @@ class WinImport(NoModal):
         self.import_csv_sep.set_max_length(1)
         self.import_csv_sep.set_text(",")
         self.import_csv_sep.set_width_chars(1)
+        label_import_csv_sep.set_mnemonic_widget(self.import_csv_sep)
         table.attach(self.import_csv_sep, 1, 2, 0, 1)
 
         label_import_csv_del = gtk.Label(_("Text Delimiter:"))
@@ -136,6 +138,7 @@ class WinImport(NoModal):
         self.import_csv_del = gtk.Entry()
         self.import_csv_del.set_text("\"")
         self.import_csv_del.set_width_chars(1)
+        label_import_csv_del.set_mnemonic_widget(self.import_csv_del)
         table.attach(self.import_csv_del, 3, 4, 0, 1)
 
         label_import_csv_enc = gtk.Label(_("Encoding:"))
@@ -145,6 +148,7 @@ class WinImport(NoModal):
         self.import_csv_enc.append_text("UTF-8")
         self.import_csv_enc.append_text("Latin1")
         self.import_csv_enc.set_active(0)
+        label_import_csv_enc.set_mnemonic_widget(self.import_csv_enc)
         table.attach(self.import_csv_enc, 1, 2, 1, 2)
 
         label_import_csv_skip = gtk.Label(_("Lines to Skip:"))
@@ -153,6 +157,7 @@ class WinImport(NoModal):
 
         self.import_csv_skip_adj = gtk.Adjustment(0, 0, 100, 1, 10)
         self.import_csv_skip = gtk.SpinButton(self.import_csv_skip_adj, 1, 0)
+        label_import_csv_skip.set_mnemonic_widget(self.import_csv_skip)
         table.attach(self.import_csv_skip, 3, 4, 1, 2)
 
         button_cancel = gtk.Button("gtk-cancel", stock="gtk-cancel")
@@ -169,8 +174,6 @@ class WinImport(NoModal):
         self.context = context
         self.fields_data = {}
 
-        self.import_csv_file.set_current_folder(CONFIG['client.default_path'])
-
         self.view1 = gtk.TreeView()
         self.view1.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
         self.view1.connect('row-expanded', self.on_row_expanded)
@@ -182,16 +185,14 @@ class WinImport(NoModal):
         self.view2.set_headers_visible(False)
 
         cell = gtk.CellRendererText()
-        column = gtk.TreeViewColumn(_('Field name'), cell, text=0,
-                background=2)
+        column = gtk.TreeViewColumn(_('Field name'), cell, text=0)
         self.view1.append_column(column)
 
         cell = gtk.CellRendererText()
         column = gtk.TreeViewColumn(_('Field name'), cell, text=0)
         self.view2.append_column(column)
 
-        self.model1 = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING,
-                gobject.TYPE_STRING)
+        self.model1 = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
         self.model2 = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
 
         self.fields = {}
@@ -219,15 +220,14 @@ class WinImport(NoModal):
             if not fields[field].get('readonly', False):
                 self.fields_data[prefix_field + field] = fields[field]
                 name = fields[field]['string'] or field
-                node = self.model1.insert(parent_node, 0, [name, prefix_field +
-                    field, (fields[field].get('required', False) and
-                        common.COLORS['required']) or 'white'])
+                node = self.model1.insert(
+                    parent_node, 0, [name, prefix_field + field])
                 name = prefix_name + name
                 self.fields[prefix_field + field] = (name,
                         fields[field].get('relation'))
                 self.fields_invert[name] = prefix_field + field
                 if fields[field].get('relation'):
-                    self.model1.insert(node, 0, [None, '', 'white'])
+                    self.model1.insert(node, 0, [None, ''])
 
     def _get_fields(self, model):
         try:
diff --git a/tryton/gui/window/wizard.py b/tryton/gui/window/wizard.py
index 1c73c38..6f56e0e 100644
--- a/tryton/gui/window/wizard.py
+++ b/tryton/gui/window/wizard.py
@@ -13,10 +13,11 @@ from tryton.gui.window.nomodal import NoModal
 from tryton.common.button import Button
 from tryton.common import RPCExecute, RPCException
 from tryton.common import TRYTON_ICON
+from .infobar import InfoBar
 _ = gettext.gettext
 
 
-class Wizard(object):
+class Wizard(InfoBar):
 
     def __init__(self, name=False):
         super(Wizard, self).__init__()
@@ -144,7 +145,9 @@ class Wizard(object):
         if (not self.screen.current_record.validate()
                 and state != self.end_state):
             self.screen.display(set_cursor=True)
+            self.message_info(self.screen.invalid_message(), gtk.MESSAGE_ERROR)
             return
+        self.message_info()
         self.state = state
         self.process()
 
@@ -183,22 +186,8 @@ class Wizard(object):
         title.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#000000"))
         title.show()
 
-        self.info_label = gtk.Label()
-        self.info_label.set_padding(3, 3)
-        self.info_label.set_alignment(1.0, 0.5)
-
-        self.eb_info = gtk.EventBox()
-        self.eb_info.add(self.info_label)
-        self.eb_info.connect('button-release-event',
-                lambda *a: self.message_info(''))
-
-        vbox = gtk.VBox()
-        vbox.pack_start(self.eb_info, expand=True, fill=True, padding=5)
-        vbox.show()
-
         hbox = gtk.HBox()
         hbox.pack_start(title, expand=True, fill=True)
-        hbox.pack_start(vbox, expand=False, fill=True, padding=20)
         hbox.show()
 
         frame = gtk.Frame()
@@ -213,6 +202,9 @@ class Wizard(object):
 
         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)
 
diff --git a/tryton/plugins/__init__.py b/tryton/plugins/__init__.py
index c97e445..b15fab3 100644
--- a/tryton/plugins/__init__.py
+++ b/tryton/plugins/__init__.py
@@ -1,11 +1,10 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
 import os
-import sys
 import imp
 import gettext
 
-from tryton.config import get_config_dir
+from tryton.config import get_config_dir, CURRENT_DIR
 
 __all__ = ['MODULES', 'register']
 
@@ -18,10 +17,7 @@ def register():
     global MODULES
     paths = [
         os.path.join(get_config_dir(), 'plugins'),
-        os.path.dirname(__file__),
-        # py2exe
-        os.path.join(os.path.abspath(os.path.normpath(
-                    os.path.dirname(sys.argv[0]))), 'plugins'),
+        os.path.join(CURRENT_DIR, 'plugins'),
         ]
     paths = filter(os.path.isdir, paths)
 
diff --git a/tryton/pyson.py b/tryton/pyson.py
index 7f55826..cc8d0c6 100644
--- a/tryton/pyson.py
+++ b/tryton/pyson.py
@@ -56,6 +56,8 @@ class PYSON(object):
         else:
             return And(self, other)
 
+    __rand__ = __and__
+
     def __or__(self, other):
         if (isinstance(other, PYSON)
                 and other.types() != set([bool])):
@@ -68,6 +70,8 @@ class PYSON(object):
         else:
             return Or(self, other)
 
+    __ror__ = __or__
+
     def __eq__(self, other):
         return Equal(self, other)
 
diff --git a/tryton/translate.py b/tryton/translate.py
index 8b8d8de..5303773 100644
--- a/tryton/translate.py
+++ b/tryton/translate.py
@@ -4,10 +4,12 @@
 import os
 import locale
 import gettext
-from tryton.config import CURRENT_DIR
 import logging
 import gtk
 import sys
+import pkg_resources
+
+from tryton.config import CURRENT_DIR
 
 _ = gettext.gettext
 
@@ -152,9 +154,10 @@ _LOCALE2WIN32 = {
 
 def setlang(lang=None, locale_dict=None):
     "Set language"
-    locale_dir = os.path.join(CURRENT_DIR, 'share/locale')
+    locale_dir = os.path.join(CURRENT_DIR, 'data/locale')
     if not os.path.isdir(locale_dir):
-        locale_dir = os.path.join(sys.prefix, 'share/locale')
+        locale_dir = pkg_resources.resource_filename(
+            'tryton', 'data/locale')
     if lang:
         encoding = locale.getdefaultlocale()[1]
         if not encoding:
-- 
tryton-client



More information about the tryton-debian-vcs mailing list