[tryton-debian-vcs] tryton-client branch upstream updated. upstream/3.8.6-2-g65b0c1b

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Thu Jun 2 16:04:15 UTC 2016


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

commit 65b0c1bbf673c5e79dde36744d0a29fbe9fee902
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Fri May 27 18:35:03 2016 +0200

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

diff --git a/CHANGELOG b/CHANGELOG
index 4594f3d..e9a945a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 4.0.1 - 2016-05-11
+* Bug fixes (see mercurial logs for details)
+
 Version 4.0.0 - 2016-05-02
 * Bug fixes (see mercurial logs for details)
 * Improvement of charts design
diff --git a/PKG-INFO b/PKG-INFO
index 523158a..e87458a 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 4.0.0
+Version: 4.0.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 523158a..e87458a 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 4.0.0
+Version: 4.0.1
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/tryton/__init__.py b/tryton/__init__.py
index 757630d..037c985 100644
--- a/tryton/__init__.py
+++ b/tryton/__init__.py
@@ -1,3 +1,3 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-__version__ = "4.0.0"
+__version__ = "4.0.1"
diff --git a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo
index 70873b4..d7cc319 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 f9295b8..858d826 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/ca_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
index c19d349..9ecc961 100644
--- a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
@@ -198,7 +198,7 @@ msgid ""
 "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 amb aquest servidor fins que es corregeixi l'empremta digital del servidor."
 
 #: tryton/common/common.py:1034
 msgid "Security risk!"
@@ -211,7 +211,7 @@ msgid ""
 "Unable to connect to the server!"
 msgstr ""
 "Error de connexió.\n"
-"No ha estat possible connectar-se al servidor."
+"No ha estat possible connectar amb el servidor."
 
 #: tryton/common/common.py:1111
 msgid "Network Error!"
@@ -293,7 +293,7 @@ msgstr "Adjunts..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Notes..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -702,7 +702,7 @@ msgid ""
 "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"
+"No ha estat possible connectar amb el servidor.\n"
 "1. Reviseu si el servidor s'està executant.\n"
 "2. Esbrineu a quina adreça i port està escoltant.\n"
 "3. Si hi ha un tallafocs entre el servidor i aquest client, assegureu-vos que l'adreça i el port (normalment 8000) del servidor no estan bloquejats.\n"
@@ -859,7 +859,7 @@ 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."
+msgstr "No ha estat possible connectar amb el servidor."
 
 #: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
@@ -903,7 +903,7 @@ 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:"
+msgstr "Connexió amb el servidor:"
 
 #: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
 #: tryton/gui/window/dblogin.py:434
@@ -944,7 +944,7 @@ 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"
+msgstr "No ha estat possible connectar amb el servidor"
 
 #: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
 msgid "Incompatible version of the server"
@@ -960,7 +960,7 @@ msgstr "_Cancel·la"
 
 #: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
-msgstr "Cancel·la connexió al servidor Tryton"
+msgstr "Cancel·la connexió amb el servidor Tryton"
 
 #: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
@@ -968,7 +968,7 @@ msgstr "C_onnecta"
 
 #: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
-msgstr "Connecta al servidor Tryton"
+msgstr "Connecta amb el servidor Tryton"
 
 #: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
@@ -1098,11 +1098,11 @@ msgstr "Afegeix un adjunt al registre"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Nota(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "Afegeix una nota al registre"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1134,7 +1134,7 @@ msgstr "Adjun_ts..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Notes..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1172,7 +1172,7 @@ msgstr "Adjunt(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Nota(%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
@@ -1231,7 +1231,6 @@ msgid " of "
 msgstr " de "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1548,13 +1547,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Tots els camps</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Neteja"
+msgstr "_Neteja"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Camps seleccionats</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1562,11 +1560,11 @@ msgstr "Paràmetres CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Separador de camp:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Delimitador de text:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1589,14 +1587,12 @@ msgid "Name"
 msgstr "Nom"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Desa exportació"
+msgstr "_Desa exportació"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Elimina exportació"
+msgstr "_Elimina exportació"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1673,9 +1669,8 @@ msgid "Import from CSV"
 msgstr "Importa des de CSV"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Auto-detecta"
+msgstr "_Auto-detecta"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo
index 45c22eb..ce252db 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 4d16b9e..ff719f0 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/de_DE/LC_MESSAGES/tryton.po b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
index 034bb3e..18c7917 100644
--- a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
@@ -293,7 +293,7 @@ msgstr "Anhänge..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Notizen..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -1105,11 +1105,11 @@ msgstr "Einen Anhang zum Datensatz hinzufügen"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Notiz(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "Eine Notiz zu einem Datensatz hinzufügen"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1141,7 +1141,7 @@ msgstr "A_nhänge..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Notizen..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1179,7 +1179,7 @@ msgstr "Anhänge(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Notiz(%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
@@ -1238,7 +1238,6 @@ msgid " of "
 msgstr " von "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1555,13 +1554,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Alle Felder</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Leeren"
+msgstr "_Leeren"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Ausgewählte Felder</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1569,11 +1567,11 @@ msgstr "CSV Parameter"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Feldtrenner:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Anführungszeichen:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1596,14 +1594,12 @@ msgid "Name"
 msgstr "Name"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Export speichern"
+msgstr "Export _speichern"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Export löschen"
+msgstr "Export _löschen"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1680,9 +1676,8 @@ msgid "Import from CSV"
 msgstr "Aus CSV Datei importieren"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Automatische Erkennung"
+msgstr "_Automatische Erkennung"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
diff --git a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo
index 551da35..5d31a28 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_AR/LC_MESSAGES/tryton.po b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
index b39a509..1a6669a 100644
--- a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
@@ -291,7 +291,7 @@ msgstr "Adjuntos..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Notas..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -1097,11 +1097,11 @@ msgstr "Añadir un adjunto al registro"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Nota(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "Añadir una nota al registro"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1133,7 +1133,7 @@ msgstr "Adjun_tos..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Notas..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1171,7 +1171,7 @@ msgstr "Adjunto(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Nota(%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
@@ -1230,13 +1230,12 @@ msgid " of "
 msgstr " de "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
 msgstr ""
-"Este registro ha sido modificado.\n"
-"¿Desea guardarlo?"
+"Este registro ha sido modificado\n"
+"¿desea guardarlo?"
 
 #: tryton/gui/window/form.py:566
 msgid "Action"
@@ -1547,13 +1546,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Limpiar"
+msgstr "_Limpiar"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Campos seleccionados</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1561,11 +1559,11 @@ msgstr "Parámetros CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Delimitador:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Caracter de entrecomillado:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1588,14 +1586,12 @@ msgid "Name"
 msgstr "Nombre"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Guardar exportación"
+msgstr "_Guardar exportación"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Eliminar exportación"
+msgstr "_Eliminar exportación"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1672,9 +1668,8 @@ msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Auto-detectar"
+msgstr "_Auto-detectar"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
diff --git a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo
index 662ca1f..8ddcfe2 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_CO/LC_MESSAGES/tryton.po b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
index 8588720..553981d 100644
--- a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
@@ -292,7 +292,7 @@ msgstr "Adjuntos..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Notas..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -468,7 +468,7 @@ msgstr "Guardar Estado de Árbol"
 
 #: tryton/gui/main.py:635
 msgid "Fast Tabbing"
-msgstr ""
+msgstr "Tabulación Rápida"
 
 #: tryton/gui/main.py:645
 msgid "Spell Checking"
@@ -1098,11 +1098,11 @@ msgstr "Agregar un adjunto al registro"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Nota(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "Agregar nota al registro"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1134,7 +1134,7 @@ msgstr "Adjun_tos..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Notas..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1172,12 +1172,11 @@ msgstr "Adjunto(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Nota(%d)"
 
 #: tryton/gui/window/form.py:258
-#, fuzzy
 msgid "You have to select one record."
-msgstr "Debe seleccionar un registro!"
+msgstr "Debe seleccionar un registro."
 
 #: tryton/gui/window/form.py:262
 msgid "ID:"
@@ -1212,31 +1211,26 @@ msgid "Are you sure to remove those records?"
 msgstr "Está seguro que quiere eliminar estos registros?"
 
 #: tryton/gui/window/form.py:350
-#, fuzzy
 msgid "Records not removed."
-msgstr "Los registros no se han eliminado!"
+msgstr "Los registros no se han eliminado."
 
 #: tryton/gui/window/form.py:352
-#, fuzzy
 msgid "Records removed."
-msgstr "Registros eliminados!"
+msgstr "Registros eliminados."
 
 #: tryton/gui/window/form.py:380
-#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr "Está trabajando ahora registro(s) duplicado(s)!"
+msgstr "Está trabajando ahora registro(s) duplicado(s)."
 
 #: tryton/gui/window/form.py:390
-#, fuzzy
 msgid "Record saved."
-msgstr "¡Registro guardado!"
+msgstr "Registro guardado."
 
 #: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " de "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1395,92 +1389,92 @@ msgstr "Widgets de Edición"
 
 #: tryton/gui/window/shortcuts.py:47
 msgid "Move Cursor"
-msgstr ""
+msgstr "Mover el Cursor"
 
 #: tryton/gui/window/shortcuts.py:48
 msgid "Move to right"
-msgstr ""
+msgstr "Mover a la derecha"
 
 #: tryton/gui/window/shortcuts.py:49
 msgid "Move to left"
-msgstr ""
+msgstr "Mover a la izquierda"
 
 #: tryton/gui/window/shortcuts.py:50
 msgid "Move up"
-msgstr ""
+msgstr "Mover arriba"
 
 #: tryton/gui/window/shortcuts.py:51
 msgid "Move down"
-msgstr ""
+msgstr "Mover abajo"
 
 #: tryton/gui/window/shortcuts.py:52
 msgid "Move up of one page"
-msgstr ""
+msgstr "Mover arriba una página"
 
 #: tryton/gui/window/shortcuts.py:53
 msgid "Move down of one page"
-msgstr ""
+msgstr "Mover abajo una página"
 
 #: tryton/gui/window/shortcuts.py:54
 msgid "Move to top"
-msgstr ""
+msgstr "Mover al inicio"
 
 #: tryton/gui/window/shortcuts.py:55
 msgid "Move to bottom"
-msgstr ""
+msgstr "Mover al final"
 
 #: tryton/gui/window/shortcuts.py:56
 msgid "Move to parent"
-msgstr ""
+msgstr "Mover al padre"
 
 #: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
 msgid "Select all"
-msgstr ""
+msgstr "Seleccionar todo"
 
 #: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
 msgid "Unselect all"
-msgstr ""
+msgstr "Deseleccionar todo"
 
 #: tryton/gui/window/shortcuts.py:62
 msgid "Select parent"
-msgstr ""
+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 ""
+msgstr "Seleccionar/Activar fila actual"
 
 #: tryton/gui/window/shortcuts.py:67
 msgid "Toggle selection"
-msgstr ""
+msgstr "Alternar selección"
 
 #: tryton/gui/window/shortcuts.py:68
 msgid "Expand/Collapse"
-msgstr ""
+msgstr "Expandir/Colapsar"
 
 #: tryton/gui/window/shortcuts.py:69
 msgid "Expand row"
-msgstr ""
+msgstr "Expandir fila"
 
 #: tryton/gui/window/shortcuts.py:70
 msgid "Collapse row"
-msgstr ""
+msgstr "Colapsar fila"
 
 #: tryton/gui/window/shortcuts.py:71
 msgid "Toggle row"
-msgstr ""
+msgstr "Alternar fila"
 
 #: tryton/gui/window/shortcuts.py:72
 msgid "Expand all rows"
-msgstr ""
+msgstr "Expandir todas las filas"
 
 #: tryton/gui/window/shortcuts.py:73
 msgid "Collapse all rows"
-msgstr ""
+msgstr "Colapsar todas las filas"
 
 #: tryton/gui/window/shortcuts.py:76
 msgid "Tree view"
-msgstr ""
+msgstr "Vista de árbol"
 
 #: tryton/gui/window/tips.py:17
 msgid ""
@@ -1553,13 +1547,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Limpiar"
+msgstr "_Limpiar"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Campos seleccionados</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1567,11 +1560,11 @@ msgstr "Parámetros CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Delimitador:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Entrecomillar cadena:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1594,14 +1587,12 @@ msgid "Name"
 msgstr "Nombre"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Guardar Exportación"
+msgstr "_Guardar Exportación"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Eliminar Exportación"
+msgstr "_Eliminar Exportación"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1678,9 +1669,8 @@ msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Auto-Detectar"
+msgstr "_Auto-Detectar"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
@@ -1754,21 +1744,21 @@ msgstr "No se puede fijar la vista de estado del árbol"
 #: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
-msgstr ""
+msgstr "\"%s\" no es válido según su dominio"
 
 #: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
-msgstr ""
+msgstr "\"%s\" es obligatorio"
 
 #: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
-msgstr ""
+msgstr "Los valores de \"%s\" no son válidos"
 
 #: tryton/gui/window/view_form/screen/screen.py:1007
 msgid "Pre-validation"
-msgstr ""
+msgstr "Pre-validación"
 
 #: tryton/gui/window/view_form/view/form.py:190
 #: tryton/gui/window/view_form/view/form.py:192
@@ -1851,7 +1841,7 @@ msgstr "Semana"
 
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
-msgstr ""
+msgstr "Seleccionar..."
 
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:64
 msgid "Clear"
@@ -1863,7 +1853,7 @@ msgstr "Todos los archivos"
 
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
-msgstr ""
+msgstr "Seleccionar"
 
 #: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
@@ -1911,15 +1901,15 @@ msgstr "Editar registro seleccionado <F2>"
 #: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
-msgstr ""
+msgstr "%s%%"
 
 #: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
 msgid "Foreground"
-msgstr ""
+msgstr "Primer Plano"
 
 #: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
 msgid "Select a color"
-msgstr ""
+msgstr "Seleccionar un color"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:113
 msgid "Translation"
diff --git a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo
index b24e540..ebf92f7 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_EC/LC_MESSAGES/tryton.po b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
index 8494a33..46e07da 100644
--- a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
@@ -197,7 +197,7 @@ msgid ""
 "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 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!"
@@ -292,7 +292,7 @@ msgstr "Adjuntos..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Notas..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -1099,11 +1099,11 @@ msgstr "Añadir un adjunto al registro"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Nota(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "Agregar una nota al registro"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1135,7 +1135,7 @@ msgstr "Adjun_tos..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Notas..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1173,7 +1173,7 @@ msgstr "Adjunto(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Nota(%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
@@ -1232,7 +1232,6 @@ msgid " of "
 msgstr " de "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1549,13 +1548,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Limpiar"
+msgstr "_Limpiar"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Campos seleccionados</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1563,11 +1561,11 @@ msgstr "Parámetros CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Delimitador:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Delimitador de texto:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1590,14 +1588,12 @@ msgid "Name"
 msgstr "Nombre"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Guardar exportación"
+msgstr "_Guardar exportación"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Eliminar exportación"
+msgstr "_Eliminar exportación"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1674,9 +1670,8 @@ msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Auto-Detectar"
+msgstr "_Auto-Detectar"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
diff --git a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo
index 4e70b0f..db1df7d 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_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
index 105a040..ed1edde 100644
--- a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
@@ -201,7 +201,7 @@ msgid ""
 "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 con este servidor hasta que se corrija la huella de seguridad del servidor."
 
 #: tryton/common/common.py:1034
 msgid "Security risk!"
@@ -214,7 +214,7 @@ msgid ""
 "Unable to connect to the server!"
 msgstr ""
 "Error de conexión.\n"
-"No ha sido posible conectarse con el servidor."
+"No se ha podido conectar con el servidor."
 
 #: tryton/common/common.py:1111
 msgid "Network Error!"
@@ -296,7 +296,7 @@ msgstr "Adjuntos..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Notas..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -697,7 +697,7 @@ msgstr ""
 
 #: tryton/gui/window/dbcreate.py:42
 msgid "No connection!"
-msgstr "No hay conexión."
+msgstr "No se ha podido conectar con el servidor."
 
 #: tryton/gui/window/dbcreate.py:43
 msgid ""
@@ -707,7 +707,7 @@ msgid ""
 "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"
+"No se ha podido conectar con el servidor.\n"
 "1. Revise si el servidor se está ejecutando.\n"
 "2. Averigüe en qué dirección y puerto está escuchando.\n"
 "3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
@@ -863,7 +863,7 @@ 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 con el servidor."
 
 #: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
@@ -907,7 +907,7 @@ 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:"
+msgstr "Conexión con el servidor:"
 
 #: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
 #: tryton/gui/window/dblogin.py:434
@@ -948,7 +948,7 @@ 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"
+msgstr "No se ha podido conectar con el servidor"
 
 #: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
 msgid "Incompatible version of the server"
@@ -964,7 +964,7 @@ msgstr "_Cancelar"
 
 #: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
-msgstr "Cancelar conexión al servidor Tryton"
+msgstr "Cancelar conexión con el servidor Tryton"
 
 #: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
@@ -972,7 +972,7 @@ msgstr "C_onectar"
 
 #: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
-msgstr "Conectar al servidor Tryton"
+msgstr "Conectar con el servidor Tryton"
 
 #: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
@@ -1102,11 +1102,11 @@ msgstr "Añadir un adjunto al registro"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Nota(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "Añadir una nota al registro"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1138,7 +1138,7 @@ msgstr "Adjun_tos..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Notas..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1176,7 +1176,7 @@ msgstr "Adjunto(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Nota(%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
@@ -1235,7 +1235,6 @@ msgid " of "
 msgstr " de "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1552,13 +1551,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Limpiar"
+msgstr "_Limpiar"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Campos seleccionados</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1566,11 +1564,11 @@ msgstr "Parámetros CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Separador de campo:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Delimitador de texto:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1593,14 +1591,12 @@ msgid "Name"
 msgstr "Nombre"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Guardar exportación"
+msgstr "_Guardar exportación"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Eliminar exportación"
+msgstr "_Eliminar exportación"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1677,9 +1673,8 @@ msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Auto-detectar"
+msgstr "_Auto-detectar"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
diff --git a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo
index 9779ca5..e374505 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 ce51fe8..b915834 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/fr_FR/LC_MESSAGES/tryton.po b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
index 8f6909c..196b72d 100644
--- a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
@@ -291,7 +291,7 @@ msgstr "Attachements..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Notes..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -1098,11 +1098,11 @@ msgstr "Ajouter un attachement à l'enregistrement"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Note(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "Ajouter une note à l'enregistrement"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1134,7 +1134,7 @@ msgstr "_Pièce jointes..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Notes..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1172,7 +1172,7 @@ msgstr "Attachement(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Note(%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
@@ -1231,7 +1231,6 @@ msgid " of "
 msgstr " de "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1548,13 +1547,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Tout les champs</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Effacer"
+msgstr "_Effacer"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Champs sélectionnés</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1562,11 +1560,11 @@ msgstr "Paramètres CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Délimiteur :"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Caractère de guillemet :"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1589,14 +1587,12 @@ msgid "Name"
 msgstr "Nom"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Sauver l'exportation"
+msgstr "_Sauver l'exportation"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Supprimer l'exportation"
+msgstr "_Supprimer l'exportation"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1673,9 +1669,8 @@ msgid "Import from CSV"
 msgstr "Importer depuis un CSV"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Détection automatique"
+msgstr "Détection _automatique"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
diff --git a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo
index a9bff97..9f87692 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 7976e6e..5c0442e 100644
Binary files a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo and b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
index e034f93..099da86 100644
--- a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
@@ -1612,14 +1612,14 @@ msgid "Override '%s' definition?"
 msgstr "Sostituisci definizione '%s'?"
 
 #: tryton/gui/window/win_export.py:324
-#, python-format, fuzzy, python-format
+#, python-format, python-format
 msgid "%d record saved!"
-msgstr "Record salvato!"
+msgstr "%d record salvato!"
 
 #: tryton/gui/window/win_export.py:326
-#, python-format, fuzzy, python-format
+#, python-format, python-format
 msgid "%d records saved!"
-msgstr "Record salvato!"
+msgstr "%d record salvato!"
 
 #: tryton/gui/window/win_export.py:329
 #, python-format
diff --git a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo
index b2f3e5b..73b01d6 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/lo_LA/LC_MESSAGES/tryton.mo b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo
index 75b6a83..3648fde 100644
Binary files a/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo and b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
index 29d4808..2639603 100644
--- a/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
@@ -8,78 +8,79 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 #: tryton/config.py:76
 msgid "specify alternate config file"
-msgstr ""
+msgstr "ລະບຸ config file ທີ່ສະຫຼັບກັນ"
 
 #: tryton/config.py:79
 msgid "development mode"
-msgstr ""
+msgstr "ຮູບແບບການພັດທະນາ"
 
 #: tryton/config.py:82
 msgid "logging everything at INFO level"
-msgstr ""
+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 ""
+msgstr "ລະບຸ ຜູ້ເຂົ້າໃຊ້ງານ"
 
 #: tryton/config.py:89
 msgid "specify the server port"
-msgstr ""
+msgstr "ລະບຸປະຕູເຊື່ອມຕໍ່ແມ່ຂ່າຍ"
 
 #: tryton/config.py:91
 msgid "specify the server hostname"
-msgstr ""
+msgstr "ລະບຸ ທີ່ຢູ່ ຂອງ ເຄື່ອງແມ່ຂ່າຍ"
 
 #: tryton/config.py:95
 msgid "Too much arguments"
-msgstr ""
+msgstr "ມີຂໍ້ໂຕ້ແຍ່ງຫຼາຍເກີນໄປ"
 
 #: tryton/config.py:98
 #, python-format
 msgid "File \"%s\" not found"
-msgstr ""
+msgstr "ບໍ່ພໍ້ ຟາຍລ໌ \"%s\" ນີ້"
 
 #: tryton/config.py:136
 #, python-format
 msgid "Unable to write config file %s!"
-msgstr ""
+msgstr "ບໍ່ສາມາດ ຂຽນ config file %s ນີ້ໄດ້."
 
 #: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
-msgstr ""
+msgstr "ບໍ່ສາມາດຕັ້ງຄ່າ ທ້ອງຖິ່ນ %s ໄດ້."
 
 #: tryton/action/main.py:162
 msgid "Select your action"
-msgstr ""
+msgstr "ເລືອກການດຳເນີນການຂອງທ່ານ"
 
 #: tryton/action/main.py:168
 msgid "No action defined!"
-msgstr ""
+msgstr "ບໍ່ມີການດຳເນີນການທີ່ລະບຸໄວ້!"
 
 #: tryton/common/common.py:274
 msgid "Tryton Connection"
-msgstr ""
+msgstr "ການເຊື່ອມຕໍ່ເຂົ້າ ໄຕຣຕັອນ"
 
 #: tryton/common/common.py:285
 msgid "Server:"
-msgstr ""
+msgstr "ແມ່ຂ່າຍ:"
 
 #: tryton/common/common.py:303
 msgid "Port:"
-msgstr ""
+msgstr "ປະຕູເຊື່ອມຕໍ່:"
 
 #: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
-msgstr ""
+msgstr "ການເລືອກ"
 
 #: tryton/common/common.py:380
 msgid "Your selection:"
-msgstr ""
+msgstr "ການເລືອກຂອງທ່ານ:"
 
 #: tryton/common/common.py:495 tryton/gui/main.py:1388
 #: tryton/gui/window/win_export.py:297
@@ -88,23 +89,23 @@ msgstr ""
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:122
 #: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
-msgstr ""
+msgstr "ບັນທຶກເປັນ..."
 
 #: tryton/common/common.py:642
 msgid "Always ignore this warning."
-msgstr ""
+msgstr "ບໍ່ສົນກັບຄຳເຕືອນນີ້ເລີຍ."
 
 #: tryton/common/common.py:647
 msgid "Do you want to proceed?"
-msgstr ""
+msgstr "ທ່ານຕ້ອງການດຳເນີນການຕໍ່ໄປບໍ່?"
 
 #: tryton/common/common.py:666
 msgid "Confirmation"
-msgstr ""
+msgstr "ການຢືນຢັນ"
 
 #: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
-msgstr ""
+msgstr "ຍົກເວັ້ນການເຂົ້າເຖິງພ້ອມກັນ"
 
 #: tryton/common/common.py:786
 msgid ""
@@ -116,79 +117,92 @@ msgid ""
 "    - \"Compare\" to see the modified version;\n"
 "    - \"Write Anyway\" to save your current version."
 msgstr ""
+"<b>ຂຽນຄຳເຕືອນການເຂົ້າພ້ອມກັນ:</b>\n"
+"\n"
+"ແຖວຂໍ້ມູນນີ້ຖືກປ່ຽນແປງໃນເວລາທີ່ທ່ານແກ້ໄຂມັນແລ້ວ.\n"
+" ໃຫ້ເລືອກ:\n"
+"    - \"ຍົກເລີກ\" ເພື່ອຍົກເລີກການບັນທຶກ;\n"
+"    - \"ສົມທຽບ\" ເພື່ອເບິ່ງສະບັບທີ່ປ່ຽນແປງ;\n"
+"    - \"ຂຽນລົງເລີຍ\" ເພື່ອບັນທຶກ ສະບັບປັດຈຸບັນຂອງທ່ານ."
 
 #: tryton/common/common.py:795
 msgid "Compare"
-msgstr ""
+msgstr "ສົມທຽບ"
 
 #: tryton/common/common.py:800
 msgid "Write Anyway"
-msgstr ""
+msgstr "ຂຽນລົງເລີຍ"
 
 #: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
 #: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
-msgstr ""
+msgstr "ຜິດພາດ"
 
 #: tryton/common/common.py:830
 msgid "Report Bug"
-msgstr ""
+msgstr "ລາຍງານຂໍ້ຜິດພາດ"
 
 #: tryton/common/common.py:837
 msgid "Application Error!"
-msgstr ""
+msgstr "ໂປຣແກຣມ ຜິດພາດ!"
 
 #: tryton/common/common.py:860
 msgid "Error: "
-msgstr ""
+msgstr "ຂໍ້ຜິດພາດ:"
 
 #: tryton/common/common.py:880
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
-msgstr ""
+msgstr "ທ່ານຕ້ອງມີບັນຊີໃຊ້ຈຶ່ງຈະສາມາດລາຍງານຂໍ້ຜິດພາດ <u>%s</u> ນີ້ໄດ້"
 
 #: tryton/common/common.py:910
 msgid "Bug Tracker"
-msgstr ""
+msgstr "ໂຕຕິດຕາມ ຂໍ້ຜິດພາດ"
 
 #: tryton/common/common.py:928
 msgid "User:"
-msgstr ""
+msgstr "ຜູ້ໃຊ້:"
 
 #: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
-msgstr ""
+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 ""
+msgstr "ສ້າງ ລາຍການຂໍ້ຜິດພາດ ໃໝ່ ດ້ວຍ ເລກກຳກັບ "
 
 #: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
 msgstr ""
+"ການເຊື່ອມຕໍ່ ຜິດພາດ!\n"
+"ຊື່ຜູໃຊ້ ຫຼື ລະຫັດຜ່ານ ບໍ່ຖືກຕ້ອງ!"
 
 #: tryton/common/common.py:1015
 msgid "Exception:"
-msgstr ""
+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."
 msgstr ""
+"ແມ່ຂ່າຍລາຍພິມນີ້ວມື ຖືກປ່ຽນແປງ ຕັ້ງແຕ່ ການເຊື່ອມຕໍ່ເຂົ້າໃຊ້ ຄັ້ງລ້າສຸດ!\n"
+"ໂປຣແກຣມ ຈະຢຸດ ການເຊື່ອມຕໍ່ເຂົ້າແມ່ຂ່າຍນີ້ ຈົນກວ່າ ການພິມລາຍນີ້ວມຶ ຈະຖືກແກ້ໄຂ."
 
 #: tryton/common/common.py:1034
 msgid "Security risk!"
-msgstr ""
+msgstr "ຄວາມປອດໄພ ມີຄວາມສ່ຽງ!"
 
 #: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
@@ -196,304 +210,306 @@ msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
 msgstr ""
+"ການເຊື່ອມຕໍ່ຜິດພາດ!\n"
+"ບໍ່ສາມາດ ເຊື່ອມຕໍ່ເຂົ້າຫາແມ່ຂ່າຍໄດ້!"
 
 #: tryton/common/common.py:1111
 msgid "Network Error!"
-msgstr ""
+msgstr "ເຄືອຂ່າຍ ຜິດພາດ!"
 
 #: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
-msgstr ""
+msgstr "<i>ຊອກຫາ...</i>"
 
 #: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
-msgstr ""
+msgstr "<i>ສ້າງ...</i>"
 
 #: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
 #: tryton/common/datetime_.py:383
 msgid "Value"
-msgstr ""
+msgstr "ຄ່າ"
 
 #: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
 #: tryton/common/datetime_.py:384
 msgid "Displayed value"
-msgstr ""
+msgstr "ຄ່າສະແດງອອກ"
 
 #: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
 #: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
 msgid "Format"
-msgstr ""
+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 ""
+msgstr "ຮູບແບບສະແດງອອກ"
 
 #: tryton/common/datetime_.py:61
 msgid "Open the calendar"
-msgstr ""
+msgstr "ໄຂປະຕິທິນ"
 
 #: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
-msgstr ""
+msgstr "ຮູບແບບວັນທີ"
 
 #: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
-msgstr ""
+msgstr "ຮູບແບບວັນທີທີ່ສະແດງອອກ"
 
 #: tryton/common/domain_parser.py:235
 msgid "y"
-msgstr ""
+msgstr "ມ"
 
 #: tryton/common/domain_parser.py:235
 msgid "yes"
-msgstr ""
+msgstr "ແມ່ນ"
 
 #: tryton/common/domain_parser.py:235
 msgid "true"
-msgstr ""
+msgstr "ຈິງ"
 
 #: tryton/common/domain_parser.py:235
 msgid "t"
-msgstr ""
+msgstr "ຈ"
 
 #: tryton/common/domain_parser.py:457
 #: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
-msgstr ""
+msgstr "ຈິງ"
 
 #: tryton/common/domain_parser.py:457
 #: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
-msgstr ""
+msgstr "ຜິດ"
 
 #: tryton/common/popup_menu.py:81
 msgid "Edit..."
-msgstr ""
+msgstr "ແກ້ໄຂ..."
 
 #: tryton/common/popup_menu.py:86
 msgid "Attachments..."
-msgstr ""
+msgstr "ຄັດຕິດ..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "ໝາຍເຫດ..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
-msgstr ""
+msgstr "ດຳເນີນການ..."
 
 #: tryton/common/popup_menu.py:101
 msgid "Relate..."
-msgstr ""
+msgstr "ທີ່ກ່ຽວພັນ..."
 
 #: tryton/common/popup_menu.py:102
 msgid "Report..."
-msgstr ""
+msgstr "ລາຍງານ..."
 
 #: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
-msgstr ""
+msgstr "ອີ-ເມວລ໌..."
 
 #: tryton/common/popup_menu.py:104
 msgid "Print..."
-msgstr ""
+msgstr "ພິມອອກ..."
 
 #: tryton/common/timedelta.py:26
 msgid "Y"
-msgstr ""
+msgstr "ປ"
 
 #: tryton/common/timedelta.py:27
 msgid "M"
-msgstr ""
+msgstr "ດ"
 
 #: tryton/common/timedelta.py:28
 msgid "w"
-msgstr ""
+msgstr "ອ"
 
 #: tryton/common/timedelta.py:29
 msgid "d"
-msgstr ""
+msgstr "ມ"
 
 #: tryton/common/timedelta.py:30
 msgid "h"
-msgstr ""
+msgstr "ມ."
 
 #: tryton/common/timedelta.py:31
 msgid "m"
-msgstr ""
+msgstr "ນ"
 
 #: tryton/common/timedelta.py:32
 msgid "s"
-msgstr ""
+msgstr "ວ"
 
 #: tryton/gui/main.py:218
 msgid "_File"
-msgstr ""
+msgstr "_ຟາຍລ໌"
 
 #: tryton/gui/main.py:226
 msgid "_User"
-msgstr ""
+msgstr "_ຜູ້ໃຊ້"
 
 #: tryton/gui/main.py:240
 msgid "_Options"
-msgstr ""
+msgstr "_ທາງເລືອກ"
 
 #: tryton/gui/main.py:248
 msgid "Fa_vorites"
-msgstr ""
+msgstr "ທີ່_ມັກຫຼາຍ"
 
 #: tryton/gui/main.py:264
 msgid "_Help"
-msgstr ""
+msgstr "_ຊ່ອຍເຫຼືອ"
 
 #: tryton/gui/main.py:373
 msgid "No result found."
-msgstr ""
+msgstr "ບໍ່ພົບຜົນຊອກຫາ"
 
 #: tryton/gui/main.py:395
 msgid "_Connect..."
-msgstr ""
+msgstr "_ເຊື່ອມຕໍ່..."
 
 #: tryton/gui/main.py:404
 msgid "_Disconnect"
-msgstr ""
+msgstr "_ຕັດການເຊື່ອມຕໍ່"
 
 #: tryton/gui/main.py:414
 msgid "Data_base"
-msgstr ""
+msgstr "ຖານ_ຂໍ້ມູນ"
 
 #: tryton/gui/main.py:425
 msgid "_New Database..."
-msgstr ""
+msgstr "_ສ້າງ ຖານຂໍ້ມູນ..."
 
 #: tryton/gui/main.py:434
 msgid "_Restore Database..."
-msgstr ""
+msgstr "_ກູ້ຄືນ ຖານຂໍ້ມູນ..."
 
 #: tryton/gui/main.py:443
 msgid "_Backup Database..."
-msgstr ""
+msgstr "_ສຳເນົາ ຖານຂໍ້ມູນ..."
 
 #: tryton/gui/main.py:452
 msgid "Dro_p Database..."
-msgstr ""
+msgstr "_ຖິ້ມ ຖານຂໍ້ມູນ..."
 
 #: tryton/gui/main.py:461
 msgid "_Quit..."
-msgstr ""
+msgstr "_ອອກ..."
 
 #: tryton/gui/main.py:476
 msgid "_Preferences..."
-msgstr ""
+msgstr "_ການຕັ້ງຄ່າຂອງ..."
 
 #: tryton/gui/main.py:487
 msgid "_Menu Reload"
-msgstr ""
+msgstr "_ໂຫຼດ ລາຍການຄຳສັ່ງໃໝ່"
 
 #: tryton/gui/main.py:496
 msgid "_Menu Toggle"
-msgstr ""
+msgstr "_ສະຫຼັບລາຍການຄຳສັ່ງ"
 
 #: tryton/gui/main.py:503
 msgid "_Global Search"
-msgstr ""
+msgstr "_ຊອກຫາໂດຍລວມ"
 
 #: tryton/gui/main.py:518
 msgid "_Toolbar"
-msgstr ""
+msgstr "_ແຖບເຄື່ອງມື"
 
 #: tryton/gui/main.py:526
 msgid "_Default"
-msgstr ""
+msgstr "_ຄ່າເດີມ"
 
 #: tryton/gui/main.py:536
 msgid "_Text and Icons"
-msgstr ""
+msgstr "_ຂໍ້ຄວາມ ແລະ ປຸ່ມລັດ"
 
 #: tryton/gui/main.py:546
 msgid "_Icons"
-msgstr ""
+msgstr "_ປຸ່ມລັດ"
 
 #: tryton/gui/main.py:555
 msgid "_Text"
-msgstr ""
+msgstr "_ຂໍ້ຄວາມ"
 
 #: tryton/gui/main.py:564
 msgid "_Menubar"
-msgstr ""
+msgstr "_ແຖບຄຳສັ່ງງານ"
 
 #: tryton/gui/main.py:572
 msgid "Change Accelerators"
-msgstr ""
+msgstr "ປ່ຽນໂຕເລັ່ງ"
 
 #: tryton/gui/main.py:580
 msgid "_Mode"
-msgstr ""
+msgstr "_ແບບສະແດງ"
 
 #: tryton/gui/main.py:588
 msgid "_Normal"
-msgstr ""
+msgstr "_ທຳມະດາ"
 
 #: tryton/gui/main.py:596
 msgid "_PDA"
-msgstr ""
+msgstr "_ພີດີເອ (PDA)"
 
 #: tryton/gui/main.py:603
 msgid "_Form"
-msgstr ""
+msgstr "_ຮ່າງ"
 
 #: tryton/gui/main.py:612
 msgid "Save Width/Height"
-msgstr ""
+msgstr "ບັນທຶກ ຄວາມກວ້າງ/ຄວາມສູງ"
 
 #: tryton/gui/main.py:623
 msgid "Save Tree State"
-msgstr ""
+msgstr "ບັນທຶກ ສະຖານະ ໂຄງສ້າງ"
 
 #: tryton/gui/main.py:635
 msgid "Fast Tabbing"
-msgstr ""
+msgstr "ຍ້າຍແບບໄວ"
 
 #: tryton/gui/main.py:645
 msgid "Spell Checking"
-msgstr ""
+msgstr "ກວດສອບການສະກົດຄຳ"
 
 #: tryton/gui/main.py:655
 msgid "_Previous Tab"
-msgstr ""
+msgstr "_ແຖບງານກ່ອນໜ້າ"
 
 #: tryton/gui/main.py:661
 msgid "_Next Tab"
-msgstr ""
+msgstr "_ແຖບງານ ຕໍ່ໄປ"
 
 #: tryton/gui/main.py:667
 msgid "Search Limit..."
-msgstr ""
+msgstr "ຈຳກັດການຊອກຫາ..."
 
 #: tryton/gui/main.py:673
 msgid "_Email..."
-msgstr ""
+msgstr "_ອີເມວລ໌..."
 
 #: tryton/gui/main.py:681
 msgid "_Save Options"
-msgstr ""
+msgstr "_ບັນທຶກ ທາງເລືອກ"
 
 #: tryton/gui/main.py:693
 msgid "_Tips..."
-msgstr ""
+msgstr "_ຂໍ້ແນະນຳ..."
 
 #: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
-msgstr ""
+msgstr "_ປຸ່ມລັດທາງແປ້ນພິມ..."
 
 #: tryton/gui/main.py:711
 msgid "_About..."
-msgstr ""
+msgstr "_ກ່ຽວກັບ..."
 
 #: tryton/gui/main.py:762
 msgid "Manage Favorites"
-msgstr ""
+msgstr "ບໍລິຫານລາຍການທີ່ມັກ"
 
 #: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
 #: tryton/gui/window/view_form/view/screen_container.py:151
@@ -501,156 +517,168 @@ msgstr ""
 #: 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 ""
+msgstr "ຊອກຫາ"
 
 #: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
+"ການດຳເນີນການດັ່ງຕໍ່ໄປນີ້ ຕ້ອງການໃຫ້ ອັດແຖບງານທັງໝົດລົງ\n"
+"ທ່ານຕ້ອງການສືບຕໍ່ບໍ່?"
 
 #: tryton/gui/main.py:1173
 msgid "Close Tab"
-msgstr ""
+msgstr "ອັດແຖບງານ"
 
 #: tryton/gui/main.py:1294
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
 msgstr ""
+"ທ່ານກຳລັງຈະລຶບ ຖານຂໍ້ມູນ ໄຕຣຕັອນ.\n"
+"ທ່ານແນ່ໃຈບໍ່ວ່າຈະດຳເນີນການຕໍ່?"
 
 #: tryton/gui/main.py:1304
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
 msgstr ""
+"ລະຫັດ ເຂົ້າ ແມ່ຂ່າຍ ໄຕຣຕັອນ ຜິດ\n"
+"ກະລຸນາ ລອງໃໝ່ອີກ"
 
 #: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
 #: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
-msgstr ""
+msgstr "ການເຂົ້າຫາຖືກປະຕິເສດ!"
 
 #: tryton/gui/main.py:1309
 msgid "Database drop failed with error message:\n"
-msgstr ""
+msgstr "ການຖິ້ມຖານຂໍ້ມູນລົ້ມເຫຼວ ພ້ອມກັບຂໍ້ຄວາມແຈ້ງຜິດພາດ:\n"
 
 #: tryton/gui/main.py:1310
 msgid "Database drop failed!"
-msgstr ""
+msgstr "ການຖິ້ມຖານຂໍ້ມູນລົ້ມເຫຼວ!"
 
 #: tryton/gui/main.py:1312
 msgid "Database dropped successfully!"
-msgstr ""
+msgstr "ຖານຂໍ້ມູນຖືກຖິ້ມສຳເລັດ!"
 
 #: tryton/gui/main.py:1317
 msgid "Open Backup File to Restore..."
-msgstr ""
+msgstr "ໄຂຟາຍລ໌ສຳເນົາຂໍ້ມມູນຂຶ້ນມາເພື່ອກູ້ຄືນ..."
 
 #: tryton/gui/main.py:1335
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
+"ການກູ້ຄືນຖານຂໍ້ມູນທີ່ມີລະຫັດປ້ອງກັນ ເປັນໄປບໍ່ໄດ້.\n"
+"ການສຳເນົາຂໍ້ມູນ ແລະ ການກູ້ຄືນ ຕ້ອງການໃຫ້ດຳເນີນການເອງດ້ວຍມື."
 
 #: tryton/gui/main.py:1339 tryton/gui/main.py:1375
 msgid "Database is password protected!"
-msgstr ""
+msgstr "ຖານຂໍ້ມູນມີລະຫັດປ້ອງກັນ!"
 
 #: tryton/gui/main.py:1341 tryton/gui/main.py:1377
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
 msgstr ""
+"ລະຫັດຜ່ານແມ່ຂ່າຍ ຜິດ!\n"
+"ກະລຸນາ ລອງອີກໃໝ່."
 
 #: tryton/gui/main.py:1346
 msgid "Database restore failed with error message:\n"
-msgstr ""
+msgstr "ການກູ້ຄືນຂໍ້ມູນລົ້ມເຫຼວ ພ້ອມກັບຂໍ້ຄວາມແຈ້ງຜິດພາດ:\n"
 
 #: tryton/gui/main.py:1348 tryton/gui/main.py:1353
 msgid "Database restore failed!"
-msgstr ""
+msgstr "ການກູ້ຄືນຖານຂໍ້ມູນ ລົ້ມເຫຼວ!"
 
 #: tryton/gui/main.py:1351
 msgid "Database restored successfully!"
-msgstr ""
+msgstr "ການກູ້ຄືນຖານຂໍ້ມູນສຳເລັດ!"
 
 #: tryton/gui/main.py:1372
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
+"ການຖ້າຍໂອນຖານຂໍ້ມູນທີ່ມີລະຫັດປ້ອງກັນ ເປັນໄປບໍ່ໄດ້.\n"
+"ການສຳເນົາຂໍ້ມູນ ແລະ ການກູ້ຄືນ ຕ້ອງການໃຫ້ດຳເນີນການເອງດ້ວຍມື."
 
 #: tryton/gui/main.py:1382
 msgid "Database dump failed with error message:\n"
-msgstr ""
+msgstr "ການໂອນຖ່າຍຖານຂໍ້ມູນລົ້ມເຫຼວ ດ້ວຍຂໍ້ຄວາມຜິດພາດແຈ້ງເຕືອນ:\n"
 
 #: tryton/gui/main.py:1384
 msgid "Database dump failed!"
-msgstr ""
+msgstr "ການໂອນຖ່າຍຂໍ້ມູນລົ້ມເຫຼວ!"
 
 #: tryton/gui/main.py:1395
 msgid "Database backuped successfully!"
-msgstr ""
+msgstr "ການສຳເນົາຂໍ້ມູນສຳເລັດຜົນ!"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
-msgstr ""
+msgstr "ສ້າງໃໝ່"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
-msgstr ""
+msgstr "ສ້າງແຖວຂໍ້ມູນໃໝ່"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 #: tryton/gui/window/win_export.py:83
 msgid "Save"
-msgstr ""
+msgstr "ບັນທຶກ"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
-msgstr ""
+msgstr "ບັນທຶກແຖວຂໍ້ມູນນີ້"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 #: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
-msgstr ""
+msgstr "ສະຫຼັບ"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
-msgstr ""
+msgstr "ສະຫຼັບປ່ຽນການເບິ່ງ"
 
 #: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
-msgstr ""
+msgstr "_ໂຫຼດຂຶ້ນໃໝ່"
 
 #: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
-msgstr ""
+msgstr "ໂຫຼດຂຶ້ນມາໃໝ່"
 
 #: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
-msgstr ""
+msgstr "_ສ້າງໃໝ່"
 
 #: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
 #: tryton/gui/window/win_form.py:68
 msgid "_Save"
-msgstr ""
+msgstr "_ບັນທຶກ"
 
 #: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
-msgstr ""
+msgstr "_ສະຫຼັບໜ້າເບິ່ງ"
 
 #: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
-msgstr ""
+msgstr "_ໂຫຼດຄືນໃໝ່/ຍົກເລີກ"
 
 #: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
-msgstr ""
+msgstr "_ລຶບ..."
 
 #: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
-msgstr ""
+msgstr "_ອັດແຖບງານ"
 
 #: tryton/gui/window/dbcreate.py:29
 msgid ""
@@ -658,10 +686,13 @@ msgid ""
 " if the server is installed on this computer. Click on 'Change' to change "
 "the address."
 msgstr ""
+"ນີ້ແມ່ນທີ່ຢູ່ຂອງແມ່ຂ່າຍ ໄຕຣຕັອນ. ໃຫ້ໃຊ້ ແມ່ຂ່າຍ 'ແມ່ຂ່າຍກັບທີ່' "
+"ແລະປະຕູເຊື່ອມຕໍ່ '8000' ຖ້າຫາກແມ່ຂ່າຍ ຖືກຕິດຕັ້ງໄວ້ໃນຄັອມພິວເຕີຣ໌ນີ້. ກົດໃສ່"
+" 'ປ່ຽນ' ເພື່ອປ່ຽນ ທີ່ຢູ່."
 
 #: tryton/gui/window/dbcreate.py:42
 msgid "No connection!"
-msgstr ""
+msgstr "ບໍ່ມີການເຊື່ອມຕໍ່!"
 
 #: tryton/gui/window/dbcreate.py:43
 msgid ""
@@ -671,26 +702,31 @@ msgid ""
 "3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
+"ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍນີ້ໄດ້!\n"
+"1. ລອງກວດເບິ່ງວ່າ ແມ່ຂ່າຍ ແລ່ນຢູ່ ຫຼື ບໍ່.\n"
+"2. ຊອກໃຫ້ເຫັນສາເຫດວ່າ ທີ່ຢູ່ໃດ ແລະ ປະຕູເຊື່ອມຕໍ່ໃດ ທີ່ມັນລໍຮັບຢູ່.\n"
+"3. ຖ້າຫາກວ່າ ມີລະບົບກຳແພງໄຟປ້ອງກັນຢູ່ ລະຫວ່າງກາງ ແມ່ຂ່າຍ ແລະ ລູກຂ່າຍ, ໃຫ້ແນ່ໃຈວ່າ ທີ່ຢູ່ ແລະ ປະຕູເຊື່ອມຕໍ່ (ໂດຍທົ່ວໄປແມ່ນ 8000) ຂອງ ແມ່ຂ່າຍ ບໍ່ໄດ້ຖືກກັນໄວ້.\n"
+"ໃຫ້ກົດໃສ່ 'ປ່ຽນ' ເພື່ອປ່ຽນທີ່ຢູ່."
 
 #: tryton/gui/window/dbcreate.py:134
 msgid "Create new database"
-msgstr ""
+msgstr "ສ້າງຖານຂໍ້ມູນໃໝ່"
 
 #: tryton/gui/window/dbcreate.py:144
 msgid "C_reate"
-msgstr ""
+msgstr "ສ້_າງ"
 
 #: tryton/gui/window/dbcreate.py:152
 msgid "Create the new database."
-msgstr ""
+msgstr "ສ້າງຖານຂໍ້ມູນຂຶ້ນໃໝ່."
 
 #: tryton/gui/window/dbcreate.py:163
 msgid "Server Setup:"
-msgstr ""
+msgstr "ຕັ້ງຄ່າ ແມ່ຂ່າຍ:"
 
 #: tryton/gui/window/dbcreate.py:168
 msgid "Server connection:"
-msgstr ""
+msgstr "ການເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ:"
 
 #: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
 #: tryton/gui/window/dbrestore.py:89
@@ -699,20 +735,23 @@ msgid ""
 " server is installed on this computer. Click on 'Change' to change the "
 "address."
 msgstr ""
+"ນີ້ແມ່ນ ທີ່ຢູ່ ຂອງ ແມ່ຂ່າຍ. ໃຫ້ໃຊ້ ແມ່ຂ່າຍ 'ແມ່ຂ່າຍກັບທີ່' ແລະ ປະຕູເຊື່ອມຕໍ່"
+" '8000' ຖ້າຫາກແມ່ຂ່າຍ ຖືກຕິດຕັ້ງໄວ້ໃນຄັອມພິວເຕີຣ໌ນີ້. ກົດໃສ່ 'ປ່ຽນ' "
+"ເພື່ອປ່ຽນ ທີ່ຢູ່."
 
 #: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
 #: tryton/gui/window/dbrestore.py:94
 msgid "C_hange"
-msgstr ""
+msgstr "ປ່ຽ_ນ"
 
 #: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
 msgid "Setup the server connection..."
-msgstr ""
+msgstr "ຕັ້ງຄ່າການເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ..."
 
 #: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
 #: tryton/gui/window/dbrestore.py:103
 msgid "Tryton Server Password:"
-msgstr ""
+msgstr "ລະຫັດຜ່ານແມ່ຂ່າຍໄຕຣຕັອນ:"
 
 #: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
 #: tryton/gui/window/dbrestore.py:114
@@ -720,14 +759,16 @@ msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real user."
 " This password is usually defined in the trytond configuration."
 msgstr ""
+"ນີ້ແມ່ນລະຫັດຜ່ານຂອງແມ່ຂ່າຍໄຕຣຕັອນ. ມັນບໍ່ແມ່ນເປັນຂອງຜູ້ໃຊ້ງານຕົວຈິງ. "
+"ລະຫັດຜ່ານນີ້ ໃຊ້ສຳລັບລະບຸໃນການກຳນົດຄ່າ ໄຕຣຕັອນດີ (Trytond) ເທົ່ານັ້ນ."
 
 #: tryton/gui/window/dbcreate.py:215
 msgid "New database setup:"
-msgstr ""
+msgstr "ຕິດຕັ້ງຖານຂໍ້ມູນໃໝ່:"
 
 #: tryton/gui/window/dbcreate.py:221
 msgid "Database name:"
-msgstr ""
+msgstr "ຊື່ຖານຂໍ້ມູນ:"
 
 #: tryton/gui/window/dbcreate.py:234
 msgid ""
@@ -735,10 +776,13 @@ msgid ""
 "Allowed characters are alphanumerical or _ (underscore)\n"
 "You need to avoid all accents, space or special characters! Example: tryton"
 msgstr ""
+"ເລືອກຊື່ຂອງຖານຂໍ້ມູນໃໝ່.\n"
+"ອະນຸຍາດໃຫ້ໃສ່ທັງ ໂຕອັກສອນແລະໂຕເລກ ຫຼື _ (ຂີດຕໍ່ລຸ່ມ)\n"
+"ທ່ານຕ້ອງຫຼີກເວັ້ນທຸກວັນນະຍຸດ, ວ່າງ ຫຼື ອັກຄະລະ ພິເສດ! ຕົວຢ່າງ: tryton"
 
 #: tryton/gui/window/dbcreate.py:241
 msgid "Default language:"
-msgstr ""
+msgstr "ພາສາ ເລີ່ມຕົ້ນ:"
 
 #: tryton/gui/window/dbcreate.py:251
 msgid ""
@@ -746,10 +790,13 @@ msgid ""
 "will be able to install new languages after installation through the "
 "administration menu."
 msgstr ""
+"ເລືອກພາສາໃນຕອນຕົ້ນທີ່ຈະຕິດຕັ້ງສໍາລັບຖານຂໍ້ມູນນີ້. "
+"ທ່ານສາມາດຕິດຕັ້ງພາສາໃໝ່ເຂົ້າໄດ້ອີກ ຫຼັງຈາກຕິດຕັ້ງແລ້ວ ໂດຍຜ່ານ ລາຍການຄຳສັ່ງ "
+"ຜູ້ບໍລິຫານ."
 
 #: tryton/gui/window/dbcreate.py:255
 msgid "Admin password:"
-msgstr ""
+msgstr "ລະຫັດຜ່ານຜູ້ບໍລິຫານ:"
 
 #: tryton/gui/window/dbcreate.py:266
 msgid ""
@@ -757,36 +804,41 @@ msgid ""
 "User name: admin\n"
 "Password: <The password you set here>"
 msgstr ""
+"ເລືອກລະຫັດຜ່ານຖານຂໍ້ມູນໃໝ່ ສຳລັບຜູ້ໃຊ້ໃນນາມຜູ້ບໍລິຫານ. ດ້ວຍການມີສິທິດນີ້ ທ່ານຈຶ່ງຈະສາມາດເຂົ້າໄປເຖິງຖານຂໍ້ມູນນີ້ໄດ້ໃນພາຍຫຼັງ.\n"
+"ຜູ້ໃຊ້: admin\n"
+"ລະຫັດຜ່ານ: <ໃສ່ລະຫັດຜ່ານທີ່ທ່ານຕັ້ງຢູ່ບ່ອນນີ້>"
 
 #: tryton/gui/window/dbcreate.py:274
 msgid "Confirm admin password:"
-msgstr ""
+msgstr "ຢືນຢັນ ລະຫັດຜ່ານ ຜູ້ບໍລິຫານ:"
 
 #: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
-msgstr ""
+msgstr "ພິມລະຫັດຜ່ານຜູ້ບໍລິຫານຄືນອີກ"
 
 #: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
-msgstr ""
+msgstr "ລະຫັດຜ່ານໃໝ່ຂອງຜູ້ບໍລິຫານ ບໍ່ກົງກັັນ ໃນຫ້ອງຢືນຢັນລະຫັດຜ່ານ.\n"
 
 #: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
-msgstr ""
+msgstr "ລະຫັດຜ່ານບໍ່ກົງກັນ!"
 
 #: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
 msgstr ""
+"ຖານຂໍ້ມູນທີ່ມີຊື່ດຽວກັນນີ້ມີຢູ່ແລ້ວ.\n"
+"ລອງເອົາຊື່ຖານຂໍ້ມູນອື່ນເບິ່ງ."
 
 #: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
-msgstr ""
+msgstr "ຊື່ຖານຂໍ້ມູນນີ້ມີແລ້ວ!"
 
 #: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
-msgstr ""
+msgstr "ຂໍໂທດ, ລະຫັດຜ່ານແມ່ຂ່າຍ ໄຕຣຕັອນ ຜິດ. ກະລຸນາ ລອງໃໝ່ອີກ."
 
 #: tryton/gui/window/dbcreate.py:367
 msgid ""
@@ -794,147 +846,150 @@ msgid ""
 "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 ""
+msgstr "ການສ້າງຖານຂໍ້ມູນມີຂໍ້ຜິດພາດ!"
 
 #: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
-msgstr ""
+msgstr "ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍໄດ້!"
 
 #: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
-msgstr ""
+msgstr "ລຸ່ນຂອງລູກຂ່າຍນີ້ ບໍ່ເຂົ້າກັນກັບແມ່ຂ່າຍ!"
 
 #: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
-msgstr ""
+msgstr "ບໍ່ພົບຖານຂໍ້ມູນໃດໆ, ທ່ານຕ້ອງໄດ້ສ້າງຂຶ້ນມາ!"
 
 #: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
-msgstr ""
+msgstr "ສຳເນົາຖານຂໍ້ມູນໄວ້"
 
 #: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
-msgstr ""
+msgstr "ສຳເນົາໄວ້"
 
 #: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
-msgstr ""
+msgstr "ສຳເນົາຖານຂໍ້ມູນທີ່ເລືອກໄວ້."
 
 #: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
-msgstr ""
+msgstr "ເລືອກເອົາຖານຂໍ້ມູນໄຕຣຕັອນ ເພື່ອສຳເນົາໄວ້:"
 
 #: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
-msgstr ""
+msgstr "ລືບຖານຂໍ້ມູນ"
 
 #: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
-msgstr ""
+msgstr "ລືບ"
 
 #: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
-msgstr ""
+msgstr "ລຶບຖານຂໍ້ມູນທີ່ເລືອກໄວ້."
 
 #: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
-msgstr ""
+msgstr "ເລືອກເອົາຖານຂໍ້ມູນໄຕຣຕັອນ ເພື່ອລຶບ:"
 
 #: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
-msgstr ""
+msgstr "ການເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ:"
 
 #: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
 #: tryton/gui/window/dblogin.py:434
 msgid "Database:"
-msgstr ""
+msgstr "ຖານຂໍ້ມູນ:"
 
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
-msgstr ""
+msgstr "ຂໍ້ມູນລາຍລະອຽດສ່ວນຕົວຂອງຜູ້ແກ້ໄຂ"
 
 #: tryton/gui/window/dblogin.py:46
 msgid "Profile"
-msgstr ""
+msgstr "ຂໍ້ມູນລາຍລະອຽດສ່ວນຕົວ"
 
 #: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
-msgstr ""
+msgstr "_ເພີ່ມເຂົ້າ"
 
 #: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
-msgstr ""
+msgstr "ເ_ອົາອອກ"
 
 #: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
-msgstr ""
+msgstr "ແມ່ຂ່າຍ:"
 
 #: tryton/gui/window/dblogin.py:98
 msgid "Create"
-msgstr ""
+msgstr "ສ້າງ"
 
 #: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
-msgstr ""
+msgstr "ລາຍການດຶງເອົາຖານຂໍ້ມູນ"
 
 #: tryton/gui/window/dblogin.py:119
 msgid "Username:"
-msgstr ""
+msgstr "ຜູ້ໃຊ້:"
 
 #: tryton/gui/window/dblogin.py:297
 msgid "Could not connect to the server"
-msgstr ""
+msgstr "ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍໄດ້"
 
 #: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
 msgid "Incompatible version of the server"
-msgstr ""
+msgstr "ບໍ່ຖືກລຸ່ນກັບແມ່ຂ່າຍ"
 
 #: tryton/gui/window/dblogin.py:359
 msgid "Login"
-msgstr ""
+msgstr "ເຂົ້າສູ່ລະບົບ"
 
 #: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
-msgstr ""
+msgstr "_ຍົກເລີກ"
 
 #: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
-msgstr ""
+msgstr "ຍົກເລີກການເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ ໄຕຣຕັອນ"
 
 #: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
-msgstr ""
+msgstr "ເ_ຊື່ອມຕໍ່"
 
 #: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
-msgstr ""
+msgstr "ເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ ໄຕຣຕັອນ"
 
 #: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
-msgstr ""
+msgstr "ລາຍລະອຽດສ່ວນຕົວ:"
 
 #: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
-msgstr ""
+msgstr "_ບໍລິຫານລາຍລະອຽດສ່ວນຕົວ"
 
 #: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
-msgstr ""
+msgstr "ແມ່ຂ່າຍ / ຂໍ້ມູນກ່ຽວກັບຖານຂໍ້ມູນ"
 
 #: tryton/gui/window/dblogin.py:459
 msgid "User name:"
-msgstr ""
+msgstr "ຊື່ຜູ້ໃຊ້:"
 
 #: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
-msgstr ""
+msgstr "ກູ້ຄືນຖານຂໍ້ມູນ"
 
 #: tryton/gui/window/dbrestore.py:122
 msgid "File to Restore:"
-msgstr ""
+msgstr "ຟາຍລ໌ທີ່ຈະກູ້ຄືນ:"
 
 #: tryton/gui/window/dbrestore.py:136
 msgid ""
@@ -943,472 +998,478 @@ msgid ""
 "You need to avoid all accents, space or special characters! \n"
 "Example: tryton"
 msgstr ""
+"ເລືອກເອົາຊື່ຂອງຖານຂໍ້ມູນທີ່ຈະກູ້ຄືນ.\n"
+"ອະນຸຍາດໃຫ້ໃຊ້ໂຕອັກສອນ ໂຕເລກ ຫຼື _ (ຂີດຕໍ່ລຸ່ມ)\n"
+"ທ່ານຕ້ອງຫຼີກເວັ້ນທຸກ ວັນນະຍຸດ, ວ່າງ ຫຼື ອັກຄະລະ ພິເສດ!\n"
+"ຕົວຢ່າງ: tryton"
 
 #: tryton/gui/window/dbrestore.py:142
 msgid "New Database Name:"
-msgstr ""
+msgstr "ຊື່ຖານຂໍ້ມູນໃໝ່:"
 
 #: tryton/gui/window/dbrestore.py:146
 msgid "Update Database:"
-msgstr ""
+msgstr "ປັບປຸງຖານຂໍ້ມູນ:"
 
 #: tryton/gui/window/dbrestore.py:151
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
 msgstr ""
+"ກວດສອບການປັບປຸງຖານຂໍ້ມູນອັດຕະໂນມັດ ພາຍຫຼັງ ກູ້ຄືນຖານຂໍ້ມູນ ຈາກ ໄຕຣຕັອນ "
+"ລຸ່ນກ່ອນ."
 
 #: tryton/gui/window/dbrestore.py:161
 msgid "Restore"
-msgstr ""
+msgstr "ກູ້ຄືນ"
 
 #: tryton/gui/window/dbrestore.py:170
 msgid "Restore the database from file."
-msgstr ""
+msgstr "ກູ້ຄືນຖານຂໍ້ມູນ ຈາກຟາຍລ໌."
 
 #: tryton/gui/window/email.py:16
 msgid "Email"
-msgstr ""
+msgstr "ອີເມວລ໌"
 
 #: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
-msgstr ""
+msgstr "ການຕັ້ງຄ່າໂປຣແກຣມອີເມວລ໌"
 
 #: tryton/gui/window/email.py:28
 msgid "Command Line:"
-msgstr ""
+msgstr "ຄຳສັ່ງງານ:"
 
 #: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
-msgstr ""
+msgstr "ເລື່ອງຂອງ ທີ່ຢູ່ ທີ່ມີປັດຈຸບັນ:"
 
 #: tryton/gui/window/email.py:45
 msgid "To:"
-msgstr ""
+msgstr "ເຖິງ:"
 
 #: tryton/gui/window/email.py:49
 msgid "CC:"
-msgstr ""
+msgstr "CC:"
 
 #: tryton/gui/window/email.py:53
 msgid "Subject:"
-msgstr ""
+msgstr "ຫົວເລື່ອງ:"
 
 #: tryton/gui/window/email.py:57
 msgid "Body:"
-msgstr ""
+msgstr "ໂຕ:"
 
 #: tryton/gui/window/email.py:61
 msgid "Attachment:"
-msgstr ""
+msgstr "ເອກະສານຄັດຕິດ:"
 
 #: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
 #: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
-msgstr ""
+msgstr "ກ່ອນໜ້າ"
 
 #: tryton/gui/window/form.py:42
 msgid "Previous Record"
-msgstr ""
+msgstr "ແຖວຂໍ້ມູນກ່ອນນີ້"
 
 #: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
 #: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
-msgstr ""
+msgstr "ຕໍ່ໄປ"
 
 #: tryton/gui/window/form.py:43
 msgid "Next Record"
-msgstr ""
+msgstr "ແຖວຂໍ້ມູນ ຕໍ່ໄປ"
 
 #: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
-msgstr ""
+msgstr "ຄັດຕິດ(0)"
 
 #: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
-msgstr ""
+msgstr "ເພີ່ມເອກະສານຄັດຕິດໃສ່ແຖວຂໍ້ມູນ"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "ບັນທຶກ (0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "ເພີ່ມບັນທຶກຂໍ້ຄວາມໃສ່ແຖວຂໍ້ມູນ"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
-msgstr ""
+msgstr "_ເຮັດຊໍ້າກັນ"
 
 #: tryton/gui/window/form.py:63
 msgid "_Previous"
-msgstr ""
+msgstr "_ກ່ອນໜ້າ"
 
 #: tryton/gui/window/form.py:65
 msgid "_Next"
-msgstr ""
+msgstr "_ຕໍ່ໄປ"
 
 #: tryton/gui/window/form.py:66
 msgid "_Search"
-msgstr ""
+msgstr "_ຊອກຫາ"
 
 #: tryton/gui/window/form.py:67
 msgid "View _Logs..."
-msgstr ""
+msgstr "ເບິ່ງ_ບັນທຶກ..."
 
 #: tryton/gui/window/form.py:68
 msgid "Show revisions..."
-msgstr ""
+msgstr "ສະແດງການກວດແກ້ຄືນ..."
 
 #: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
-msgstr ""
+msgstr "ຄ_ັດຕິດ..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_ຈົດບັນທຶກ..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
-msgstr ""
+msgstr "_ດຳເນີນການ..."
 
 #: tryton/gui/window/form.py:78
 msgid "_Relate..."
-msgstr ""
+msgstr "_ທີ່ກ່ຽວພັນ..."
 
 #: tryton/gui/window/form.py:81
 msgid "_Report..."
-msgstr ""
+msgstr "_ລາຍງານ..."
 
 #: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
-msgstr ""
+msgstr "_ອີ-ແມວລ໌.."
 
 #: tryton/gui/window/form.py:85
 msgid "_Print..."
-msgstr ""
+msgstr "_ພິມອອກ..."
 
 #: tryton/gui/window/form.py:88
 msgid "_Export Data..."
-msgstr ""
+msgstr "_ສົ່ງອອກຂໍ້ມູນ..."
 
 #: tryton/gui/window/form.py:90
 msgid "_Import Data..."
-msgstr ""
+msgstr "_ນໍາເຂົ້າຂໍ້ມູນ..."
 
 #: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
-msgstr ""
+msgstr "ຄັດຕິດ(%d)"
 
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "ບັນທຶກ (%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
-msgstr ""
+msgstr "ທ່ານຕ້ອງໄດ້ເລືອກ ໜຶ່ງແຖວຂໍ້ມູນ."
 
 #: tryton/gui/window/form.py:262
 msgid "ID:"
-msgstr ""
+msgstr "ເລກລໍາດັບ:"
 
 #: tryton/gui/window/form.py:263
 msgid "Creation User:"
-msgstr ""
+msgstr "ຜູ້ສ້າງ:"
 
 #: tryton/gui/window/form.py:264
 msgid "Creation Date:"
-msgstr ""
+msgstr "ວັນທີສ້າງ:"
 
 #: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
-msgstr ""
+msgstr "ປັບປ່ຽນລ້າສຸດ ໂດຍ:"
 
 #: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
-msgstr ""
+msgstr "ວັນທີປັບປ່ຽນລ້າສຸດ:"
 
 #: tryton/gui/window/form.py:285
 msgid "Model:"
-msgstr ""
+msgstr "ແບບ:"
 
 #: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
-msgstr ""
+msgstr "ທ່ານແນ່ໃຈບໍ່ທີ່ຈະລຶບແຖວຂໍ້ມູນນີ້?"
 
 #: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
-msgstr ""
+msgstr "ທ່ານແນ່ໃຈບໍ່ທີ່ຈະລຶບແຖວຂໍ້ມູນເຫຼົ່ານີ້?"
 
 #: tryton/gui/window/form.py:350
 msgid "Records not removed."
-msgstr ""
+msgstr "ແຖວຂໍ້ມູນບໍ່ທັນຖືກເອົາອອກ."
 
 #: tryton/gui/window/form.py:352
 msgid "Records removed."
-msgstr ""
+msgstr "ແຖວຂໍ້ມູນຖືກເອົາອອກແລ້ວ."
 
 #: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "ດຽວນີ້ກຳລັງເຮັດວຽກກັບແຖວຂໍ້ມູນທີ່ສ້າງຂຶ້ນຊ້ອນກັນ."
 
 #: tryton/gui/window/form.py:390
 msgid "Record saved."
-msgstr ""
+msgstr "ແຖວຂໍ້ມູນບັນທຶກແລ້ວ"
 
 #: tryton/gui/window/form.py:492
 msgid " of "
-msgstr ""
+msgstr "ຂອງ"
 
 #: tryton/gui/window/form.py:513
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
-msgstr ""
+msgstr "ແຖວຂໍ້ມູນນີ້ ຖືກແກ້ໄຂແລ້ວ ທ່ານຕ້ອງການບັນທຶກໄວ້ບໍ່?"
 
 #: tryton/gui/window/form.py:566
 msgid "Action"
-msgstr ""
+msgstr "ການດຳເນີນການ"
 
 #: tryton/gui/window/form.py:566
 msgid "Launch action"
-msgstr ""
+msgstr "ເປີດການດຳເນີນການ"
 
 #: tryton/gui/window/form.py:567
 msgid "Relate"
-msgstr ""
+msgstr "ທີ່ກ່ຽວພັນ"
 
 #: tryton/gui/window/form.py:567
 msgid "Open related records"
-msgstr ""
+msgstr "ໄຂແຖວຂໍ້ມູນທີ່ກ່ຽວພັນ"
 
 #: tryton/gui/window/form.py:569
 msgid "Report"
-msgstr ""
+msgstr "ລາຍງານ..."
 
 #: tryton/gui/window/form.py:569
 msgid "Open report"
-msgstr ""
+msgstr "ໄຂບົດລາຍງານ"
 
 #: tryton/gui/window/form.py:570
 msgid "E-Mail"
-msgstr ""
+msgstr "ອີ-ເມວລ໌"
 
 #: tryton/gui/window/form.py:570
 msgid "E-Mail report"
-msgstr ""
+msgstr "ລາຍງານທາງອີເມວລ໌"
 
 #: tryton/gui/window/form.py:571
 msgid "Print"
-msgstr ""
+msgstr "ພິມອອກ"
 
 #: tryton/gui/window/form.py:571
 msgid "Print report"
-msgstr ""
+msgstr "ພິມລາຍງານອອກ"
 
 #: tryton/gui/window/form.py:637
 #: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
-msgstr ""
+msgstr "ບໍ່ຮູ້"
 
 #: tryton/gui/window/limit.py:17
 msgid "Limit"
-msgstr ""
+msgstr "ຂີດຈຳກັດ:"
 
 #: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
-msgstr ""
+msgstr "ການຕັ້ງຄ່າຂີດຈຳກັດການຊອກຫາ"
 
 #: tryton/gui/window/limit.py:29
 msgid "Limit:"
-msgstr ""
+msgstr "ຂີດຈຳກັດ:"
 
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
-msgstr ""
+msgstr "ການຕັ້ງຄ່າ"
 
 #: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
-msgstr ""
+msgstr "ແກ້ໄຂການຕັ້ງຄ່າຜູ້ໃຊ້ງານ"
 
 #: tryton/gui/window/preference.py:75
 msgid "Preference"
-msgstr ""
+msgstr "ການຕັ້ງຄ່າ"
 
 #: tryton/gui/window/preference.py:88
 msgid "Current Password:"
-msgstr ""
+msgstr "ລະຫັດຜ່ານປັດຈຸບັນ:"
 
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
-msgstr ""
+msgstr "ການກວດແກ້ຄືນ"
 
 #: tryton/gui/window/revision.py:28
 msgid "Select a revision"
-msgstr ""
+msgstr "ເລືອກໜຶ່ງການກວດແກ້ຄືນ"
 
 #: tryton/gui/window/revision.py:31
 msgid "Revision:"
-msgstr ""
+msgstr "ການກວດແກ້ຄືນ:"
 
 #: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
-msgstr ""
+msgstr "ປຸ່ມລັດແປ້ນພິມ"
 
 #: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
-msgstr ""
+msgstr "ປຸ່ມລັດການປ້ອນຂໍ້ຄວາມ"
 
 #: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
-msgstr ""
+msgstr "ຕັດຂໍ້ຄວາມທີ່ເລືອກໄວ້"
 
 #: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
-msgstr ""
+msgstr "ກ່າຍເອົາຂໍ້ຄວາມທີ່ເລືອກໄວ້"
 
 #: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
-msgstr ""
+msgstr "ວາງຂໍ້ຄວາມທີ່ກ່າຍເອົາໃສ່"
 
 #: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
-msgstr ""
+msgstr "ເຄື່ອງມື ຕໍ່ໄປ"
 
 #: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
-msgstr ""
+msgstr "ເຄື່ອງມືກ່ອນໜ້ານີ້"
 
 #: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
-msgstr ""
+msgstr "ປຸ່ມລັດລາຍການສາຍພົວພັນ"
 
 #: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
-msgstr ""
+msgstr "ສ້າງການກ່ຽວພັນໃໝ່"
 
 #: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
-msgstr ""
+msgstr "ໄຂ/ຊອກຫາການກ່ຽວພັນ"
 
 #: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
-msgstr ""
+msgstr "ປຸ່ມລັດການປ້ອນລາຍການ"
 
 #: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
-msgstr ""
+msgstr "ສ້າງແຖວໃໝ່"
 
 #: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
-msgstr ""
+msgstr "ໄຂການກ່ຽວພັນ"
 
 #: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
-msgstr ""
+msgstr "ໝາຍແຖວເພື່ອລຶບອອກ"
 
 #: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
-msgstr ""
+msgstr "ບໍ່ໝາຍແຖວທີ່ຈະລຶບ"
 
 #: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
-msgstr ""
+msgstr "ເຄື່ອງມືການແກ້ໄຂ"
 
 #: tryton/gui/window/shortcuts.py:47
 msgid "Move Cursor"
-msgstr ""
+msgstr "ຍ້າຍ ເຄິກເຊີຣ໌"
 
 #: tryton/gui/window/shortcuts.py:48
 msgid "Move to right"
-msgstr ""
+msgstr "ຍ້າຍໄປຂວາ"
 
 #: tryton/gui/window/shortcuts.py:49
 msgid "Move to left"
-msgstr ""
+msgstr "ຍ້າຍໄປຊ້າຍ"
 
 #: tryton/gui/window/shortcuts.py:50
 msgid "Move up"
-msgstr ""
+msgstr "ຍ້າຍຂຶ້ນ"
 
 #: tryton/gui/window/shortcuts.py:51
 msgid "Move down"
-msgstr ""
+msgstr "ຍ້າຍລົງ"
 
 #: tryton/gui/window/shortcuts.py:52
 msgid "Move up of one page"
-msgstr ""
+msgstr "ຫຍັບຂຶ້ນໜຶ່ງໜ້າ"
 
 #: tryton/gui/window/shortcuts.py:53
 msgid "Move down of one page"
-msgstr ""
+msgstr "ຍ້າຍລົງລຸ່ມໜຶ່ງໜ້າ"
 
 #: tryton/gui/window/shortcuts.py:54
 msgid "Move to top"
-msgstr ""
+msgstr "ຍ້າຍຂຶ້ນເທິງສຸດ"
 
 #: tryton/gui/window/shortcuts.py:55
 msgid "Move to bottom"
-msgstr ""
+msgstr "ຍ້າຍລົງລຸ່ມ"
 
 #: tryton/gui/window/shortcuts.py:56
 msgid "Move to parent"
-msgstr ""
+msgstr "ຍ້າຍໄປຫາບັນຊີແມ່"
 
 #: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
 msgid "Select all"
-msgstr ""
+msgstr "ເລືອກທັງໝົດ"
 
 #: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
 msgid "Unselect all"
-msgstr ""
+msgstr "ບໍ່ເລືອກທັງໝົດ"
 
 #: tryton/gui/window/shortcuts.py:62
 msgid "Select parent"
-msgstr ""
+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 ""
+msgstr "ເລືອກ/ໃຊ້ງານແຖວປັດຈຸບັນ"
 
 #: tryton/gui/window/shortcuts.py:67
 msgid "Toggle selection"
-msgstr ""
+msgstr "ສະຫຼັບການເລືອກ"
 
 #: tryton/gui/window/shortcuts.py:68
 msgid "Expand/Collapse"
-msgstr ""
+msgstr "ຂະຫຽາຍອອກ/ຍຸບເຂົ້າກັນ"
 
 #: tryton/gui/window/shortcuts.py:69
 msgid "Expand row"
-msgstr ""
+msgstr "ຂະຫຽາຍແຖວອອກ"
 
 #: tryton/gui/window/shortcuts.py:70
 msgid "Collapse row"
-msgstr ""
+msgstr "ຍຸບແຖວເຂົ້າກັນ"
 
 #: tryton/gui/window/shortcuts.py:71
 msgid "Toggle row"
-msgstr ""
+msgstr "ສະຫຼັບແຖວ"
 
 #: tryton/gui/window/shortcuts.py:72
 msgid "Expand all rows"
-msgstr ""
+msgstr "ຂະຫຽາຍແຖວທັງໝົດ"
 
 #: tryton/gui/window/shortcuts.py:73
 msgid "Collapse all rows"
-msgstr ""
+msgstr "ຍຸບແຖວທັງໝົດ"
 
 #: tryton/gui/window/shortcuts.py:76
 msgid "Tree view"
-msgstr ""
+msgstr "ມູມມອງແບບຕົ້ນໄມ້"
 
 #: tryton/gui/window/tips.py:17
 msgid ""
@@ -1416,6 +1477,9 @@ msgid ""
 "\n"
 "\n"
 msgstr ""
+"<b>ຍິນດີຕ້ອນຮັບສູ່ໄຕຣຕັອນ</b>\n"
+"\n"
+"\n"
 
 #: tryton/gui/window/tips.py:21
 msgid ""
@@ -1431,6 +1495,18 @@ msgid ""
 "other known moons. It is also more massive than all the Solar System's\n"
 "159 known smaller moons combined.\n"
 msgstr ""
+"<b>ທ່ານຮູ້ຈັກ ໄຕຣຕັອນບໍ່, ມັນຄືອີກຊື່ໜຶ່ງສຳລັບໂຄງການຂອງພວກເຮົາ?</b>\n"
+"\n"
+"Triton (ອອກສຽງວ່າ /ˈtraɪtən/ TRYE-tən, ຫຼື ໃນພາສາ ເກຣກ Τρίτων) ແມ່ນ\n"
+"ດວງຈັນທີ່ໃຫຽ່ທີ່ສຸດ ຂອງ ດາວເນັນຈູນ (Neptune), ມັນຖືກຄົ້ນພົບ ເມື່ອ ວັນທີ 10 ຕຸລາ 1846\n"
+"ໂດຍນັກປາດ ວິນລຽມ ລາສແຊວລ໌. ມັນເປັນດວງເດືອນທີ່ໃຫຽ່ທີ່ສຸດໃນລະບົບສຸລິຍາຈັກກະວານ\n"
+" \n"
+"ດ້ວຍການໝຸນໄປໃນທິດທາງກັງກັນຂ້າມ, ຊຶ່ງເປັນວົງໂຄຈອນທີ່ໝຸນໄປໃນທິດທາງກົງກັນຂ້າມ ກັບການໝູນຂອງດວງດາວຂອງມັນ\n"
+"ດ້ວຍ ເສັ້ນຜ່າສູນກາງ ຂອງມັນ 2,700 ກມ ມັນຈຶ່ງເປັນ ດາວເດືອນທີ່ໃຫຍ່ສຸດອັນດັບເຈັດ\n"
+"ໃນລະບົບສຸລິຍະຈັກກະວານ. ໄຕຣຕັອນ ປະກອບດ້ວຍຫລາຍກວ່າ 99.5 ສ່ວນຮ້ອຍ \n"
+"ຂອງມວນສານທັງໝົດຂອງ ວົງໂຄຈອນ ເນັບຈູນ, ຮວມທັງວົງແຫວນ ແລະ ອີກ 12 ດວງເດືອນອື່ນໆ\n"
+"ທີ່ຮູ້ຈັກ ຂອງ ໝູ່ດາວເຄາະ. ມັນຍັງເປັນມວນສານທີ່ໃຫຍ່ກວ່າໝູ່ ຂອງ ກຸ່ມດາວນ້ອຍ \n"
+"159 ດວງຮວມເຂົ້າກັນ ໃນລະບົບສຸລະຍະຈັກະວານ.\n"
 
 #: tryton/gui/window/tips.py:33
 msgid ""
@@ -1439,6 +1515,10 @@ msgid ""
 "You can copy records from any list with Ctrl + C\n"
 "and paste in any application with Ctrl + V\n"
 msgstr ""
+"<b>ສົ່ງອອກລາຍການແຖວຂໍ້ມູນ</b>\n"
+"\n"
+"ທ່ານສາມາດກ່າຍເອົາແຖວຂໍ້ມູນຈາກລາຍການໃດກໍໄດ້ ໂດຍກົດປຸ່ມ Ctrl + C\n"
+"ແລະ ວາງໃສ່ ບ່ອນໃດກໍໄດ້ ໂດຍ ກົດປຸ່ມ Ctrl + V\n"
 
 #: tryton/gui/window/tips.py:38
 msgid ""
@@ -1446,98 +1526,101 @@ msgid ""
 "\n"
 "You can save any graphs in PNG file with right-click on it.\n"
 msgstr ""
+"<b>Export graphs</b>\n"
+"\n"
+"You can save any graphs in PNG file with right-click on it.\n"
 
 #: tryton/gui/window/tips.py:45
 msgid "Tips"
-msgstr ""
+msgstr "ການແນະນຳພິເສດ"
 
 #: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
-msgstr ""
+msgstr "_ສະແດງເຄັດລັບຄັ້ງຕໍ່ໄປ"
 
 #: tryton/gui/window/win_csv.py:59
 msgid "<b>All fields</b>"
-msgstr ""
+msgstr "<b>ຊ່ອງຂໍ້ມູນທັງໝົດ</b>"
 
 #: tryton/gui/window/win_csv.py:86
 msgid "_Clear"
-msgstr ""
+msgstr "_ໃຫ້ເປົາ"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>ຊ່ອງຂໍ້ມູນທີ່ເລືອກໄວ້</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
-msgstr ""
+msgstr "ຂອບເຂດການໃຊ້ (parameters) ຂອງ ຟາຍລ໌ CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "ຕົວຂັ້ນ:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "ຂໍ້ຄວາມອ້າງອີງ:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
-msgstr ""
+msgstr "ເຂົ້າລະຫັດ:"
 
 #: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
 msgid "Field name"
-msgstr ""
+msgstr "ຊື່ຊ່ອງຂໍ້ມູນ"
 
 #: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
-msgstr ""
+msgstr "ສົ່ງອອກເປັນຟາຍລ໌ CSV"
 
 #: tryton/gui/window/win_export.py:39
 msgid "<b>Predefined exports</b>"
-msgstr ""
+msgstr "<b>ການສົ່ງອອກທີ່ຈັດຕຽມໄວ້ກ່ອນ</b>"
 
 #: tryton/gui/window/win_export.py:46
 msgid "Name"
-msgstr ""
+msgstr "ຊື່"
 
 #: tryton/gui/window/win_export.py:60
 msgid "_Save Export"
-msgstr ""
+msgstr "_ບັນທຶກການສົ່ງອອກ"
 
 #: tryton/gui/window/win_export.py:69
 msgid "_Delete Export"
-msgstr ""
+msgstr "_ລຶບການສົ່ງອອກ"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
-msgstr ""
+msgstr "ໄຂ"
 
 #: tryton/gui/window/win_export.py:87
 msgid "Add _field names"
-msgstr ""
+msgstr "ເພີ່ມ_ຊ່ອງຂໍ້ມູນ"
 
 #: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
-msgstr ""
+msgstr "%s (ສະຕຣິງ)"
 
 #: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
-msgstr ""
+msgstr "ຊື່ຂອງການສົ່ງອອກນີ້ແມ່ນຫຍັງ?"
 
 #: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
-msgstr ""
+msgstr "ຂຽນທັບ ຄຳອະທິບາຍ '%s' ນີ້ບໍ່?"
 
 #: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
-msgstr ""
+msgstr "ແຖວຂໍ້ມູນ %d ຖືກບັນທຶກແລ້ວ!"
 
 #: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
-msgstr ""
+msgstr "ບັນດາແຖວຂໍ້ມູນ %d ຖືກບັນທຶກແລ້ວ!"
 
 #: tryton/gui/window/win_export.py:329
 #, python-format
@@ -1546,129 +1629,132 @@ msgid ""
 "Error message:\n"
 "%s"
 msgstr ""
+"ການດຳເນີນການລົ້ມເຫຼວ!\n"
+"ຂໍ້ຄວາມເຕືອນຂໍ້ຜິດພາດ:\n"
+"%s"
 
 #: tryton/gui/window/win_form.py:36
 msgid "Link"
-msgstr ""
+msgstr "ເຊື່ອມໂຍງ"
 
 #: tryton/gui/window/win_form.py:128
 msgid "Add"
-msgstr ""
+msgstr "ເພີ່ມ"
 
 #: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
-msgstr ""
+msgstr "ເອົາອອກ"
 
 #: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
-msgstr ""
+msgstr "ສ້າງແຖວຂໍ້ມູນໃໝ່ <F3>"
 
 #: tryton/gui/window/win_form.py:168
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
-msgstr ""
+msgstr "ລຶບແຖວຂໍ້ມູນທີ່ເລືອກ <Del>"
 
 #: tryton/gui/window/win_form.py:182
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
-msgstr ""
+msgstr "ຍົກເລີກການລຶບແຖວທີ່ເລືອກ"
 
 #: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
-msgstr ""
+msgstr "ນໍາເຂົ້າຈາກ ຟາຍລ໌ CSV"
 
 #: tryton/gui/window/win_import.py:32
 msgid "_Auto-Detect"
-msgstr ""
+msgstr "_ກວດຫາ-ອັດຕະໂນມັດ"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
-msgstr ""
+msgstr "ຟາຍລ໌ທີ່ຈະນໍາເຂົ້າ:"
 
 #: tryton/gui/window/win_import.py:45
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:43
 #: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
-msgstr ""
+msgstr "ໄຂ..."
 
 #: tryton/gui/window/win_import.py:50
 msgid "Lines to Skip:"
-msgstr ""
+msgstr "ແຖວທີ່ຈະຂວ້າມ:"
 
 #: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
-msgstr ""
+msgstr "ກ່ອນອື່ນ ທ່ານຕ້ອງໄດ້ເລືອກ ຟາຍລ໌ ທີ່ຈະນໍາເຂົ້າ ກ່ອນ!"
 
 #: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
-msgstr ""
+msgstr "ຜິດພາດໃນການໄຂ ຟາຍລ໌ CSV"
 
 #: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
-msgstr ""
+msgstr "ປະມວນຜົນ ຟາຍລ໌ ຜິດພາດ ໃນຊ່ອງຂໍ້ມູນ %s."
 
 #: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
-msgstr ""
+msgstr "ແຖວຂໍ້ມູນ %d ຖືກນໍາເຂົ້າແລ້ວ!"
 
 #: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
-msgstr ""
+msgstr "ບັນດາແຖວຂໍ້ມູນ %d ຖືກນໍາເຂົ້າແລ້ວ!"
 
 #: tryton/gui/window/wizard.py:287
 msgid "Wizard"
-msgstr ""
+msgstr "ໂຕນໍາພາສ້າງ"
 
 #: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
-msgstr ""
+msgstr "ເລກລໍາດັບ"
 
 #: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
-msgstr ""
+msgstr "ຜູ້ສ້າງ"
 
 #: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
-msgstr ""
+msgstr "ວັນທີສ້າງ"
 
 #: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
-msgstr ""
+msgstr "ຜູ້ປັບປ່ຽນ"
 
 #: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
-msgstr ""
+msgstr "ວັນທີປັບປ່ຽນ"
 
 #: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
-msgstr ""
+msgstr "ບໍ່ສາມາດເອົາສະຖານະມູມມອງແບບຕົ້ນໄມ້ໄດ້"
 
 #: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
-msgstr ""
+msgstr "ບໍ່ສາມາດຕັ້ງຄ່າສະຖານະມູມມອງແບບຕົ້ນໄມ້ໄດ້"
 
 #: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
-msgstr ""
+msgstr "\"%s\" ບໍ່ຖືກຕ້ອງ ກັບ ໂດເມນຂອງມັນ"
 
 #: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
-msgstr ""
+msgstr "ຕ້ອງໃຫ້ມີ \"%s\""
 
 #: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
-msgstr ""
+msgstr "ຄ່າຂອງ \"%s\" ນີ້ ບໍ່ຖືກຕ້ອງ"
 
 #: tryton/gui/window/view_form/screen/screen.py:1007
 msgid "Pre-validation"
-msgstr ""
+msgstr "ກ່ອນ-ການກວດສອບ"
 
 #: tryton/gui/window/view_form/view/form.py:190
 #: tryton/gui/window/view_form/view/form.py:192
@@ -1679,168 +1765,168 @@ msgstr ""
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
-msgstr ""
+msgstr ":"
 
 #: tryton/gui/window/view_form/view/graph.py:99
 msgid "Save As"
-msgstr ""
+msgstr "ບັນທຶກເປັນ"
 
 #: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
-msgstr ""
+msgstr "ຂະໜາດຮູບ"
 
 #: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
-msgstr ""
+msgstr "ຄວາມກວ້າງ:"
 
 #: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
-msgstr ""
+msgstr "ຄວາມສູງ:"
 
 #: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
-msgstr ""
+msgstr "ຮູບແບບ PNG (*.png)"
 
 #: tryton/gui/window/view_form/view/graph.py:159
 msgid "Image size too large!"
-msgstr ""
+msgstr "ຂະໜາດຮູບ ໃຫຍ່ໂພດ!!"
 
 #: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
-msgstr ""
+msgstr ".."
 
 #: tryton/gui/window/view_form/view/screen_container.py:144
 msgid "F_ilters"
-msgstr ""
+msgstr "ກັ່_ນຕອງ"
 
 #: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
-msgstr ""
+msgstr "ສະແດງໝາຍໜ້າຂອງການກັ່ນຕອງ"
 
 #: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
-msgstr ""
+msgstr "ເອົາໝາຍໜ້ານີ້ອອກ"
 
 #: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
-msgstr ""
+msgstr "ໝາຍໜ້າກັ່ນຕອງນີ້"
 
 #: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
-msgstr ""
+msgstr "ຊື່ໝາຍໜ້າ:"
 
 #: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
-msgstr ""
+msgstr "ຊອກພົບ"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
-msgstr ""
+msgstr "ມື້ນີ້"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
-msgstr ""
+msgstr "ເບິ່ງເປັນລາຍອາທິດ"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
-msgstr ""
+msgstr "ເບິ່ງເປັນເດືອນ"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
-msgstr ""
+msgstr "ອາທິດ"
 
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
-msgstr ""
+msgstr "ເລືອກ..."
 
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:64
 msgid "Clear"
-msgstr ""
+msgstr "ໃຫ້ເປົ່າ"
 
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
-msgstr ""
+msgstr "ຟາຍລ໌ ທັງໝົດ"
 
 #: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
-msgstr ""
+msgstr "ເລືອກ..."
 
 #: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
-msgstr ""
+msgstr "ສະແດງເປັນຂໍ້ຄວາມທຳມະດາ"
 
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
-msgstr ""
+msgstr "ເພີ່ມຄ່າ"
 
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
-msgstr ""
+msgstr "ເອົາ \"%s\" ອອກ"
 
 #: tryton/gui/window/view_form/view/form_gtk/image.py:49
 msgid "Images"
-msgstr ""
+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 ""
+msgstr "ເພີ່ມແຖວຂໍ້ມູນທີ່ມີຢູ່"
 
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
 msgid "Remove selected record <Del>"
-msgstr ""
+msgstr "ເອົາແຖວຂໍ້ມູນທີ່ເລືອກນີ້ອອກ <Del>"
 
 #: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
-msgstr ""
+msgstr "ໄຂແຖວຂໍ້ມູນ <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
-msgstr ""
+msgstr "ຊອກຫາແຖວຂໍ້ມູນໜຶ່ງ <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
 msgid "Remove selected record"
-msgstr ""
+msgstr "ເອົາແຖວຂໍ້ມູນທີ່ເລືອກນີ້ອອກ"
 
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
 msgid "Edit selected record <F2>"
-msgstr ""
+msgstr "ແກ້ໄຂ ແຖວຂໍ້ມູນ ທີ່ເລືອກ <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
 #: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
-msgstr ""
+msgstr "%s%%"
 
 #: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
 msgid "Foreground"
-msgstr ""
+msgstr "ພື້ນໜ້າ"
 
 #: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
 msgid "Select a color"
-msgstr ""
+msgstr "ເລືອກສີ"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:113
 msgid "Translation"
-msgstr ""
+msgstr "ການແປ"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
-msgstr ""
+msgstr "ແກ້ໄຂ"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 msgid "Fuzzy"
-msgstr ""
+msgstr "ເລືອນລາງ"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:247
 msgid "You need to save the record before adding translations!"
-msgstr ""
+msgstr "ທ່ານຕ້ອງບັນທຶກຂໍ້ມູນໄວ້ກ່ອນຈຶ່ງເພີ່ມການແປເຂົ້າໄປໄດ້!"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:258
 msgid "No other language available!"
-msgstr ""
+msgstr "ບໍ່ມີພາສາອື່ນໃຫ້ໃຊ້"
 
 #: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
-msgstr ""
+msgstr "ມູມມອງການແປ"
diff --git a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo
index 207d51a..57d189a 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 91d1c35..21786e6 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 463ff18..5cc9663 100644
Binary files a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo and b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
index c507e57..e654e13 100644
--- a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
@@ -294,7 +294,7 @@ msgstr "Anexos..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Notas..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -1097,11 +1097,11 @@ msgstr "Adicionar um anexo ao registro"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Nota(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "Adicionar uma nota ao registro"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1133,7 +1133,7 @@ msgstr "A_nexos..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Notas..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1171,7 +1171,7 @@ msgstr "Anexo(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Nota(%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
@@ -1230,7 +1230,6 @@ msgid " of "
 msgstr " de "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1546,13 +1545,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Todos os campos</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Limpar"
+msgstr "_Limpar"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Campos selecionados</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1560,11 +1558,11 @@ msgstr "Parâmetros CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Delimitador:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Caracter para citação:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1587,14 +1585,12 @@ msgid "Name"
 msgstr "Nome"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Gravar exportação"
+msgstr "_Gravar exportação"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Apagar exportação"
+msgstr "_Apagar exportação"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1671,9 +1667,8 @@ msgid "Import from CSV"
 msgstr "Importar de CSV"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Detecção automática"
+msgstr "_Detecção automática"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
diff --git a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo
index 9cba71d..b7852c1 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 77faf6e..4b27043 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/data/locale/sl_SI/LC_MESSAGES/tryton.po b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
index 1db537c..c5336b1 100644
--- a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
@@ -291,7 +291,7 @@ msgstr "Priponke..."
 
 #: tryton/common/popup_menu.py:90
 msgid "Notes..."
-msgstr ""
+msgstr "Zabeležke ..."
 
 #: tryton/common/popup_menu.py:100
 msgid "Actions..."
@@ -1092,11 +1092,11 @@ msgstr "Dodaj priponko zapisu"
 
 #: tryton/gui/window/form.py:48
 msgid "Note(0)"
-msgstr ""
+msgstr "Zabeležka(0)"
 
 #: tryton/gui/window/form.py:49
 msgid "Add a note to the record"
-msgstr ""
+msgstr "K zapisu dodaj zabeležko"
 
 #: tryton/gui/window/form.py:58
 msgid "_Duplicate"
@@ -1128,7 +1128,7 @@ msgstr "P_riponke..."
 
 #: tryton/gui/window/form.py:75
 msgid "_Notes..."
-msgstr ""
+msgstr "_Zabeležke ..."
 
 #: tryton/gui/window/form.py:76
 msgid "_Actions..."
@@ -1166,7 +1166,7 @@ msgstr "Priponka(%d)"
 #: tryton/gui/window/form.py:236
 #, python-format
 msgid "Note(%d)"
-msgstr ""
+msgstr "Zabeležka(%d)"
 
 #: tryton/gui/window/form.py:258
 msgid "You have to select one record."
@@ -1225,7 +1225,6 @@ msgid " of "
 msgstr " od "
 
 #: tryton/gui/window/form.py:513
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1542,13 +1541,12 @@ msgid "<b>All fields</b>"
 msgstr "<b>Vsa polja</b>"
 
 #: tryton/gui/window/win_csv.py:86
-#, fuzzy
 msgid "_Clear"
-msgstr "Počisti"
+msgstr "_Počisti"
 
 #: tryton/gui/window/win_csv.py:107
 msgid "<b>Fields selected</b>"
-msgstr ""
+msgstr "<b>Izbrana polja</b>"
 
 #: tryton/gui/window/win_csv.py:126
 msgid "CSV Parameters"
@@ -1556,11 +1554,11 @@ msgstr "CSV parametri"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr ""
+msgstr "Ločilo:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
-msgstr ""
+msgstr "Narekovaj:"
 
 #: tryton/gui/window/win_csv.py:157
 msgid "Encoding:"
@@ -1583,14 +1581,12 @@ msgid "Name"
 msgstr "Naziv"
 
 #: tryton/gui/window/win_export.py:60
-#, fuzzy
 msgid "_Save Export"
-msgstr "Shrani izvoz"
+msgstr "_Shrani izvoz"
 
 #: tryton/gui/window/win_export.py:69
-#, fuzzy
 msgid "_Delete Export"
-msgstr "Izbriši izvoz"
+msgstr "_Izbriši izvoz"
 
 #: tryton/gui/window/win_export.py:82
 msgid "Open"
@@ -1667,9 +1663,8 @@ msgid "Import from CSV"
 msgstr "Uvozi iz CSV"
 
 #: tryton/gui/window/win_import.py:32
-#, fuzzy
 msgid "_Auto-Detect"
-msgstr "Samozaznava"
+msgstr "_Samozaznava"
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
diff --git a/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo
index 1fb2458..7cf4ea7 100644
Binary files a/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo and b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo differ
commit da3e9cca6cb3a8b212dbff78abc29e453eb49a9f
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Fri May 27 18:25:36 2016 +0200

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

diff --git a/CHANGELOG b/CHANGELOG
index dc3a7b3..4594f3d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,20 +1,14 @@
-Version 3.8.6 - 2016-04-06
-* Bug fixes (see mercurial logs for details)
-
-Version 3.8.5 - 2016-03-14
-* Bug fixes (see mercurial logs for details)
-
-Version 3.8.4 - 2016-02-06
-* Bug fixes (see mercurial logs for details)
-
-Version 3.8.3 - 2016-01-11
-* Bug fixes (see mercurial logs for details)
-
-Version 3.8.2 - 2015-11-09
-* Bug fixes (see mercurial logs for details)
-
-Version 3.8.1 - 2015-11-02
+Version 4.0.0 - 2016-05-02
 * Bug fixes (see mercurial logs for details)
+* Improvement of charts design
+* Timedelta uses 30 days for month
+* Add all available encoding for import/export
+* Add CSV parameters to export window
+* Add DnD on import window
+* Manage context model of ir.action.act_window
+* Add Note
+* Manage view_ids on tree view
+* Use Apple key for copy/past of list
 
 Version 3.8.0 - 2015-11-02
 * Bug fixes (see mercurial logs for details)
diff --git a/COPYRIGHT b/COPYRIGHT
index 43d70ed..825f062 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,5 +1,5 @@
 Copyright (C) 2012-2013 Antoine Smolders.
-Copyright (C) 2010-2015 Nicolas Évrard.
+Copyright (C) 2010-2016 Nicolas Évrard.
 Copyright (C) 2007-2016 Cédric Krier.
 Copyright (C) 2007-2013 Bertrand Chenal.
 Copyright (C) 2008-2016 B2CK SPRL.
diff --git a/PKG-INFO b/PKG-INFO
index 9481a1c..523158a 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.8.6
+Version: 4.0.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.8/
+Download-URL: http://downloads.tryton.org/4.0/
 Description: tryton
         ======
         
@@ -71,6 +71,7 @@ Classifier: Intended Audience :: End Users/Desktop
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
+Classifier: Natural Language :: Chinese (Simplified)
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
diff --git a/doc/conf.py b/doc/conf.py
index 8acebdc..5183344 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.8'
+version = '4.0'
 # The full version, including alpha/beta/rc tags.
-release = '3.8'
+release = '4.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/setup.py b/setup.py
index 6760405..62c3d7b 100644
--- a/setup.py
+++ b/setup.py
@@ -136,6 +136,7 @@ dist = setup(name=name,
         'License :: OSI Approved :: GNU General Public License (GPL)',
         'Natural Language :: Bulgarian',
         'Natural Language :: Catalan',
+        'Natural Language :: Chinese (Simplified)',
         'Natural Language :: Czech',
         'Natural Language :: Dutch',
         'Natural Language :: English',
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 9481a1c..523158a 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.8.6
+Version: 4.0.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.8/
+Download-URL: http://downloads.tryton.org/4.0/
 Description: tryton
         ======
         
@@ -71,6 +71,7 @@ Classifier: Intended Audience :: End Users/Desktop
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
+Classifier: Natural Language :: Chinese (Simplified)
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
diff --git a/tryton.egg-info/SOURCES.txt b/tryton.egg-info/SOURCES.txt
index e8b1bef..3914812 100644
--- a/tryton.egg-info/SOURCES.txt
+++ b/tryton.egg-info/SOURCES.txt
@@ -98,6 +98,8 @@ tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo
 tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
 tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo
 tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
+tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo
+tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
 tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo
 tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
 tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo
@@ -108,6 +110,8 @@ tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo
 tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
 tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo
 tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
+tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo
+tryton/data/locale/zh_CN/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
@@ -141,6 +145,8 @@ 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-note-hi.svg
+tryton/data/pixmaps/tryton/tryton-note.svg
 tryton/data/pixmaps/tryton/tryton-open.svg
 tryton/data/pixmaps/tryton/tryton-preferences-system-session.svg
 tryton/data/pixmaps/tryton/tryton-preferences-system.svg
@@ -177,11 +183,13 @@ tryton/gui/window/form.py
 tryton/gui/window/infobar.py
 tryton/gui/window/limit.py
 tryton/gui/window/nomodal.py
+tryton/gui/window/note.py
 tryton/gui/window/preference.py
 tryton/gui/window/revision.py
 tryton/gui/window/shortcuts.py
 tryton/gui/window/tabcontent.py
 tryton/gui/window/tips.py
+tryton/gui/window/win_csv.py
 tryton/gui/window/win_export.py
 tryton/gui/window/win_form.py
 tryton/gui/window/win_import.py
diff --git a/tryton/__init__.py b/tryton/__init__.py
index 6390bcc..757630d 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.6"
+__version__ = "4.0.0"
diff --git a/tryton/action/main.py b/tryton/action/main.py
index 16c6d25..64900ea 100644
--- a/tryton/action/main.py
+++ b/tryton/action/main.py
@@ -54,31 +54,16 @@ class Action(object):
 
     @staticmethod
     def execute(act_id, data, action_type=None, context=None):
-        def get_action_type(actions):
-            try:
-                action, = actions()
-            except RPCException:
-                return
-            action_type = action['type']
-            exec_action(action_type)
-
-        def exec_action(action_type):
-            def callback(actions):
-                try:
-                    action, = actions()
-                except RPCException:
-                    return
-                Action._exec_action(action, data, context=context)
-
-            RPCExecute('model', action_type, 'search_read',
-                [('action', '=', act_id)], 0, 1, None, None,
-                context=context, callback=callback)
-
+        # Must be executed synchronously to avoid double execution
+        # on double click.
         if not action_type:
-            RPCExecute('model', 'ir.action', 'read', [act_id],
-                ['type'], context=context, callback=get_action_type)
-        else:
-            exec_action(action_type)
+            action, = RPCExecute('model', 'ir.action', 'read', [act_id],
+                ['type'], context=context)
+            action_type = action['type']
+        action, = RPCExecute('model', action_type, 'search_read',
+            [('action', '=', act_id)], 0, 1, None, None,
+            context=context)
+        Action._exec_action(action, data, context=context)
 
     @staticmethod
     def _exec_action(action, data=None, context=None):
@@ -115,10 +100,11 @@ class Action(object):
             ctx.update(rpc.CONTEXT)
             ctx['_user'] = rpc._USER
             decoder = PYSONDecoder(ctx)
-            action_ctx = decoder.decode(action.get('pyson_context') or '{}')
+            action_ctx = context.copy()
+            action_ctx.update(
+                decoder.decode(action.get('pyson_context') or '{}'))
             ctx.update(action_ctx)
             ctx.update(context)
-            action_ctx.update(context)
 
             ctx['context'] = ctx
             decoder = PYSONDecoder(ctx)
@@ -139,7 +125,8 @@ class Action(object):
                     limit=action.get('limit'),
                     search_value=search_value,
                     icon=(action.get('icon.rec_name') or ''),
-                    tab_domain=tab_domain)
+                    tab_domain=tab_domain,
+                    context_model=action['context_model'])
         elif action['type'] == 'ir.action.wizard':
             Window.create_wizard(action['wiz_name'], data,
                 direct_print=action.get('direct_print', False),
diff --git a/tryton/common/cellrendererbinary.py b/tryton/common/cellrendererbinary.py
index e57efc3..cfdf05e 100644
--- a/tryton/common/cellrendererbinary.py
+++ b/tryton/common/cellrendererbinary.py
@@ -18,7 +18,7 @@ class CellRendererBinary(gtk.GenericCellRenderer):
             gobject.PARAM_READWRITE),
     }
     __gsignals__ = {
-        'new': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
+        'select': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
             (gobject.TYPE_STRING,)),
         'open': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
             (gobject.TYPE_STRING,)),
@@ -35,14 +35,14 @@ class CellRendererBinary(gtk.GenericCellRenderer):
         self.set_property('mode', gtk.CELL_RENDERER_MODE_EDITABLE)
         self.use_filename = use_filename
         if use_filename:
-            self.buttons = ('new', 'open', 'save', 'clear')
+            self.buttons = ('select', 'open', 'save', 'clear')
         else:
-            self.buttons = ('new', 'save', 'clear')
+            self.buttons = ('select', 'save', 'clear')
         self.clicking = ''
         self.images = {}
         widget = gtk.Button()
         for key, stock_name in (
-                ('new', 'tryton-find'),
+                ('select', 'tryton-find'),
                 ('open', 'tryton-open'),
                 ('save', 'tryton-save-as'),
                 ('clear', 'tryton-clear')):
@@ -91,7 +91,7 @@ class CellRendererBinary(gtk.GenericCellRenderer):
             button_name = None
         if not self.visible or not button_name:
             return
-        if not self.editable and button_name in ('new', 'clear'):
+        if not self.editable and button_name in ('select', 'clear'):
             return
         if not self.size and button_name == 'save':
             return
@@ -139,7 +139,7 @@ class CellRendererBinary(gtk.GenericCellRenderer):
                     and flags & gtk.CELL_RENDERER_SELECTED):
                 state = gtk.STATE_ACTIVE
                 shadow = gtk.SHADOW_IN
-            if (not self.editable and button_name in ('new', 'clear')
+            if (not self.editable and button_name in ('select', 'clear')
                     or not self.size and button_name in ('open', 'save')):
                 state = gtk.STATE_INSENSITIVE
                 pixbuf = pxbf_insens
diff --git a/tryton/common/cellrendererfloat.py b/tryton/common/cellrendererfloat.py
index 0eba228..b12d28a 100644
--- a/tryton/common/cellrendererfloat.py
+++ b/tryton/common/cellrendererfloat.py
@@ -35,19 +35,12 @@ class CellRendererFloat(CellRendererInteger):
             return
 
         try:
-            locale.atof(new_value)
+            value = locale.atof(new_value)
         except ValueError:
             entry.stop_emission('insert-text')
             return
 
-        new_int = new_value
-        new_decimal = ''
-        if decimal_point in new_value:
-            new_int, new_decimal = new_value.rsplit(decimal_point, 1)
-
-        if (self.digits
-                and (len(new_int) > self.digits[0]
-                    or len(new_decimal) > self.digits[1])):
+        if self.digits and not (round(value, self.digits[1]) == float(value)):
             entry.stop_emission('insert-text')
 
 
diff --git a/tryton/common/common.py b/tryton/common/common.py
index 094eef5..ec1c9e0 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -375,7 +375,7 @@ def selection(title, values, alwaysask=False):
     dialog.set_icon(TRYTON_ICON)
     dialog.set_has_separator(True)
     dialog.set_default_response(gtk.RESPONSE_OK)
-    dialog.set_size_request(400, 400)
+    dialog.set_default_size(400, 400)
 
     label = gtk.Label(title or _('Your selection:'))
     dialog.vbox.pack_start(label, False, False)
@@ -888,7 +888,7 @@ class ErrorDialog(UniqueDialog):
         vbox.pack_start(button_roundup, False, False)
 
         dialog.vbox.pack_start(vbox)
-        dialog.set_size_request(600, 400)
+        dialog.set_default_size(600, 400)
         return dialog
 
     def __call__(self, title, details):
@@ -1034,7 +1034,7 @@ def process_exception(exception, *args, **kwargs):
                 'until its fingerprint is fixed.'), _('Security risk!'))
             from tryton.gui.main import Main
             Main.sig_quit()
-        elif exception.faultCode == 'NotLogged':
+        elif exception.faultCode.startswith('403'):
             if rpc.CONNECTION is None:
                 message(_('Connection error!\n'
                         'Unable to connect to the server!'))
@@ -1079,16 +1079,8 @@ def process_exception(exception, *args, **kwargs):
             else:
                 message(_('Concurrency Exception'), msg_type=gtk.MESSAGE_ERROR)
                 return False
-        elif exception.faultCode == 'NotLogged':
+        elif exception.faultCode.startswith('403'):
             from tryton.gui.main import Main
-            if kwargs.get('session', rpc._SESSION) != rpc._SESSION:
-                if args:
-                    try:
-                        return rpc_execute(*args)
-                    except TrytonServerError, exception:
-                        return process_exception(exception, *args,
-                            rpc_execute=rpc_execute)
-                return
             if not PLOCK.acquire(False):
                 return False
             hostname = rpc._HOST
@@ -1258,7 +1250,6 @@ class RPCProgress(object):
     def run(self, process_exception_p=True, callback=None):
         self.process_exception_p = process_exception_p
         self.callback = callback
-        self.session = rpc._SESSION
         if self.parent.window:
             watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
             self.parent.window.set_cursor(watch)
@@ -1279,7 +1270,7 @@ class RPCProgress(object):
                     return RPCProgress('execute',
                         args).run(self.process_exception_p)
                 result = process_exception(self.exception, *self.args,
-                    rpc_execute=rpc_execute, session=self.session)
+                    rpc_execute=rpc_execute)
                 if result is False:
                     self.exception = RPCException(self.exception)
                 else:
@@ -1386,11 +1377,12 @@ def humanize(size):
 
 def get_hostname(netloc):
     if '[' in netloc and ']' in netloc:
-        return netloc.split(']')[0][1:]
+        hostname = netloc.split(']')[0][1:]
     elif ':' in netloc:
-        return netloc.split(':')[0]
+        hostname = netloc.split(':')[0]
     else:
-        return netloc
+        hostname = netloc
+    return hostname.strip()
 
 
 def get_port(netloc):
diff --git a/tryton/common/datetime_.py b/tryton/common/datetime_.py
index 3217def..b6d261f 100644
--- a/tryton/common/datetime_.py
+++ b/tryton/common/datetime_.py
@@ -21,8 +21,10 @@ _ = gettext.gettext
 
 
 def date_parse(text, format_='%x'):
-    dayfirst = datetime.date(1988, 8, 16).strftime(format_).index('16') == 0
-    yearfirst = datetime.date(1988, 8, 16).strftime(format_).index('88') <= 2
+    formatted_date = datetime.date(1988, 7, 16).strftime(format_)
+    dayfirst = formatted_date.index('16') == 0
+    monthfirst = formatted_date.index('7') <= 1
+    yearfirst = not dayfirst and not monthfirst
     return parse(text, dayfirst=dayfirst, yearfirst=yearfirst, ignoretz=True)
 
 
diff --git a/tryton/common/entry_position.py b/tryton/common/entry_position.py
index c277132..93393ac 100644
--- a/tryton/common/entry_position.py
+++ b/tryton/common/entry_position.py
@@ -1,58 +1,9 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-import string
 
-import gtk
 
-
-class PositionManager(object):
-    position = None
-
-    def reset_position(self, entry):
-        if entry.get_alignment() <= 0.5:
-            entry.set_position(0)
-        else:
-            entry.set_position(-1)
-
-    def focus_out(self, entry, event):
-        self.position = entry.get_position()
-        self.reset_position(entry)
-
-    def focus_in(self, entry, event):
-        if self.position is None:
-            self.reset_position(entry)
-        else:
-            entry.set_position(self.position)
-
-    def changed(self, entry):
-        if not entry.has_focus():
-            self.reset_position(entry)
-
-
-def manage_entry_position(entry):
-    manager = PositionManager()
-    entry.connect('focus-out-event', manager.focus_out)
-    entry.connect('focus-in-event', manager.focus_in)
-    entry.connect('changed', manager.changed)
-
-
-if __name__ == '__main__':
-    win = gtk.Window()
-    win.set_title('Manage Entry Position')
-    win.connect('delete-event', lambda *a: gtk.main_quit())
-    vbox = gtk.VBox()
-    win.add(vbox)
-
-    entry1 = gtk.Entry()
-    vbox.pack_start(entry1, expand=False, fill=False)
-    manage_entry_position(entry1)
-    entry1.set_text(string.ascii_letters)
-
-    entry2 = gtk.Entry()
-    entry2.set_alignment(1.0)
-    vbox.pack_start(entry2, expand=False, fill=False)
-    manage_entry_position(entry2)
-    entry2.set_text(string.ascii_letters)
-
-    win.show_all()
-    gtk.main()
+def reset_position(entry):
+    if entry.get_alignment() <= 0.5:
+        entry.set_position(0)
+    else:
+        entry.set_position(-1)
diff --git a/tryton/common/popup_menu.py b/tryton/common/popup_menu.py
index d577aea..9cf201e 100644
--- a/tryton/common/popup_menu.py
+++ b/tryton/common/popup_menu.py
@@ -7,6 +7,7 @@ from tryton.gui.window.view_form.screen import Screen
 from tryton.action import Action
 from tryton.gui.window import Window
 from tryton.gui.window.attachment import Attachment
+from tryton.gui.window.note import Note
 
 _ = gettext.gettext
 
@@ -55,6 +56,9 @@ def populate(menu, model, record, title='', field=None):
     def attachment(menuitem):
         Attachment(load(record), None)
 
+    def note(menuitem):
+        Note(load(record), None)
+
     def edit(menuitem):
         with Window(hide_current=True, allow_similar=True):
             Window.create(field.attrs.get('view_ids'), model, id_(record),
@@ -82,6 +86,10 @@ def populate(menu, model, record, title='', field=None):
     attachment_item.set_label(_('Attachments...'))
     action_menu.append(attachment_item)
     attachment_item.connect('activate', attachment)
+    note_item = gtk.ImageMenuItem('tryton-note')
+    note_item.set_label(_('Notes...'))
+    action_menu.append(note_item)
+    note_item.connect('activate', note)
 
     def set_toolbar(toolbar):
         try:
diff --git a/tryton/common/timedelta.py b/tryton/common/timedelta.py
index f5afdb7..b98b268 100644
--- a/tryton/common/timedelta.py
+++ b/tryton/common/timedelta.py
@@ -17,7 +17,7 @@ DEFAULT_CONVERTER['m'] = DEFAULT_CONVERTER['s'] * 60
 DEFAULT_CONVERTER['h'] = DEFAULT_CONVERTER['m'] * 60
 DEFAULT_CONVERTER['d'] = DEFAULT_CONVERTER['h'] * 24
 DEFAULT_CONVERTER['w'] = DEFAULT_CONVERTER['d'] * 7
-DEFAULT_CONVERTER['M'] = DEFAULT_CONVERTER['w'] * 4
+DEFAULT_CONVERTER['M'] = DEFAULT_CONVERTER['d'] * 30
 DEFAULT_CONVERTER['Y'] = DEFAULT_CONVERTER['d'] * 365
 
 
@@ -112,9 +112,13 @@ _tests = [
     (None, ''),
     (datetime.timedelta(), '00:00'),
     (datetime.timedelta(days=3, hours=5, minutes=30), '3d 05:30'),
-    (datetime.timedelta(weeks=48), '12M'),
-    (datetime.timedelta(weeks=50), '12M 2w'),
+    (datetime.timedelta(weeks=48), '11M 6d'),
+    (datetime.timedelta(weeks=50), '11M 2w 6d'),
+    (datetime.timedelta(weeks=52), '12M 4d'),
+    (datetime.timedelta(days=360), '12M'),
+    (datetime.timedelta(days=364), '12M 4d'),
     (datetime.timedelta(days=365), '1Y'),
+    (datetime.timedelta(days=366), '1Y 1d'),
     (datetime.timedelta(hours=2, minutes=5, seconds=10), '02:05:10'),
     (datetime.timedelta(minutes=15, microseconds=42), '00:15:00.000042'),
     (datetime.timedelta(days=1, microseconds=42), '1d .000042'),
diff --git a/tryton/config.py b/tryton/config.py
index 525218c..9be27a3 100644
--- a/tryton/config.py
+++ b/tryton/config.py
@@ -58,7 +58,7 @@ class ConfigManager(object):
             'client.email': '',
             'client.can_change_accelerators': False,
             'client.limit': 1000,
-            'roundup.url': 'http://bugs.tryton.org/roundup/',
+            'roundup.url': 'http://bugs.tryton.org/',
             'roundup.xmlrpc': 'roundup-xmlrpc.tryton.org',
             'menu.pane': 200,
             'menu.expanded': True,
diff --git a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo
index 5503afb..70873b4 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/bg_BG/LC_MESSAGES/tryton.po b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
index 3eea28c..7e04e6f 100644
--- a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
@@ -52,11 +52,11 @@ msgstr "Не може да запише конфигурационен файл
 msgid "Unable to set locale %s"
 msgstr "Не може да зададе локални настройки %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Изберете действие"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Не е зададено действие!"
 
@@ -81,11 +81,11 @@ msgid "Your selection:"
 msgstr "Вашия избор"
 
 #: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/win_export.py:297
 #: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Запис като ..."
 
@@ -131,8 +131,8 @@ msgstr "Сравняване"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Грешка"
 
@@ -161,7 +161,7 @@ msgstr ""
 msgid "User:"
 msgstr "Потребител: "
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Парола:"
@@ -202,7 +202,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Риск за сигурността"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -211,7 +211,7 @@ msgstr ""
 "Грешка при свързване!\n"
 "Невъзможност да се свърже със сървъра!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Мрежова грешка!"
 
@@ -275,42 +275,46 @@ msgid "t"
 msgstr ""
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Истина"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Лъжа"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 #, fuzzy
 msgid "Edit..."
 msgstr "Изход..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Прикачен файл:"
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Действия..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 #, fuzzy
 msgid "Relate..."
 msgstr "Свързани..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Справки..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Email..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Печат..."
 
@@ -515,7 +519,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -622,63 +626,63 @@ msgstr "Извличането на базата данни неуспешно!"
 msgid "Database backuped successfully!"
 msgstr "Базата данни архивирана успешно!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Нов"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Създаване на нов запис"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Съхраняване"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Съхраняване на този запис"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Превключване"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Превключване на изглед"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "Презареждане"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Презареждане"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "Нов"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "Съхраняване"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Превключване на изглед"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "Презареждане/Обратно"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "Изтриване..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "Затваряне на таб"
 
@@ -918,13 +922,11 @@ msgstr "Редактор на профили"
 msgid "Profile"
 msgstr "Профил"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "Добавяне"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "Изтриване"
 
@@ -1068,205 +1070,228 @@ msgstr "Тяло:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Предишен"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Следващ"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Следващ запис"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Прикачен файл(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Добавяне на прикачен файл към записа"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "Дублиране"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "Предишен"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Следващ"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 #, fuzzy
 msgid "_Search"
 msgstr "Търсене"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Преглед на логове"
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Прикачен файл:"
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "Действия..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "Свързани..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "Справки..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "Email..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "Печат..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "Извличане на данни..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "Вмъкване на данни..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Прикачен файл(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Трябва да изберете един запис!"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Потребител създал:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Дата на създаване:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Последно променен от:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Модел:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Наистина ли искате да изтриете този запис?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Наистина ли искате да изтриете тези записи?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Записа не е изтрит!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Записите изтрити!"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "Работите върху дублиран(и) запис(и)!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "Записа съхранен!"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " от"
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Този запис е променен\n"
 "искате ли да го запишете ?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Действие"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Започване на действие"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Свързани"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Отваряне на свързани записи"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Справки"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Отваряне на справка"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Изращане на справка по Email"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Печат"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Отпечатване на справка"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Неизвестен"
 
@@ -1309,8 +1334,9 @@ 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"
@@ -1341,8 +1367,9 @@ msgid "Previous widget"
 msgstr "Предишенна джаджа"
 
 #: tryton/gui/window/shortcuts.py:34
+#, fuzzy
 msgid "Relation Entries Shortcuts"
-msgstr ""
+msgstr "Текстови бързи клавиши"
 
 #: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
@@ -1531,76 +1558,94 @@ msgstr "Подсказки"
 msgid "_Display a new tip next time"
 msgstr "Показвай нова подсказка следващия път"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Всички полета</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Изчистване"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "CSV параметри"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Кодиране:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Име на поле"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Извличане в CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Име"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Запис на извличане"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Отваряне"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 msgid "Add _field names"
 msgstr "Добавяне на имена на полета"
 
-#: tryton/gui/window/win_export.py:215
-msgid "Name"
-msgstr "Име"
-
-#: tryton/gui/window/win_export.py:247
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Какво е името на това извличане?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d заспис съхранен!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d записа съхранени!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1615,94 +1660,71 @@ msgstr ""
 msgid "Link"
 msgstr "Връзка"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Добавяне"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Изтриване <Del>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Създаване на нов запис <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Вмъкване от CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Отваряне..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Първо трябва да изберете файл за вмъкване!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Грешка при отваряне на CSV файл"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Грешка при обработка на файл при поле %s"
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d запис вмъкнат!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d записи вмъкнати!"
@@ -1711,65 +1733,66 @@ msgstr "%d записи вмъкнати!"
 msgid "Wizard"
 msgstr "Помощник"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 #, fuzzy
 msgid "ID"
 msgstr "д"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 #, fuzzy
 msgid "Creation User"
 msgstr "Потребител създал:"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 #, fuzzy
 msgid "Creation Date"
 msgstr "Дата на създаване:"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 #, fuzzy
 msgid "Modification User"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 #, fuzzy
 msgid "Modification Date"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
+#, fuzzy
 msgid "Unable to get view tree state"
-msgstr ""
+msgstr "Не може да зададе локални настройки %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Не може да зададе локални настройки %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1823,7 +1846,7 @@ msgstr ""
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Търсене"
 
@@ -1846,15 +1869,19 @@ msgstr "Превключване на изглед"
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Изчистване"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Всички файлове"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1862,11 +1889,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr "Показване само на текст"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
@@ -1886,11 +1913,11 @@ msgstr "Съхраняване на този запис"
 msgid "Remove selected record <Del>"
 msgstr "Изтриване на избрания запис <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Отваряне на запис"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Тъсене на запис"
 
@@ -1904,7 +1931,7 @@ msgid "Edit selected record <F2>"
 msgstr "Редактиране на избрания запис"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo
index c76dc5a..f9295b8 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/ca_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
index 2000349..c19d349 100644
--- a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
@@ -54,11 +54,11 @@ msgstr "No s'ha pogut escriure el fitxer configuració %s"
 msgid "Unable to set locale %s"
 msgstr "No s'ha pogut establir l'idioma %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Seleccioneu la vostra acció"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "No s'ha definit cap acció."
 
@@ -83,11 +83,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Desa com..."
 
@@ -133,8 +133,8 @@ msgstr "Compara"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Error"
 
@@ -163,7 +163,7 @@ msgstr "Seguiment d'errors"
 msgid "User:"
 msgstr "Usuari:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Contrasenya:"
@@ -204,7 +204,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Risc de seguretat."
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -213,7 +213,7 @@ msgstr ""
 "Error de connexió.\n"
 "No ha estat possible connectar-se al servidor."
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Error de xarxa."
 
@@ -274,40 +274,44 @@ msgid "t"
 msgstr "v"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Verdader"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Fals"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Edita..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Adjunts..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Accions..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Relacionat..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Correu electrònic..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Imprimeix..."
 
@@ -509,7 +513,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -616,63 +620,63 @@ msgstr "L'extracció de la base de dades ha fallat."
 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nou"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crea un nou registre"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Desa"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Desa aquest registre"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Canvia la vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Canvia la vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recarrega"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recarrega"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nou"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Desa"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Canvia la vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Recarrega/Desfés"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Elimina..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Tanca la pestanya"
 
@@ -914,13 +918,11 @@ msgstr "Editor de perfils"
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Afegeix"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Elimina"
 
@@ -1064,203 +1066,221 @@ msgstr "Missatge:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Següent"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registre següent"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunt(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Afegeix un adjunt al registre"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplica"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Seg_üent"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Cerca"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Veure _registre..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Mostra revisions..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "Adjun_ts..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Accions..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Relacionat..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Informes..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Correu electrònic..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "Im_primeix..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Exporta dades..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importa dades..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunt(%d)"
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr "Heu de triar un registre."
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Creat per:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Data de creació:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Última modificació per:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Última data de modificació:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Esteu segur que voleu eliminar aquest registre?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Esteu segur que voleu eliminar aquests registres?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr "Els registres no s'han eliminat."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr "Registres eliminats."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr "Ara esteu treballant en el registre duplicat."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr "Registre desat."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Aquest registre ha estat modificat.\n"
 "Voleu desar-lo?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Acció"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Executa acció"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "_Relacionat"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Obre registres relacionats"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Obre informe"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Correu electrònic"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Informe per email"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Imprimeix"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Imprimeix informe"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Desconegut"
 
@@ -1523,76 +1543,94 @@ msgstr "Consells"
 msgid "_Display a new tip next time"
 msgstr "_Mostra un nou consell la propera vegada"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Tots els camps</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Neteja"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Paràmetres CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codificació:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nom del camp"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exporta a CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nom"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Desa exportació"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Obre"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (text)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Quin és el nom d'aquesta exportació?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Voleu sobrescriure la definició de '%s'?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "S'ha desat %d registre."
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "S'han desat %d registres."
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1607,94 +1645,71 @@ msgstr ""
 msgid "Link"
 msgstr "Enllaç"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Afegeix"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Elimina <Supr>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Crea un nou registre <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importa des de CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Obre..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Primer heu de triar un fitxer a importar."
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Error a l'obrir el fitxer CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, 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
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "S'ha importat %d registre."
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "S'han importat %d registres."
@@ -1703,59 +1718,59 @@ msgstr "S'han importat %d registres."
 msgid "Wizard"
 msgstr "Assistent"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Creat per"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Data de creació"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Modificat per"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Data de modificació"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 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
+#: tryton/gui/window/view_form/screen/screen.py:769
 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
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr "\"%s\" és obligatori."
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1809,7 +1824,7 @@ msgstr "Desa com a cerca preferida"
 msgid "Bookmark Name:"
 msgstr "Nom de la cerca preferida:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Cerca"
 
@@ -1829,15 +1844,19 @@ msgstr "Vista mensual"
 msgid "Week"
 msgstr "Setmana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr "Selecciona..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Neteja"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Tots els fitxers"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr "Selecciona"
 
@@ -1845,11 +1864,11 @@ msgstr "Selecciona"
 msgid "Show plain text"
 msgstr "Mostra com a text pla"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Afegeix un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
@@ -1867,11 +1886,11 @@ msgstr "Afegeix un registre existent"
 msgid "Remove selected record <Del>"
 msgstr "Elimina el registre seleccionat <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Obre el registre <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Cerca un registre <F2>"
 
@@ -1884,7 +1903,7 @@ msgid "Edit selected record <F2>"
 msgstr "Edita registre seleccionat <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo
index 73c3ef0..45c22eb 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/cs_CZ/LC_MESSAGES/tryton.po b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
index 4773a32..97040f5 100644
--- a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
@@ -1,3 +1,7 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
@@ -49,11 +53,11 @@ msgstr "Nelze zapsat konfigurační soubor %s!"
 msgid "Unable to set locale %s"
 msgstr "Nemohu nastavit lokalizaci %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Vyberte akci"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Žádná akce není definována!"
 
@@ -78,11 +82,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Uložit jako..."
 
@@ -129,8 +133,8 @@ msgstr "Porovnat"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Chyba"
 
@@ -159,7 +163,7 @@ msgstr "Sledování chyb"
 msgid "User:"
 msgstr "Uživatel:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Heslo:"
@@ -198,7 +202,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr ""
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -207,7 +211,7 @@ msgstr ""
 "Chyba spojení!\n"
 "Nelze se připojit k serveru!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Chyba sítě!"
 
@@ -273,46 +277,50 @@ msgid "t"
 msgstr ""
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Pravda"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Nepravda"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 #, fuzzy
 msgid "Edit..."
 msgstr "Konec..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 #, fuzzy
 msgid "Attachments..."
 msgstr "Příloha:"
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 #, fuzzy
 msgid "Actions..."
 msgstr "Akce..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 #, fuzzy
 msgid "Relate..."
 msgstr "_Odstranit..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 #, fuzzy
 msgid "Report..."
 msgstr "Importovat data..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 #, fuzzy
 msgid "E-Mail..."
 msgstr "_Email..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 #, fuzzy
 msgid "Print..."
 msgstr "_Tisk..."
@@ -518,7 +526,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -623,64 +631,65 @@ msgstr "Záloha databáze selhala!"
 msgid "Database backuped successfully!"
 msgstr "Databáze úspěšně zazálohována!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
+#, fuzzy
 msgid "New"
-msgstr ""
+msgstr "_Nový"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Vytvořit nový záznam"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 #, fuzzy
 msgid "Save"
 msgstr "_Uložit"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Uložit tento záznam"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Přepnout"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Přepnout pohled"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Obnovit"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Obnovit"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nový"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Uložit"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Přepnout pohled"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "Obnovit/Zpět"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Odstranit..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Zavřít kartu"
 
@@ -923,13 +932,11 @@ msgstr ""
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 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
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Odstranit"
 
@@ -1078,213 +1085,236 @@ msgstr "Tělo:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Předchozí"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Další"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Následující záznam"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Přílohy(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Přidat přílohu k záznamu"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplikovat"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Předchozí"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "_Následující"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 #, fuzzy
 msgid "_Search"
 msgstr "Hledat"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Zobrazit záznamy..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Příloha:"
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "Akce..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 #, fuzzy
 msgid "_Relate..."
 msgstr "_Odstranit..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 #, fuzzy
 msgid "_Report..."
 msgstr "Importovat data..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "_Email..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "_Tisk..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "Exportovat data"
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "Importovat data..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Příloha(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Musíte vybrat právě jeden záznam!"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Vytvořeno uživatelem:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Datum vytvoření:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Poslední úpravu provedl:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Opravdu chcete odstranit tento záznam?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Opravdu chcete odstranit tyto záznamy?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Záznamy neodstraněny!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Záznamy odstraněny!"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "Nyní pracujete s duplicitním záznamem!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "Záznam uložen!"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " z "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Tento záznam byl upraven\n"
 "chcete ho uložit?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Akce"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr ""
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 #, fuzzy
 msgid "Relate"
 msgstr "_Vytvořit"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 #, fuzzy
 msgid "Open related records"
 msgstr "Otevřít záznam"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 #, fuzzy
 msgid "Report"
 msgstr "Sestavy"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 #, fuzzy
 msgid "Open report"
 msgstr "Otevřít záznam"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 #, fuzzy
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr ""
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Tisk"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr ""
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Neznámý"
 
@@ -1330,8 +1360,9 @@ msgid "Select a revision"
 msgstr "Výběr"
 
 #: tryton/gui/window/revision.py:31
+#, fuzzy
 msgid "Revision:"
-msgstr ""
+msgstr "Předchozí"
 
 #: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
@@ -1550,76 +1581,94 @@ msgstr "Tipy"
 msgid "_Display a new tip next time"
 msgstr "Zobrazit příště další tip"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Všechna pole</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Vymazat"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parametry CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Kódování:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Jméno pole"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exportovat do CSV souboru"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Uložit exportu"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Otevřít"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d záznam uložen!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d záznamů uloženo!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1634,98 +1683,74 @@ msgstr ""
 msgid "Link"
 msgstr "Odkaz"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Přidat"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: 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/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Import CSV souboru"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Otevřít..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Nejprve je nutné vybrat soubor pro import!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Chyba při otevírání CSV souboru"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, 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
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d záznam načten!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d záznamů načteno!"
@@ -1734,65 +1759,66 @@ msgstr "%d záznamů načteno!"
 msgid "Wizard"
 msgstr "Průvodce"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 #, fuzzy
 msgid "ID"
 msgstr "Najít"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 #, fuzzy
 msgid "Creation User"
 msgstr "Vytvořeno uživatelem:"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 #, fuzzy
 msgid "Creation Date"
 msgstr "Datum vytvoření:"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 #, fuzzy
 msgid "Modification User"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 #, fuzzy
 msgid "Modification Date"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
+#, fuzzy
 msgid "Unable to get view tree state"
-msgstr ""
+msgstr "Nemohu nastavit lokalizaci %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Nemohu nastavit lokalizaci %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1847,7 +1873,7 @@ msgstr ""
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Najít"
 
@@ -1870,15 +1896,19 @@ msgstr "Přepnout pohled"
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Vymazat"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Všechny soubory"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1886,11 +1916,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
@@ -1910,12 +1940,12 @@ msgstr "Uložit tento záznam"
 msgid "Remove selected record <Del>"
 msgstr "Smazat vybraný záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "Otevřít záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "Hledat záznam"
@@ -1931,7 +1961,7 @@ msgid "Edit selected record <F2>"
 msgstr "Upravit vybraný záznam"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo
index fdce4fb..4d16b9e 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/de_DE/LC_MESSAGES/tryton.po b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
index 00e360a..034bb3e 100644
--- a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
@@ -53,11 +53,11 @@ msgstr "Kann Konfigurationsdatei '%s' nicht schreiben!"
 msgid "Unable to set locale %s"
 msgstr "Kann locale %s nicht setzen."
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Aktion wählen"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Keine Aktion angegeben!"
 
@@ -82,11 +82,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Speichern unter..."
 
@@ -132,8 +132,8 @@ msgstr "Vergleichen"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Fehler"
 
@@ -163,7 +163,7 @@ msgstr "Fehler melden"
 msgid "User:"
 msgstr "Anmeldename:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Passwort:"
@@ -204,7 +204,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Sicherheitsrisiko!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -213,7 +213,7 @@ msgstr ""
 "Verbindungsfehler!\n"
 "Kann nicht zum Server verbinden."
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Netzwerkfehler!"
 
@@ -274,40 +274,44 @@ msgid "t"
 msgstr "w"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Wahr"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Falsch"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Bearbeiten..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Anhänge..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Aktionen..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Beziehungen..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Berichte..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "E-Mail..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Drucken..."
 
@@ -509,7 +513,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -619,63 +623,63 @@ msgstr "Datenbank konnte nicht gesichert werden!"
 msgid "Database backuped successfully!"
 msgstr "Datenbank erfolgreich gesichert."
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Neu"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Neuen Datensatz erstellen"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Speichern"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Diesen Datensatz speichern"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Ansicht wechseln"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Ansicht wechseln"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Neu laden"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Neu laden"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Neu"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Speichern"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "_Ansicht wechseln"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "Neu laden/_Rückgängig"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Löschen..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "Registerkarte schließen"
 
@@ -920,13 +924,11 @@ msgstr "Profilbearbeitung"
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 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
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Entfernen"
 
@@ -1071,203 +1073,221 @@ msgstr "Textkörper:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Vorheriger"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Nächster"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Nächster Datensatz"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Anhang(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Einen Anhang zum Datensatz hinzufügen"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplizieren"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Vorheriger"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "_Nächster"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Suche"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "_Protokoll ansehen..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Bearbeitungen anzeigen..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "A_nhänge..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Aktion ausführen..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Beziehung öffnen..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Bericht öffnen..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Bericht per E-Mail..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "_Bericht drucken..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "Daten _exportieren..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "Daten _importieren..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Anhänge(%d)"
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr "Ein Datensatz muss ausgewählt werden."
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Erstellt von"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Erstellt am"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Zuletzt verändert von"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Zuletzt verändert am"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modell:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Möchten Sie diesen Datensatz wirklich löschen?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Möchten Sie diese Datensätze wirklich löschen?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr "Die Datensätze wurden nicht gelöscht."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr "Die Datensätze wurden gelöscht."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr "Sie arbeiten nun an dem/den duplizierten Datensatz/Datensätzen."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr "Der Datensatz wurde gespeichert."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " von "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Datensatz geändert.\n"
 "Soll der Datensatz gespeichert werden?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Aktion"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Aktion ausführen"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Beziehung"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Datensätze einer Beziehung öffnen"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Bericht"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Bericht öffnen"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "E-Mail"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Bericht per E-Mail senden"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Drucken"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Bericht drucken"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Unbekannt"
 
@@ -1530,76 +1550,94 @@ msgstr "Tipps"
 msgid "_Display a new tip next time"
 msgstr "_Tipps beim Start von Tryton anzeigen"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Alle Felder</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Leeren"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "CSV Parameter"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Kodierung:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Feldname"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Als CSV exportieren"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Name"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Export speichern"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Öffnen"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Wie soll der Name des Exports lauten?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Definition von '%s' nicht berücksichtigen?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d Datensatz gespeichert."
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d Datensätze gespeichert."
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1614,94 +1652,71 @@ msgstr ""
 msgid "Link"
 msgstr "Verknüpfung"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Entfernen <Entf>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Neuen Datensatz erstellen <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Aus CSV Datei importieren"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Öffnen..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Zuerst muss eine Importdatei ausgewählt werden!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Fehler beim öffnen der CSV-Datei"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, 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
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d Datensatz importiert."
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d Datensätze importiert."
@@ -1710,59 +1725,59 @@ msgstr "%d Datensätze importiert."
 msgid "Wizard"
 msgstr "Wizard"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Erstellt von"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Erstellt am"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Zuletzt verändert von"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Zuletzt verändert am"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "Kann Sicht für den Menübaum nicht finden."
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
 msgstr "Kann Sicht für den Menübaum nicht anwenden."
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr "In Feld \"%s\" ist ein Eintrag erforderlich."
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1816,7 +1831,7 @@ msgstr "Diesen Filter als Lesezeichen hinzufügen"
 msgid "Bookmark Name:"
 msgstr "Lesezeichenname:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Suchen"
 
@@ -1836,15 +1851,19 @@ msgstr "Monatsansicht"
 msgid "Week"
 msgstr "Woche"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr "Auswählen..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Leeren"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Alle Dateien"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr "Auswählen"
 
@@ -1852,11 +1871,11 @@ msgstr "Auswählen"
 msgid "Show plain text"
 msgstr "Klartext anzeigen"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Wert hinzufügen"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "\"%s\" entfernen"
@@ -1874,11 +1893,11 @@ msgstr "Bestehenden Datensatz hinzufügen"
 msgid "Remove selected record <Del>"
 msgstr "Ausgewählten Datensatz löschen <Entf>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Datensatz öffnen <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Datensatz suchen <F2>"
 
@@ -1891,7 +1910,7 @@ msgid "Edit selected record <F2>"
 msgstr "Ausgewählten Datensatz bearbeiten <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
diff --git a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo
index 3307414..551da35 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_AR/LC_MESSAGES/tryton.po b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
index 478c9f4..b39a509 100644
--- a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
@@ -52,11 +52,11 @@ msgstr "¡No se ha podido escribir el archivo de configuración %s!"
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "¡No se ha definido ninguna acción!"
 
@@ -81,11 +81,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Guardar como..."
 
@@ -131,8 +131,8 @@ msgstr "Comparar"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Error"
 
@@ -161,7 +161,7 @@ msgstr "Seguimiento de errores"
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Contraseña:"
@@ -202,7 +202,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "¡Riesgo de seguridad!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -211,7 +211,7 @@ msgstr ""
 "¡Error de conexión!\n"
 "¡No ha sido posible conectarse al servidor!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "¡Error de red!"
 
@@ -272,40 +272,44 @@ msgid "t"
 msgstr "v"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Verdadero"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Editar..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Imprimir..."
 
@@ -507,7 +511,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -616,63 +620,63 @@ 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Cambiar vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
@@ -913,13 +917,11 @@ msgstr "Editor de perfiles"
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Añadir"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Eliminar"
 
@@ -1063,203 +1065,221 @@ msgstr "Mensaje:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro siguiente"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Informe..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr "Debe seleccionar un registro."
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Creado por:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr "Los registros no se han eliminado."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr "Registros eliminados."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr "Ahora está trabajando en registro(s) duplicado(s)."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr "Registro guardado."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Ejecutar acción"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "_Relacionado"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Abrir informe"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Informe por email"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Imprimir informe"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Desconocido"
 
@@ -1522,76 +1542,94 @@ msgstr "Consejos"
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Todos los campos</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parámetros CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codificación:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nombre del campo"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Guardar exportación"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "¿Sobrescribir definición de '%s'?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "¡Se ha guardado %d registro!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "¡Se han guardado %d registros!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1606,94 +1644,71 @@ msgstr ""
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/win_form.py:182
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py: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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "¡Primero debe elegir un archivo a importar!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "¡Se ha importado %d registro!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "¡Se han importado %d registros!"
@@ -1702,59 +1717,59 @@ msgstr "¡Se han importado %d registros!"
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Creado por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "No se ha podido obtener el estado del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
 msgstr "No se ha podido establecer el estado del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "«%s» no es válido según su dominio"
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr "«%s» es requerido"
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Los valores de «%s» no son válidos"
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1808,7 +1823,7 @@ msgstr "Guardar como búsqueda favorita"
 msgid "Bookmark Name:"
 msgstr "Nombre de la búsqueda favorita:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Buscar"
 
@@ -1828,15 +1843,19 @@ msgstr "Vista mensual"
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr "Seleccionar..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr "Seleccionar"
 
@@ -1844,11 +1863,11 @@ msgstr "Seleccionar"
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Añadir un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
@@ -1866,11 +1885,11 @@ msgstr "Añadir un registro existente"
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
@@ -1883,7 +1902,7 @@ msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
diff --git a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo
index 737d645..662ca1f 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_CO/LC_MESSAGES/tryton.po b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
index e1b9496..8588720 100644
--- a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
@@ -53,11 +53,11 @@ msgstr "No es posible modificar el archivo de configuración %s!"
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "No hay acción definida!"
 
@@ -82,11 +82,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Guardar como..."
 
@@ -132,8 +132,8 @@ msgstr "Comparar"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Error"
 
@@ -162,7 +162,7 @@ msgstr "Seguimiento de Fallos"
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Contraseña:"
@@ -203,7 +203,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Riesgo de seguridad!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -212,7 +212,7 @@ msgstr ""
 "Error de conexión!\n"
 "No ha sido posible conectarse al servidor!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Error de Red!"
 
@@ -273,40 +273,44 @@ msgid "t"
 msgstr "v"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Verdadero"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "_Editar..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Relación..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Reporte..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Correo Electrónico..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Imprimir..."
 
@@ -508,7 +512,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -617,63 +621,63 @@ 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Cambiar"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Cambiar Vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
@@ -914,13 +918,11 @@ msgstr "Perfiles"
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Agregar"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Eliminar"
 
@@ -1064,203 +1066,226 @@ msgstr "Mensaje:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro Siguiente"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Agregar un adjunto al registro"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Mostrar revisiones..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Relación..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Reporte..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Correo Electrónico..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Exportar Datos..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importar Datos..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Debe seleccionar un registro!"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Creado por Usuario:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Fecha de Creación:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Última Modificación por:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Fecha de Última Modificación:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Los registros no se han eliminado!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Registros eliminados!"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "Está trabajando ahora registro(s) duplicado(s)!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "¡Registro guardado!"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Lanzar acción"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Relación"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Reporte"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Abrir reporte"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Reporte por email"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Imprimir reporte"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Desconocido"
 
@@ -1523,76 +1548,94 @@ msgstr "Consejos"
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Todos los campos</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parámetros CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codificación:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nombre del campo"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Guardar Exportación"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobreescribir '%s' definición?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d registro guardado!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d registros guardados!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1607,94 +1650,71 @@ msgstr ""
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/win_form.py:182
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py: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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Primero debe elegir un archivo a importar!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d registro importado!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d registros importados!"
@@ -1703,59 +1723,59 @@ msgstr "%d registros importados!"
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Creado por Usuario"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Fecha de Creación"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Modificado por Usuario"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Fecha de Modificación"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "No es posible encontrar el estado de la vista de árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
 msgstr "No se puede fijar la vista de estado del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1809,7 +1829,7 @@ msgstr "Marcar este filtro"
 msgid "Bookmark Name:"
 msgstr "Nombre del Marcador:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Buscar"
 
@@ -1829,15 +1849,19 @@ msgstr "Vista Mensual"
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1845,11 +1869,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Agregar valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Remover \"%s\""
@@ -1867,11 +1891,11 @@ msgstr "Agregar registro existente"
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
@@ -1884,7 +1908,7 @@ msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo
index 2d24cc0..b24e540 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_EC/LC_MESSAGES/tryton.po b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
index 00c8231..8494a33 100644
--- a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
@@ -53,11 +53,11 @@ msgstr "¡No es posible escribir el archivo de configuración %s!"
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "¡No se ha definido ninguna acción!"
 
@@ -82,11 +82,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Guardar como..."
 
@@ -132,8 +132,8 @@ msgstr "Comparar"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Error"
 
@@ -162,7 +162,7 @@ msgstr "Seguimiento de errores"
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Contraseña:"
@@ -203,7 +203,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "¡Riesgo de seguridad!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -212,7 +212,7 @@ msgstr ""
 "¡Error de conexión!\n"
 "¡No ha sido posible conectarse al servidor!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "¡Error de red!"
 
@@ -273,40 +273,44 @@ msgid "t"
 msgstr "v"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Verdadero"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Editar..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Imprimir..."
 
@@ -508,7 +512,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -618,63 +622,63 @@ 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Cambiar Vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
@@ -915,13 +919,11 @@ msgstr "Editor de perfiles"
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Añadir"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Eliminar"
 
@@ -1065,203 +1067,221 @@ msgstr "Mensaje:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro siguiente"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Informes..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr "¡Debe seleccionar un registro!"
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Creado por usuario:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Fecha de última modificación:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr "Los registros no se han eliminado."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr "Registros eliminados."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr "Ahora está trabajando en registro(s) duplicado(s)."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr "Registro guardado."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Lanzar acción"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Relacionado"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Abrir informe"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Informe por email"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Imprimir informe"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Desconocido"
 
@@ -1524,76 +1544,94 @@ msgstr "Consejos"
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Todos los campos</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parámetros CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codificación:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nombre del campo"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Guardar exportación"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "¿Sobreescribir la definición de '%s'?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
-msgstr "¡%d registro guardado!"
+msgstr "Se ha guardado %d registro."
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
-msgstr "¡%d registros guardados!"
+msgstr "Se han guardado %d registros."
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1608,94 +1646,71 @@ msgstr ""
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/win_form.py:182
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py: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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "¡Primero debe seleccionar un archivo a importar!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "¡%d registro importado!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "¡%d registros importados!"
@@ -1704,59 +1719,59 @@ msgstr "¡%d registros importados!"
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Creado por usuario"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Fecha de creación"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Modificado por usuario"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Fecha de modificación"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "No se puede obtener el estado de la vista de árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
 msgstr "No se puede establecer el estado de la vista de árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "\"%s\" no es válido de acuerdo a su dominio"
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr "Se requiere \"%s\""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Los valores de \"%s\" no son válidos"
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1810,7 +1825,7 @@ msgstr "Guardar como búsqueda favorita"
 msgid "Bookmark Name:"
 msgstr "Nombre de la búsqueda favorita:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Buscar"
 
@@ -1830,15 +1845,19 @@ msgstr "Vista mensual"
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr "Seleccionar…"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr "Seleccionar"
 
@@ -1846,11 +1865,11 @@ msgstr "Seleccionar"
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Añadir un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
@@ -1868,11 +1887,11 @@ msgstr "Añadir un registro existente"
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
@@ -1885,7 +1904,7 @@ msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
diff --git a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo
index dc3a412..4e70b0f 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_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
index b489b27..105a040 100644
--- a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
@@ -57,11 +57,11 @@ msgstr "No se ha podido escribir el archivo de configuración %s."
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "No se ha definido ninguna acción."
 
@@ -86,11 +86,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Guardar como..."
 
@@ -136,8 +136,8 @@ msgstr "Comparar"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Error"
 
@@ -166,7 +166,7 @@ msgstr "Seguimiento de errores"
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Contraseña:"
@@ -207,7 +207,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Riesgo de seguridad."
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -216,7 +216,7 @@ msgstr ""
 "Error de conexión.\n"
 "No ha sido posible conectarse con el servidor."
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Error de red."
 
@@ -277,40 +277,44 @@ msgid "t"
 msgstr "v"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Verdadero"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Editar..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Imprimir..."
 
@@ -512,7 +516,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -621,63 +625,63 @@ 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar de vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Cambiar vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
@@ -918,13 +922,11 @@ msgstr "Editor de perfiles"
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Añadir"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Eliminar"
 
@@ -1068,203 +1070,221 @@ msgstr "Mensaje:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro siguiente"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Ver _registro..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Informes..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr "Debe elegir un registro."
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Creado por:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr "Los registros no se han eliminado."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr "Registros eliminados."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr "Ahora está trabajando en el registro duplicado."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr "Registro guardado."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Ejecutar acción"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "_Relacionado"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Abrir informe"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Informe por email"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Imprimir informe"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Desconocido"
 
@@ -1527,76 +1547,94 @@ msgstr "Consejos"
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Todos los campos</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parámetros CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codificación:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nombre del campo"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Guardar exportación"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobrescribir la definición de '%s'?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "Se ha guardado %d registro."
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "Se han guardado %d registros."
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1611,94 +1649,71 @@ msgstr ""
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/win_form.py:182
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py: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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Primero debe elegir un archivo a importar."
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "Se ha importado %d registro."
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "Se han importado %d registros."
@@ -1707,59 +1722,59 @@ msgstr "Se han importado %d registros."
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Creado por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "No se ha podido obtener el estado de expansión del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
 msgstr "No se ha podido establecer el estado de expansión del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "\"%s\" no es válido según su dominio."
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr "\"%s\" es obligatorio."
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Los valores de \"%s\" no son válidos."
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1813,7 +1828,7 @@ msgstr "Guardar como búsqueda favorita"
 msgid "Bookmark Name:"
 msgstr "Nombre de la búsqueda favorita:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Buscar"
 
@@ -1833,15 +1848,19 @@ msgstr "Vista mensual"
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr "Seleccionar…"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr "Seleccionar"
 
@@ -1849,11 +1868,11 @@ msgstr "Seleccionar"
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Añadir un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
@@ -1871,11 +1890,11 @@ msgstr "Añadir un registro existente"
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
@@ -1888,7 +1907,7 @@ msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
diff --git a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo
index 3c2ed7a..9779ca5 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/es_MX/LC_MESSAGES/tryton.po b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
index a12cd64..bf8031b 100644
--- a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
@@ -1,3 +1,7 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
@@ -51,11 +55,11 @@ msgstr "No se ha podido escribir el archivo de configuración %s."
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "No se ha definido ninguna acción."
 
@@ -80,11 +84,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Guardar como..."
 
@@ -130,8 +134,8 @@ msgstr "Comparar"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Error"
 
@@ -160,7 +164,7 @@ msgstr "Seguimiento de errores"
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Contraseña:"
@@ -201,7 +205,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Riesgo de seguridad."
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -210,7 +214,7 @@ msgstr ""
 "Error de conexión.\n"
 "No ha sido posible conectarse al servidor."
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Error de red."
 
@@ -271,40 +275,44 @@ msgid "t"
 msgstr "v"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Verdadero"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Editar..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Imprimir..."
 
@@ -506,7 +514,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -615,63 +623,63 @@ 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Cambiar vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
@@ -912,13 +920,11 @@ msgstr "Editor de perfiles"
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Añadir"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Eliminar"
 
@@ -1062,203 +1068,226 @@ msgstr "Mensaje:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro siguiente"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Ver _registro..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Informes..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Debe elegir un registro."
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Creado por:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Los registros no se han eliminado."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Registros eliminados."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "Ahora está trabajando en el registro duplicado."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "Registro guardado."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Ejecutar acción"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "_Relacionado"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Abrir informe"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Informe por email"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Imprimir informe"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Desconocido"
 
@@ -1521,76 +1550,94 @@ msgstr "Consejos"
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Todos los campos</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parámetros CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codificación:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nombre del campo"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Guardar exportación"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobrescribir la definición de '%s'?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "Se ha guardado %d registro."
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "Se han guardado %d registros."
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1605,94 +1652,71 @@ msgstr ""
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/win_form.py:182
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py: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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Primero debe elegir un archivo a importar."
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "Se ha importado %d registro."
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "Se han importado %d registros."
@@ -1701,59 +1725,59 @@ msgstr "Se han importado %d registros."
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Creado por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "No se ha podido obtener el estado de expansión del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
 msgstr "No se ha podido establecer el estado de expansión del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1807,7 +1831,7 @@ msgstr "Guardar como búsqueda favorita"
 msgid "Bookmark Name:"
 msgstr "Nombre de la búsqueda favorita:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Buscar"
 
@@ -1827,15 +1851,19 @@ msgstr "Vista mensual"
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Limpiar"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1843,11 +1871,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Añadir un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
@@ -1865,11 +1893,11 @@ msgstr "Añadir un registro existente"
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
@@ -1882,7 +1910,7 @@ msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo
index 1cbd3af..ce51fe8 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/fr_FR/LC_MESSAGES/tryton.po b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
index 15afeb0..8f6909c 100644
--- a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
@@ -52,11 +52,11 @@ msgstr "Impossible d'écrire le fichier de configuration %s !"
 msgid "Unable to set locale %s"
 msgstr "Impossible de sélectionner la locale %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Sélectionnez votre action"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Pas d'action définie !"
 
@@ -81,11 +81,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Enregistrer sous..."
 
@@ -131,8 +131,8 @@ msgstr "Comparer"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Erreur"
 
@@ -161,7 +161,7 @@ msgstr "Bug Tracker"
 msgid "User:"
 msgstr "Utilisateur :"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Mot de passe :"
@@ -202,7 +202,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Alerte sécurité !"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -211,7 +211,7 @@ msgstr ""
 "Erreur de connexion !\n"
 "Impossible de se connecter au serveur !"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Erreur réseau !"
 
@@ -272,40 +272,44 @@ msgid "t"
 msgstr "v"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Vrai"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Faux"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Éditer..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Attachements..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Actions..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Relation..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Rapport..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Email..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Imprimer..."
 
@@ -507,7 +511,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -617,63 +621,63 @@ msgstr "La sauvegarde de la base de données a échouée !"
 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nouveau"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Créer un nouvel enregistrement"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Sauver"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Sauver cet enregistrement"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Basculer"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Basculer la vue"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recharger"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recharger"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nouveau"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Sauver"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "_Changer de vue"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Recharger/Annuler"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "Su_pprimer..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Fermer l'onglet"
 
@@ -914,13 +918,11 @@ msgstr "Éditeur de profil"
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Ajouter"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Enlever"
 
@@ -1064,203 +1066,221 @@ msgstr "Corps :"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Précédent"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Suivant"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Enregistrement suivant"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Attachement(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Ajouter un attachement à l'enregistrement"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Dupliquer"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Précédent"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Sui_vant"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Recherche"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Voir les _Logs..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Afficher les révisions..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "_Pièce jointes..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Actions..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Relation..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Rapport..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Email..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "_Imprimer..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Export de données..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Import de données..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Attachement(%d)"
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr "Vous devez sélectionner un enregistrement."
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID :"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Créé par l'utilisateur :"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Date de création :"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Dernière modification par :"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Date de dernière modification :"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modèle :"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Êtes-vous sûr de vouloir supprimer cet enregistrement ?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Êtes-vous sûr de vouloir supprimer ces enregistrements ?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr "Enregistrements non supprimés."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr "Enregistrements supprimés."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr "Sur les enregistrement(s) dupliqué(s) maintenant."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr "Enregistrement sauvegardé."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Cet enregistrement a été modifié\n"
 "voulez-vous le sauvegarder ?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Actions"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Lancer une action"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Relation"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Ouvrir les enregistrements liés"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Rapport"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Ouvrir un rapport"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Rapport par email"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Imprimer"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Imprimer un rapport"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Inconnu"
 
@@ -1523,76 +1543,94 @@ msgstr "Astuces"
 msgid "_Display a new tip next time"
 msgstr "_Afficher une nouvelle astuce la prochaine fois"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Tout les champs</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Effacer"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Paramètres CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codage :"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nom du champ"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exporter en CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nom"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Sauver l'exportation"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Ouvrir"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Quel est le nom de cet export ?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Surcharger la définition « %s » ?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d enregistrement sauvé !"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d enregistrements sauvés !"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1607,94 +1645,71 @@ msgstr ""
 msgid "Link"
 msgstr "Lien"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Ajouter"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Supprimer <Del>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Créer un nouvel enregistrement<F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importer depuis un CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Ouvrir..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Vous devez d'abord sélectionner un fichier d'import !"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Erreur d'ouverture du fichier CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, 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
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d enregistrement importé !"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d enregistrements importés !"
@@ -1703,59 +1718,59 @@ msgstr "%d enregistrements importés !"
 msgid "Wizard"
 msgstr "Assistant"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Créé par l'utilisateur"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Date de création"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Modifié par l'utilisateur"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Date de modification"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 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
+#: tryton/gui/window/view_form/screen/screen.py:769
 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
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr "« %s » est requis"
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1809,7 +1824,7 @@ msgstr "Sauver ce filtre"
 msgid "Bookmark Name:"
 msgstr "Nom du marque-page :"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Chercher"
 
@@ -1829,15 +1844,19 @@ msgstr "Vue mois"
 msgid "Week"
 msgstr "Semaine"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr "Sélectionner..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Effacer"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Tous les fichiers"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr "Sélectionner"
 
@@ -1845,11 +1864,11 @@ msgstr "Sélectionner"
 msgid "Show plain text"
 msgstr "Montrer en text clair"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Ajouter une valeur"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Supprimer « %s »"
@@ -1867,11 +1886,11 @@ msgstr "Ajouter un enregistrement existant"
 msgid "Remove selected record <Del>"
 msgstr "Supprimer l'enregistrement sélectionné<Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Ouvrir un enregistrement<F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Chercher un enregistrement<F2>"
 
@@ -1884,7 +1903,7 @@ msgid "Edit selected record <F2>"
 msgstr "Éditer l'enregistrement sélectionné<F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
diff --git a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo
index bf132f0..a9bff97 100644
Binary files a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo and b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po
index 28e4214..2c3f763 100644
--- a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po
@@ -1,3 +1,7 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
@@ -49,11 +53,11 @@ msgstr "Nem lehet a következő konfigurációs fájlba írni: „%s”"
 msgid "Unable to set locale %s"
 msgstr "Nem lehet beállítani a csoportot: %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Válasszon műveletet"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Nincs megadva művelet"
 
@@ -78,11 +82,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Mentés másként…"
 
@@ -128,8 +132,8 @@ msgstr "Összehasonlítás"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Hiba"
 
@@ -158,7 +162,7 @@ msgstr "Hiba bejelentése"
 msgid "User:"
 msgstr "Felhasználó:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Jelszó:"
@@ -199,7 +203,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Biztonsági kockázat"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -208,7 +212,7 @@ msgstr ""
 "Kapcsolási hiba!\n"
 "Nem kapcsolódik a szerverrel!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Hálózati hiba"
 
@@ -269,40 +273,44 @@ msgid "t"
 msgstr "w"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Igaz"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Hamis"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Szerkesztés…"
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Mellékletek..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Műveletek"
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Kapcsolatok..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Jelentés..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "E-Mail..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Nyomtatás..."
 
@@ -504,7 +512,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -611,63 +619,63 @@ msgstr "Adatbank sikertelen biztosítása!"
 msgid "Database backuped successfully!"
 msgstr "Adatbank sikeres biztosítása!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Új"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 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
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Mentés"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 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/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Nézet váltása"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Nézet váltása"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Frissítés"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Frissítés"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Új"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Mentés"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Nézet váltása"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "Frissítés/ visszavonás"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Törlés..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "Lap bezárása"
 
@@ -907,13 +915,11 @@ msgstr "Profilszerkesztő"
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 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
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Eltávolítás"
 
@@ -1056,203 +1062,226 @@ msgstr "Szöveg:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Előző"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Következő"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Következő adat"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Mellékletek:"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Melléklet hozzáadása az üzenethez."
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "Másolat"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Előző"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "_Következő"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Keresés"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Napló megtekintése…"
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Feldolgozások megtekintése"
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "Csatolmány"
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Műveletek"
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "Kapcsolat megnyitása"
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "Jelentés megnyitása..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "Jelentés per e-mail"
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "_Nyomtatás…"
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "Adat exportálása"
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "Adat importálása"
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Melléklet(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Legalább egy adatot kell kiválasztani."
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Által létrehozva"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Létrehozás dátuma"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Utolsó módosítás"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Módosítás dátuma "
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Típus:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Biztos törölni szeretné?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Biztos törölni  szeretné?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Adat nincs törölve!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Adat törölve"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "A másolaton dolgozik"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "Adat mentve"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr "-tól"
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Adat módosítva\n"
 "Szeretne menteni?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Művelet"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Művelet indítása"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Kapcsolat"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Kapcsolat adatainak megnyitása"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Jelentés"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Jelentés megnyitása"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "E-mail"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Jelentést e-mailon küldeni"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Nyomtatás"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 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
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Ismeretlen"
 
@@ -1514,76 +1543,94 @@ msgstr "Tippek"
 msgid "_Display a new tip next time"
 msgstr "Tippek mutatása Tryton indításakor"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>összes mező</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Törlés"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "CSV Paraméter"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Kódolás:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Mezőnév"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "CSV ként exportálni"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Név"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Export mentése"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Megnyitás"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Mi legyen az export neve?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "'%s' definiálásának figyelembe vétele?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d adat mentve"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d adatok mentve!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1598,94 +1645,71 @@ msgstr ""
 msgid "Link"
 msgstr "Hivatkozás"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Hozzáad"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Mező eltávolítása<Entf>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Új adat létrehozása.<F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "CSV-ből adatok importálása"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Megnyitás..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 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
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Hiba a CSV fájl megnyitásakor"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, 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
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d adat importálva..."
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d adat importálva..."
@@ -1694,59 +1718,59 @@ msgstr "%d adat importálva..."
 msgid "Wizard"
 msgstr "Wizard"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Által létrehozva"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Létrehozás dátuma"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Által módosítva"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Módosítás dátuma"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "A menü nem látható"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 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
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1800,7 +1824,7 @@ msgstr "A szűrőt könyvjelzőként hozzáadni"
 msgid "Bookmark Name:"
 msgstr "Könyvjelző neve:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Keresés"
 
@@ -1820,15 +1844,19 @@ msgstr "Havi nézet"
 msgid "Week"
 msgstr "Hét"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Törlés"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Összes fájl"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1836,11 +1864,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr "Magyarázat mutatása"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Érték hozzáadása"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "„%s” eltávolítása"
@@ -1858,11 +1886,11 @@ msgstr "Meglévő adat hozzáadása"
 msgid "Remove selected record <Del>"
 msgstr "Kijelölt adat törlése<Entf>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Adat megnyitása<F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Adat keresése<F2>"
 
@@ -1875,7 +1903,7 @@ 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
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo
index d243d4d..7976e6e 100644
Binary files a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo and b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
index 584c6c5..e034f93 100644
--- a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
@@ -1,3 +1,7 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
@@ -50,11 +54,11 @@ msgstr "Impossibile scrivere il file di configurazione %s!"
 msgid "Unable to set locale %s"
 msgstr "Impossibile impostare la localizzazione %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Scegliere un'azione"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Nessuna azione definita!"
 
@@ -79,11 +83,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Salva come..."
 
@@ -129,8 +133,8 @@ msgstr "Confrontare"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Errore"
 
@@ -159,7 +163,7 @@ msgstr "Bug Tracker"
 msgid "User:"
 msgstr "Utente:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Password:"
@@ -200,7 +204,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Rischio di sicurezza!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -209,7 +213,7 @@ msgstr ""
 "Errore di connessione!\n"
 "Impossibile connettersi al server!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Errore di rete!"
 
@@ -270,40 +274,44 @@ msgid "t"
 msgstr "o"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "True"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "False"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Modifica..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Allegati..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Azioni..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Riferire..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Segnala..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "E-Mail"
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Stampa..."
 
@@ -505,7 +513,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -612,63 +620,63 @@ msgstr "Dump del database non riuscito!"
 msgid "Database backuped successfully!"
 msgstr "Copia del database riuscita!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuovo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 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
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Salva"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 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/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Cambia"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambia vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_RIcarica"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Ricarica"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nuovo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Salva"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "_Cambia vista"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr ""
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Eliimina"
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Chiudi scheda"
 
@@ -906,13 +914,11 @@ msgstr "Editor del profilo"
 msgid "Profile"
 msgstr "Profilo"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "Profilo"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Rimuovi"
 
@@ -1056,203 +1062,227 @@ msgstr "Corpo:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Precedente"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Prossimo"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Prossimo Record"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Allegato (0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Aggiungi un allegato al record"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplicato"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Precedente"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "_Successivo"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Cerca"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Visualizza_Log..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Mostra revisioni..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "A_llegati..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Azioni..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
+#, fuzzy
 msgid "_Relate..."
-msgstr ""
+msgstr "Riferire..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Rapporto..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_E-Mail..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "_Stampa..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Esporta dati"
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importa dati"
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Allegato(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Devi selezionare un record!"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Utente di creazione:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Data di creazione:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Ultima modifica a:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Ultima data di modifica:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modello:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Sei sicuro di rimuovere questo record?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Sei sicuro di rimuovere questi records?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Record non rimossi!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Records rimossi!"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "Attivo ora nel (nei) record duplicato!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "Record salvato!"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr "di"
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Il record è stato modificato\n"
 " intendi salvarlo?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Azione"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Lanciare l'azione"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Collegato"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Apri record relazionati"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Rapporto"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Apri rapporto"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "E-Mail"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "report E-Mail"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Stampa"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Stampa report"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Sconosciuto"
 
@@ -1504,76 +1534,94 @@ msgstr "Tips"
 msgid "_Display a new tip next time"
 msgstr "_Mostra un nuovo suggerimento la prossima volta"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Tutti i campi</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Pulisci"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parametri CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codifica:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nome di campo"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nome"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Salva esportazione"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Apri"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (stringa)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Qual è il nome di questa esportazione?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sostituisci definizione '%s'?"
 
-#: tryton/gui/window/win_export.py:481
-#, python-format
+#: tryton/gui/window/win_export.py:324
+#, python-format, fuzzy, python-format
 msgid "%d record saved!"
-msgstr ""
+msgstr "Record salvato!"
 
-#: tryton/gui/window/win_export.py:483
-#, python-format
+#: tryton/gui/window/win_export.py:326
+#, python-format, fuzzy, python-format
 msgid "%d records saved!"
-msgstr ""
+msgstr "Record salvato!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1585,94 +1633,73 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
+#, fuzzy
 msgid "Add"
-msgstr ""
+msgstr "Profilo"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#, fuzzy
 msgid "Create a new record <F3>"
-msgstr ""
+msgstr "Crea nuovo record"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importa da CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Apri..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Devi prima selezionare un file di import!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Errore nell'apertura del file CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, 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
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr " %d record importati"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr " %d record importati!"
@@ -1681,59 +1708,59 @@ msgstr " %d record importati!"
 msgid "Wizard"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Creazione utente"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Data di creazione"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Utente di modifica"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Data di modifica"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "Impossibile ottenere la vista ad albero"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
 msgstr "Impossibile configurare la vista ad albero"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1787,7 +1814,7 @@ msgstr "Memorizza questo filtro"
 msgid "Bookmark Name:"
 msgstr "Nome segnalibro:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Trova"
 
@@ -1807,15 +1834,19 @@ msgstr "Vista mensile"
 msgid "Week"
 msgstr "Settimana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Pulisci"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Tutti i files"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1823,11 +1854,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr "Mostra testo semplice"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Aggiungi valore"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Rimuovi \"%s\""
@@ -1842,14 +1873,15 @@ msgid "Add existing record"
 msgstr "Aggiungi un record esistente"
 
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#, fuzzy
 msgid "Remove selected record <Del>"
-msgstr ""
+msgstr "Elimina il record selezionato <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr ""
 
@@ -1862,7 +1894,7 @@ 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
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo
index 889665c..b2f3e5b 100644
Binary files a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo and b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
index 97ad631..51f095d 100644
--- a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
@@ -52,11 +52,11 @@ msgstr "設定ファイル %s が書きこめません!"
 msgid "Unable to set locale %s"
 msgstr "%s ロケールに設定できません"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "動作を選択する"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "動作が定義されていません!"
 
@@ -81,11 +81,11 @@ msgid "Your selection:"
 msgstr "あなたの選択:"
 
 #: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/win_export.py:297
 #: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "名前を付けて保存"
 
@@ -131,8 +131,8 @@ msgstr "比較"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "エラー"
 
@@ -161,7 +161,7 @@ msgstr "バグトラッカー"
 msgid "User:"
 msgstr "ユーザー:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "パスワード:"
@@ -202,7 +202,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "セキュリティリスク!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -211,7 +211,7 @@ msgstr ""
 "接続エラー!\n"
 "サーバーに接続できません!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "ネットワーク エラー!"
 
@@ -277,46 +277,50 @@ msgid "t"
 msgstr ""
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "真"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "偽"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 #, fuzzy
 msgid "Edit..."
 msgstr "終了(_Q)"
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 #, fuzzy
 msgid "Attachments..."
 msgstr "添付:"
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 #, fuzzy
 msgid "Actions..."
 msgstr "実行(_A)"
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 #, fuzzy
 msgid "Relate..."
 msgstr "削除(_D)"
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 #, fuzzy
 msgid "Report..."
 msgstr "データのインポート(_I)"
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 #, fuzzy
 msgid "E-Mail..."
 msgstr "Eメール(_E)"
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 #, fuzzy
 msgid "Print..."
 msgstr "印刷(_P)"
@@ -521,7 +525,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -626,64 +630,64 @@ msgstr "データベースのダンプに失敗しました!"
 msgid "Database backuped successfully!"
 msgstr "データベースのバックアップに成功しました!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 #, fuzzy
 msgid "New"
 msgstr "新規(_N)"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "レコードの新規作成"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "保存"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "レコードの保存"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "切替"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "ビューの切替"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "再読み込み(_R)"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "再読み込み"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "新規(_N)"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "保存(_S)"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "ビューの切替(_S)"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "再読み込み/やり直し(_R)"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "削除(_D)"
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "タブを閉じる(_C)"
 
@@ -914,13 +918,11 @@ msgstr ""
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "追加(_A)"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "削除(_R)"
 
@@ -1068,213 +1070,236 @@ msgstr "本文:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "前"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "次"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "次のレコード"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "添付(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "レコードに添付を追加する"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "複製(_D)"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "前(_P)"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "次(_N)"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 #, fuzzy
 msgid "_Search"
 msgstr "検索"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "ログの閲覧(_L)"
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "添付:"
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "実行(_A)"
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 #, fuzzy
 msgid "_Relate..."
 msgstr "削除(_D)"
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 #, fuzzy
 msgid "_Report..."
 msgstr "データのインポート(_I)"
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "Eメール(_E)"
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "印刷(_P)"
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "データのエクスポート(_E)"
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "データのインポート(_I)"
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "添付(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "レコードを一つ選択して下さい!"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "作成ユーザー:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "作成日:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "最終更新ユーザー:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "モデル:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "このレコードを削除しますか?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "このレコードを削除しますか?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "レコードが削除されませんでした!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "レコードが削除されました!"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "重複したレコードで作業中です!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "レコードが保存されました!"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " 中 "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "レコードが変更されています\n"
 "保存しますか?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "実行"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr ""
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 #, fuzzy
 msgid "Relate"
 msgstr "作成(_C)"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 #, fuzzy
 msgid "Open related records"
 msgstr "レコードを開く"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 #, fuzzy
 msgid "Report"
 msgstr "レポート"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 #, fuzzy
 msgid "Open report"
 msgstr "レコードを開く"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 #, fuzzy
 msgid "E-Mail"
 msgstr "Eメール"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr ""
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "印刷"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr ""
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "未知"
 
@@ -1540,76 +1565,94 @@ msgstr "技"
 msgid "_Display a new tip next time"
 msgstr "新しい技を次回も表示する(_D)"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>全てのフィールド</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "クリア"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "CSVパラメータ"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "エンコーディング:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "フィールド名"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "CSVにエクスポート"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "名前"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "エクスポートを保存"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "開く"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 msgid "Add _field names"
 msgstr "フィールド名を追加(_F)"
 
-#: tryton/gui/window/win_export.py:215
-msgid "Name"
-msgstr "名前"
-
-#: tryton/gui/window/win_export.py:247
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "このエクスポートの名前は何ですか?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d レコード保存されました!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d レコード保存されました!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1624,98 +1667,74 @@ msgstr ""
 msgid "Link"
 msgstr "リンク"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "追加"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: 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/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "CSVからインポート"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "開く"
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "最初にインポートするファイルを選択して下さい!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "CSVファイルを開くときにエラーが起こりました"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format, fuzzy, python-format
 msgid "Error processing the file at field %s."
 msgstr "ファイルの%sフィールドの処理でエラーが起こりました。"
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d レコードをインポートしました!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d レコードをインポートしました。"
@@ -1724,66 +1743,66 @@ msgstr "%d レコードをインポートしました。"
 msgid "Wizard"
 msgstr "ウィザード"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 #, fuzzy
 msgid "ID"
 msgstr "日"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 #, fuzzy
 msgid "Creation User"
 msgstr "作成ユーザー:"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 #, fuzzy
 msgid "Creation Date"
 msgstr "作成日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 #, fuzzy
 msgid "Modification User"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 #, fuzzy
 msgid "Modification Date"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 #, fuzzy
 msgid "Unable to get view tree state"
 msgstr "%s ロケールに設定できません"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "%s ロケールに設定できません"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1838,7 +1857,7 @@ msgstr ""
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "検索"
 
@@ -1861,15 +1880,19 @@ msgstr "ビューの切替"
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "クリア"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "全てのファイル"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1877,11 +1900,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
@@ -1901,12 +1924,12 @@ msgstr "レコードの保存"
 msgid "Remove selected record <Del>"
 msgstr "選択したレコードを削除"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "レコードを開く"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "レコードを検索する"
@@ -1922,7 +1945,7 @@ msgid "Edit selected record <F2>"
 msgstr "選択したレコードを編集"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..75b6a83
Binary files /dev/null and b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
similarity index 59%
copy from tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
copy to tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
index 4773a32..29d4808 100644
--- a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
@@ -1,10 +1,14 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 #: tryton/config.py:76
 msgid "specify alternate config file"
-msgstr "zadejte alternativní konfigurační soubor"
+msgstr ""
 
 #: tryton/config.py:79
 msgid "development mode"
@@ -20,15 +24,15 @@ msgstr ""
 
 #: tryton/config.py:87
 msgid "specify the login user"
-msgstr "zadejte uživatelské jméno"
+msgstr ""
 
 #: tryton/config.py:89
 msgid "specify the server port"
-msgstr "zadejte číslo portu síťového serveru"
+msgstr ""
 
 #: tryton/config.py:91
 msgid "specify the server hostname"
-msgstr "zadejte název hostitele pro server"
+msgstr ""
 
 #: tryton/config.py:95
 msgid "Too much arguments"
@@ -42,53 +46,53 @@ msgstr ""
 #: tryton/config.py:136
 #, python-format
 msgid "Unable to write config file %s!"
-msgstr "Nelze zapsat konfigurační soubor %s!"
+msgstr ""
 
 #: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
-msgstr "Nemohu nastavit lokalizaci %s"
+msgstr ""
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
-msgstr "Vyberte akci"
+msgstr ""
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
-msgstr "Žádná akce není definována!"
+msgstr ""
 
 #: tryton/common/common.py:274
 msgid "Tryton Connection"
-msgstr "Tryton spojení"
+msgstr ""
 
 #: tryton/common/common.py:285
 msgid "Server:"
-msgstr "Server:"
+msgstr ""
 
 #: tryton/common/common.py:303
 msgid "Port:"
-msgstr "Port:"
+msgstr ""
 
 #: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
-msgstr "Výběr"
+msgstr ""
 
 #: tryton/common/common.py:380
 msgid "Your selection:"
-msgstr "Váš výběr:"
+msgstr ""
 
 #: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/win_export.py:297
 #: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
-msgstr "Uložit jako..."
+msgstr ""
 
 #: tryton/common/common.py:642
 msgid "Always ignore this warning."
-msgstr "zadejte alternativní konfigurační soubor"
+msgstr ""
 
 #: tryton/common/common.py:647
 msgid "Do you want to proceed?"
@@ -96,14 +100,13 @@ msgstr ""
 
 #: tryton/common/common.py:666
 msgid "Confirmation"
-msgstr "Potvrzení"
+msgstr ""
 
 #: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
-msgstr "Výjimka při souběhu"
+msgstr ""
 
 #: tryton/common/common.py:786
-#, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -113,80 +116,69 @@ msgid ""
 "    - \"Compare\" to see the modified version;\n"
 "    - \"Write Anyway\" to save your current version."
 msgstr ""
-"<b>Varování při souběhu zápisů:</b>\n"
-"\n"
-"Tento záznam byl změněn zatímco jste ho upravovali.\n"
-" Vyberte:\n"
-"  - \"Zrušit\" pro zrušení ukládání,\n"
-"  - \"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"
+msgstr ""
 
 #: tryton/common/common.py:800
 msgid "Write Anyway"
-msgstr "Přesto zapsat"
+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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
-msgstr "Chyba"
+msgstr ""
 
 #: tryton/common/common.py:830
 msgid "Report Bug"
-msgstr "Nahlásit chybu"
+msgstr ""
 
 #: tryton/common/common.py:837
 msgid "Application Error!"
-msgstr "Chyba aplikace!"
+msgstr ""
 
 #: tryton/common/common.py:860
 msgid "Error: "
-msgstr "Chyba:"
+msgstr ""
 
 #: tryton/common/common.py:880
-#, python-format, fuzzy, python-format
+#, 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>"
+msgstr ""
 
 #: tryton/common/common.py:910
 msgid "Bug Tracker"
-msgstr "Sledování chyb"
+msgstr ""
 
 #: tryton/common/common.py:928
 msgid "User:"
-msgstr "Uživatel:"
+msgstr ""
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
-msgstr "Heslo:"
+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 ""
-"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"
+msgstr ""
 
 #: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
 msgstr ""
-"Chyba při spojení!\n"
-"Špatné uživatelské jméno nebo heslo!"
 
 #: tryton/common/common.py:1015
 msgid "Exception:"
-msgstr "Výjimka:"
+msgstr ""
 
 #: tryton/common/common.py:1032
 msgid ""
@@ -198,18 +190,16 @@ msgstr ""
 msgid "Security risk!"
 msgstr ""
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
 msgstr ""
-"Chyba spojení!\n"
-"Nelze se připojit k serveru!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
-msgstr "Chyba sítě!"
+msgstr ""
 
 #: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
@@ -221,9 +211,8 @@ msgstr ""
 
 #: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
 #: tryton/common/datetime_.py:383
-#, fuzzy
 msgid "Value"
-msgstr "Nepravda"
+msgstr ""
 
 #: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
 #: tryton/common/datetime_.py:384
@@ -232,9 +221,8 @@ 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í"
+msgstr ""
 
 #: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
 #: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
@@ -242,9 +230,8 @@ msgid "Display format"
 msgstr ""
 
 #: tryton/common/datetime_.py:61
-#, fuzzy
 msgid "Open the calendar"
-msgstr "Otevřít kalendář"
+msgstr ""
 
 #: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
@@ -259,63 +246,58 @@ msgid "y"
 msgstr ""
 
 #: tryton/common/domain_parser.py:235
-#, fuzzy
 msgid "yes"
-msgstr "bajtů"
+msgstr ""
 
 #: tryton/common/domain_parser.py:235
-#, fuzzy
 msgid "true"
-msgstr "Pravda"
+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
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
-msgstr "Pravda"
+msgstr ""
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
-msgstr "Nepravda"
+msgstr ""
 
-#: tryton/common/popup_menu.py:77
-#, fuzzy
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
-msgstr "Konec..."
+msgstr ""
 
-#: tryton/common/popup_menu.py:82
-#, fuzzy
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
-msgstr "Příloha:"
+msgstr ""
+
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
 
-#: tryton/common/popup_menu.py:92
-#, fuzzy
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
-msgstr "Akce..."
+msgstr ""
 
-#: tryton/common/popup_menu.py:93
-#, fuzzy
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
-msgstr "_Odstranit..."
+msgstr ""
 
-#: tryton/common/popup_menu.py:94
-#, fuzzy
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
-msgstr "Importovat data..."
+msgstr ""
 
-#: tryton/common/popup_menu.py:95
-#, fuzzy
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
-msgstr "_Email..."
+msgstr ""
 
-#: tryton/common/popup_menu.py:96
-#, fuzzy
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
-msgstr "_Tisk..."
+msgstr ""
 
 #: tryton/common/timedelta.py:26
 msgid "Y"
@@ -347,15 +329,15 @@ msgstr ""
 
 #: tryton/gui/main.py:218
 msgid "_File"
-msgstr "_Soubor"
+msgstr ""
 
 #: tryton/gui/main.py:226
 msgid "_User"
-msgstr "_Uživatel"
+msgstr ""
 
 #: tryton/gui/main.py:240
 msgid "_Options"
-msgstr "_Volby"
+msgstr ""
 
 #: tryton/gui/main.py:248
 msgid "Fa_vorites"
@@ -363,7 +345,7 @@ msgstr ""
 
 #: tryton/gui/main.py:264
 msgid "_Help"
-msgstr "Nápo_věda"
+msgstr ""
 
 #: tryton/gui/main.py:373
 msgid "No result found."
@@ -371,44 +353,43 @@ msgstr ""
 
 #: tryton/gui/main.py:395
 msgid "_Connect..."
-msgstr "_Připojit..."
+msgstr ""
 
 #: tryton/gui/main.py:404
 msgid "_Disconnect"
-msgstr "_Odpojit"
+msgstr ""
 
 #: tryton/gui/main.py:414
 msgid "Data_base"
-msgstr "Databáze"
+msgstr ""
 
 #: tryton/gui/main.py:425
 msgid "_New Database..."
-msgstr "Nová databáze..."
+msgstr ""
 
 #: tryton/gui/main.py:434
 msgid "_Restore Database..."
-msgstr "Obnovit databázi..."
+msgstr ""
 
 #: tryton/gui/main.py:443
 msgid "_Backup Database..."
-msgstr "Zazálohovat databázi..."
+msgstr ""
 
 #: tryton/gui/main.py:452
 msgid "Dro_p Database..."
-msgstr "Smazat databázi"
+msgstr ""
 
 #: tryton/gui/main.py:461
 msgid "_Quit..."
-msgstr "Konec..."
+msgstr ""
 
 #: tryton/gui/main.py:476
 msgid "_Preferences..."
-msgstr "_Vlastnosti..."
+msgstr ""
 
 #: tryton/gui/main.py:487
-#, fuzzy
 msgid "_Menu Reload"
-msgstr "_Obnovit"
+msgstr ""
 
 #: tryton/gui/main.py:496
 msgid "_Menu Toggle"
@@ -419,29 +400,28 @@ msgid "_Global Search"
 msgstr ""
 
 #: tryton/gui/main.py:518
-#, fuzzy
 msgid "_Toolbar"
-msgstr "Nástrojová lišta"
+msgstr ""
 
 #: tryton/gui/main.py:526
 msgid "_Default"
-msgstr "_Výchozí"
+msgstr ""
 
 #: tryton/gui/main.py:536
 msgid "_Text and Icons"
-msgstr "_Text a ikony"
+msgstr ""
 
 #: tryton/gui/main.py:546
 msgid "_Icons"
-msgstr "_Ikony"
+msgstr ""
 
 #: tryton/gui/main.py:555
 msgid "_Text"
-msgstr "_Text"
+msgstr ""
 
 #: tryton/gui/main.py:564
 msgid "_Menubar"
-msgstr "Hlavní nabídka"
+msgstr ""
 
 #: tryton/gui/main.py:572
 msgid "Change Accelerators"
@@ -449,19 +429,19 @@ msgstr ""
 
 #: tryton/gui/main.py:580
 msgid "_Mode"
-msgstr "_Režim"
+msgstr ""
 
 #: tryton/gui/main.py:588
 msgid "_Normal"
-msgstr "_Normální"
+msgstr ""
 
 #: tryton/gui/main.py:596
 msgid "_PDA"
-msgstr "_PDA"
+msgstr ""
 
 #: tryton/gui/main.py:603
 msgid "_Form"
-msgstr "Formulář"
+msgstr ""
 
 #: tryton/gui/main.py:612
 msgid "Save Width/Height"
@@ -477,12 +457,11 @@ msgstr ""
 
 #: tryton/gui/main.py:645
 msgid "Spell Checking"
-msgstr "Kontrola pravopisu"
+msgstr ""
 
 #: tryton/gui/main.py:655
-#, fuzzy
 msgid "_Previous Tab"
-msgstr "_Předchozí"
+msgstr ""
 
 #: tryton/gui/main.py:661
 msgid "_Next Tab"
@@ -494,23 +473,23 @@ msgstr ""
 
 #: tryton/gui/main.py:673
 msgid "_Email..."
-msgstr "_Email..."
+msgstr ""
 
 #: tryton/gui/main.py:681
 msgid "_Save Options"
-msgstr "Uložit nastavení"
+msgstr ""
 
 #: tryton/gui/main.py:693
 msgid "_Tips..."
-msgstr "_Tipy..."
+msgstr ""
 
 #: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
-msgstr "_Klávesové zkratky..."
+msgstr ""
 
 #: tryton/gui/main.py:711
 msgid "_About..."
-msgstr "_O programu..."
+msgstr ""
 
 #: tryton/gui/main.py:762
 msgid "Manage Favorites"
@@ -518,11 +497,11 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
-msgstr "Hledat"
+msgstr ""
 
 #: tryton/gui/main.py:914
 msgid ""
@@ -532,175 +511,159 @@ msgstr ""
 
 #: tryton/gui/main.py:1173
 msgid "Close Tab"
-msgstr "Zavřít záložku"
+msgstr ""
 
 #: tryton/gui/main.py:1294
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
 msgstr ""
-"Bude smazána Tryton databáze.\n"
-"Opravdu chcete pokračovat?"
 
 #: tryton/gui/main.py:1304
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
 msgstr ""
-"Špatné heslo Tryton serveru\n"
-"Zkuste to znovu."
 
 #: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
 #: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
-msgstr "Přístup odepřen!"
+msgstr ""
 
 #: tryton/gui/main.py:1309
 msgid "Database drop failed with error message:\n"
-msgstr "Odstranění databáze selhalo s chybovou zprávou:\n"
+msgstr ""
 
 #: tryton/gui/main.py:1310
 msgid "Database drop failed!"
-msgstr "Odstranění databáze selhalo!"
+msgstr ""
 
 #: tryton/gui/main.py:1312
 msgid "Database dropped successfully!"
-msgstr "Databáze úspěšné odstraněna!"
+msgstr ""
 
 #: tryton/gui/main.py:1317
 msgid "Open Backup File to Restore..."
-msgstr "Otevřít soubor se zálohou pro obnovu..."
+msgstr ""
 
 #: tryton/gui/main.py:1335
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
-"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!"
+msgstr ""
 
 #: tryton/gui/main.py:1341 tryton/gui/main.py:1377
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
 msgstr ""
-"Špatné heslo Tryton serveru\n"
-"Zkuste to znovu."
 
 #: tryton/gui/main.py:1346
 msgid "Database restore failed with error message:\n"
-msgstr "Obnovení databáze selhalo s chybovou zprávou:\n"
+msgstr ""
 
 #: tryton/gui/main.py:1348 tryton/gui/main.py:1353
 msgid "Database restore failed!"
-msgstr "Obnova databáze selhala!"
+msgstr ""
 
 #: tryton/gui/main.py:1351
 msgid "Database restored successfully!"
-msgstr "Databáze úspěšně obnovena!"
+msgstr ""
 
 #: tryton/gui/main.py:1372
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
-"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"
+msgstr ""
 
 #: tryton/gui/main.py:1384
 msgid "Database dump failed!"
-msgstr "Záloha databáze selhala!"
+msgstr ""
 
 #: tryton/gui/main.py:1395
 msgid "Database backuped successfully!"
-msgstr "Databáze úspěšně zazálohována!"
+msgstr ""
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr ""
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
-msgstr "Vytvořit nový záznam"
+msgstr ""
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
-#, fuzzy
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
-msgstr "_Uložit"
+msgstr ""
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
-msgstr "Uložit tento záznam"
+msgstr ""
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
-msgstr "Přepnout"
+msgstr ""
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
-msgstr "Přepnout pohled"
+msgstr ""
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
-msgstr "_Obnovit"
+msgstr ""
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
-msgstr "Obnovit"
+msgstr ""
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
-msgstr "_Nový"
+msgstr ""
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
-msgstr "_Uložit"
+msgstr ""
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
-msgstr "Přepnout pohled"
+msgstr ""
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
-msgstr "Obnovit/Zpět"
+msgstr ""
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
-msgstr "_Odstranit..."
+msgstr ""
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
-msgstr "_Zavřít kartu"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:29
-#, fuzzy
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port '8000'"
 " if the server is installed on this computer. Click on 'Change' to change "
 "the address."
 msgstr ""
-"Toto je URL Tryton serveru. Použijte server 'localhost' a port '8070', pokud"
-" je server nainstalován na tomto počítači. Klikněte na \"Změnit\" pro změnu "
-"adresy."
 
 #: tryton/gui/window/dbcreate.py:42
 msgid "No connection!"
-msgstr "Není spojení!"
+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"
@@ -708,57 +671,48 @@ msgid ""
 "3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
-"Nelze se připojit k serveru!\n"
-"1. Zkontrolujte, jestli server běží.\n"
-"2. Zjistěte, na které adrese a portu poslouchá.\n"
-"3. Pokud je mezi klientem a serverem firewall, zajistěte, že adresa a port (obvykle 8070) serveru nejsou blokovány.\n"
-"Klikněte na \"Změnit\" pro změnu adresy."
 
 #: tryton/gui/window/dbcreate.py:134
 msgid "Create new database"
-msgstr "Vytvořit novou databázi"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:144
 msgid "C_reate"
-msgstr "_Vytvořit"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:152
 msgid "Create the new database."
-msgstr "Vytvořit novou databázi."
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:163
 msgid "Server Setup:"
-msgstr "Nastavení serveru:"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:168
 msgid "Server connection:"
-msgstr "Spojení k serveru:"
+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 ""
-"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"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
 msgid "Setup the server connection..."
-msgstr "Nastavení spojení k serveru..."
+msgstr ""
 
 #: 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:"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
 #: tryton/gui/window/dbrestore.py:114
@@ -766,16 +720,14 @@ msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real user."
 " This password is usually defined in the trytond configuration."
 msgstr ""
-"Toto je heslo pro Tryton server. Nepatří žádnému skutečnému uživateli. Toto "
-"heslo je obvykle definováno v konfiguračním souboru serveru."
 
 #: tryton/gui/window/dbcreate.py:215
 msgid "New database setup:"
-msgstr "Nastavení nové databáze:"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:221
 msgid "Database name:"
-msgstr "Název databáze:"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:234
 msgid ""
@@ -783,14 +735,10 @@ msgid ""
 "Allowed characters are alphanumerical or _ (underscore)\n"
 "You need to avoid all accents, space or special characters! Example: tryton"
 msgstr ""
-"Vyberte název nové databáze.\n"
-"Povolené znaky jsou alfanumerické a _ (podtržítko)\n"
-"Nepoužívejte znaky s akcenty, mezeru nebo speciální znaky!\n"
-"Příklad: tryton"
 
 #: tryton/gui/window/dbcreate.py:241
 msgid "Default language:"
-msgstr "Výchozí jazyk:"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:251
 msgid ""
@@ -798,13 +746,10 @@ msgid ""
 "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:"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:266
 msgid ""
@@ -812,41 +757,36 @@ msgid ""
 "User name: admin\n"
 "Password: <The password you set here>"
 msgstr ""
-"Vyberte heslo pro správce nové databáze. Pomocí následujících údajů se pak budete schopni k této databázi připojit:\n"
-"Uživatel: admin\n"
-"Heslo: <právě zadané heslo>"
 
 #: tryton/gui/window/dbcreate.py:274
 msgid "Confirm admin password:"
-msgstr "Potvrzení hesla správce:"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
-msgstr "Zadejte znovu heslo správce"
+msgstr ""
 
 #: 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"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
-msgstr "Hesla nesouhlasí!"
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
 msgstr ""
-"Databáze se stejným názvem již existuje.\n"
-"Použijte jiný název."
 
 #: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
-msgstr "Databáze s tímto názvem již existuje!"
+msgstr ""
 
 #: 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."
+msgstr ""
 
 #: tryton/gui/window/dbcreate.py:367
 msgid ""
@@ -854,66 +794,63 @@ msgid ""
 "If there is a database created, it could be broken. Maybe drop this database! Please check the error message for possible informations.\n"
 "Error message:\n"
 msgstr ""
-"Databázi nelze vytvořit, příčina je neznámá.\n"
-"Pokud je databáze již vytvořená, může být poškozená. Zkuste ji odstranit. Zkontrolujte chybové hlášení pro případné další informace.\n"
-"Chybová zpráva:\n"
 
 #: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
-msgstr "Chyba při vytváření databáze!"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
-msgstr "Nelze se spojit se serverem!"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
-msgstr "Verze klienta není kompatibilní se serverem!"
+msgstr ""
 
 #: 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!"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
-msgstr "Zálohovat databázi"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
-msgstr "Zálohovat"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
-msgstr "Zálohovat vybranou databázi."
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
-msgstr "Vyberte Tryton databázi pro zálohování:"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
-msgstr "Smazat databázi"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
-msgstr "Smazat"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
-msgstr "Smazat vybranou databázi."
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
-msgstr "Vyberte Tryton databázi pro smazání:"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
-msgstr "Přepojení k serveru:"
+msgstr ""
 
 #: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
 #: tryton/gui/window/dblogin.py:434
 msgid "Database:"
-msgstr "Databáze:"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
@@ -923,65 +860,57 @@ msgstr ""
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
-msgstr "_Přidat"
+msgstr ""
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
-msgstr "_Odstranit"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
-#, fuzzy
 msgid "Host:"
-msgstr "Port:"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:98
-#, fuzzy
 msgid "Create"
-msgstr "_Vytvořit"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:101
-#, fuzzy
 msgid "Fetching databases list"
-msgstr "Nastavení nové databáze:"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:119
-#, fuzzy
 msgid "Username:"
-msgstr "Uživatelské jméno:"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:297
-#, fuzzy
 msgid "Could not connect to the server"
-msgstr "Nelze se spojit se serverem!"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
-#, fuzzy
 msgid "Incompatible version of the server"
-msgstr "Verze serveru není kompatibilní!"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:359
 msgid "Login"
-msgstr "Přihlášení"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
-msgstr "_Zrušit"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
-msgstr "Zrušit spojení k Tryton serveru."
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
-msgstr "_Připojit"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
-msgstr "Připojit k Tryton serveru"
+msgstr ""
 
 #: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
@@ -997,15 +926,15 @@ msgstr ""
 
 #: tryton/gui/window/dblogin.py:459
 msgid "User name:"
-msgstr "Uživatelské jméno:"
+msgstr ""
 
 #: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
-msgstr "Obnovit databázi"
+msgstr ""
 
 #: tryton/gui/window/dbrestore.py:122
 msgid "File to Restore:"
-msgstr "Obnovit ze souboru:"
+msgstr ""
 
 #: tryton/gui/window/dbrestore.py:136
 msgid ""
@@ -1014,19 +943,14 @@ msgid ""
 "You need to avoid all accents, space or special characters! \n"
 "Example: tryton"
 msgstr ""
-"Vyberte název databáze pro obnovu.\n"
-"Povolené znaky jsou alfanumerické a _ (podtržítko)\n"
-"Nepoužívejte znaky s akcenty, mezeru nebo speciální znaky!\n"
-"Příklad: tryton"
 
 #: tryton/gui/window/dbrestore.py:142
 msgid "New Database Name:"
-msgstr "Název nové databáze:"
+msgstr ""
 
 #: tryton/gui/window/dbrestore.py:146
-#, fuzzy
 msgid "Update Database:"
-msgstr "Zálohovat databázi"
+msgstr ""
 
 #: tryton/gui/window/dbrestore.py:151
 msgid ""
@@ -1036,298 +960,298 @@ msgstr ""
 
 #: tryton/gui/window/dbrestore.py:161
 msgid "Restore"
-msgstr "Obnovit"
+msgstr ""
 
 #: tryton/gui/window/dbrestore.py:170
 msgid "Restore the database from file."
-msgstr "Obnovit databázi ze souboru."
+msgstr ""
 
 #: tryton/gui/window/email.py:16
 msgid "Email"
-msgstr "Email"
+msgstr ""
 
 #: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
-msgstr "Poslat nastavení programu emailem"
+msgstr ""
 
 #: tryton/gui/window/email.py:28
 msgid "Command Line:"
-msgstr "Příkazový řádek:"
+msgstr ""
 
 #: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
-msgstr "Seznam dostupných náhrad:"
+msgstr ""
 
 #: tryton/gui/window/email.py:45
 msgid "To:"
-msgstr "Komu:"
+msgstr ""
 
 #: tryton/gui/window/email.py:49
 msgid "CC:"
-msgstr "CC:"
+msgstr ""
 
 #: tryton/gui/window/email.py:53
 msgid "Subject:"
-msgstr "Předmět: "
+msgstr ""
 
 #: tryton/gui/window/email.py:57
 msgid "Body:"
-msgstr "Tělo:"
+msgstr ""
 
 #: tryton/gui/window/email.py:61
 msgid "Attachment:"
-msgstr "Příloha:"
+msgstr ""
 
-#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
-msgstr "Předchozí"
+msgstr ""
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 msgid "Previous Record"
-msgstr "Předchozí záznam"
+msgstr ""
 
-#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
-msgstr "Další"
+msgstr ""
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
-msgstr "Následující záznam"
+msgstr ""
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
-msgstr "Přílohy(0)"
+msgstr ""
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
-msgstr "Přidat přílohu k záznamu"
+msgstr ""
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
-msgstr "_Duplikovat"
+msgstr ""
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
-msgstr "_Předchozí"
+msgstr ""
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
-msgstr "_Následující"
+msgstr ""
 
-#: tryton/gui/window/form.py:63
-#, fuzzy
+#: tryton/gui/window/form.py:66
 msgid "_Search"
-msgstr "Hledat"
+msgstr ""
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
-msgstr "Zobrazit záznamy..."
+msgstr ""
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:70
-#, fuzzy
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
-msgstr "Příloha:"
+msgstr ""
+
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
-msgstr "Akce..."
+msgstr ""
 
-#: tryton/gui/window/form.py:74
-#, fuzzy
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
-msgstr "_Odstranit..."
+msgstr ""
 
-#: tryton/gui/window/form.py:77
-#, fuzzy
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
-msgstr "Importovat data..."
+msgstr ""
 
-#: tryton/gui/window/form.py:79
-#, fuzzy
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
-msgstr "_Email..."
+msgstr ""
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
-msgstr "_Tisk..."
+msgstr ""
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
-msgstr "Exportovat data"
+msgstr ""
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
-msgstr "Importovat data..."
+msgstr ""
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
-msgstr "Příloha(%d)"
+msgstr ""
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
-msgstr "ID:"
+msgstr ""
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
-msgstr "Vytvořeno uživatelem:"
+msgstr ""
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
-msgstr "Datum vytvoření:"
+msgstr ""
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
-msgstr "Poslední úpravu provedl:"
+msgstr ""
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
-msgstr "Datum poslední úpravy:"
+msgstr ""
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
-msgstr "Model:"
+msgstr ""
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
-msgstr "Opravdu chcete odstranit tento záznam?"
+msgstr ""
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
-msgstr "Opravdu chcete odstranit tyto záznamy?"
+msgstr ""
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr ""
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr ""
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr ""
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr ""
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
-msgstr " z "
+msgstr ""
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
-"Tento záznam byl upraven\n"
-"chcete ho uložit?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
-msgstr "Akce"
+msgstr ""
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr ""
 
-#: tryton/gui/window/form.py:529
-#, fuzzy
+#: tryton/gui/window/form.py:567
 msgid "Relate"
-msgstr "_Vytvořit"
+msgstr ""
 
-#: tryton/gui/window/form.py:529
-#, fuzzy
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
-msgstr "Otevřít záznam"
+msgstr ""
 
-#: tryton/gui/window/form.py:531
-#, fuzzy
+#: tryton/gui/window/form.py:569
 msgid "Report"
-msgstr "Sestavy"
+msgstr ""
 
-#: tryton/gui/window/form.py:531
-#, fuzzy
+#: tryton/gui/window/form.py:569
 msgid "Open report"
-msgstr "Otevřít záznam"
+msgstr ""
 
-#: tryton/gui/window/form.py:532
-#, fuzzy
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
-msgstr "Email"
+msgstr ""
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr ""
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
-msgstr "Tisk"
+msgstr ""
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr ""
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
-msgstr "Neznámý"
+msgstr ""
 
 #: tryton/gui/window/limit.py:17
-#, fuzzy
 msgid "Limit"
-msgstr "Omezit:"
+msgstr ""
 
 #: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr ""
 
 #: tryton/gui/window/limit.py:29
-#, fuzzy
 msgid "Limit:"
-msgstr "Omezit:"
+msgstr ""
 
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
-msgstr "Nastavení"
+msgstr ""
 
 #: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
-msgstr "Upravit uživatelské nastavení"
+msgstr ""
 
 #: tryton/gui/window/preference.py:75
 msgid "Preference"
-msgstr "Nastavení"
+msgstr ""
 
 #: tryton/gui/window/preference.py:88
-#, fuzzy
 msgid "Current Password:"
-msgstr "Heslo správce:"
+msgstr ""
 
 #: tryton/gui/window/revision.py:19
-#, fuzzy
 msgid "Revision"
-msgstr "Předchozí"
+msgstr ""
 
 #: tryton/gui/window/revision.py:28
-#, fuzzy
 msgid "Select a revision"
-msgstr "Výběr"
+msgstr ""
 
 #: tryton/gui/window/revision.py:31
 msgid "Revision:"
@@ -1335,58 +1259,55 @@ msgstr ""
 
 #: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
-msgstr "Klávesové zkratky"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
-msgstr "Zkratky pro texty"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
-msgstr "Vyjmout vybraný text"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
-msgstr "Kopírovat vybraný text"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
-msgstr "Vložit vybraný text"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
-msgstr "Další prvek"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
-msgstr "Předchozí prvek"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
-msgstr "Zkratky pro relace"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
-msgstr "Vytvořit novou relaci"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
-msgstr "Otevřít/prohledat relaci"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:37
-#, fuzzy
 msgid "List Entries Shortcuts"
-msgstr "Zkratky pro texty"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:38
-#, fuzzy
 msgid "Create new line"
-msgstr "Vytvořit novou relaci"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:39
-#, fuzzy
 msgid "Open relation"
-msgstr "Otevřít/prohledat relaci"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
@@ -1398,7 +1319,7 @@ msgstr ""
 
 #: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
-msgstr "Editovací prvky"
+msgstr ""
 
 #: tryton/gui/window/shortcuts.py:47
 msgid "Move Cursor"
@@ -1495,9 +1416,6 @@ msgid ""
 "\n"
 "\n"
 msgstr ""
-"<b>Vítejte v Trytonu</b>\n"
-"\n"
-"\n"
 
 #: tryton/gui/window/tips.py:21
 msgid ""
@@ -1513,16 +1431,6 @@ msgid ""
 "other known moons. It is also more massive than all the Solar System's\n"
 "159 known smaller moons combined.\n"
 msgstr ""
-"<b>Znáte Tryton, jednoho ze jmenovců našeho projektu?</b>\n"
-"\n"
-"Triton (vysloveno /ˈtraɪtən/ TRYE-tən, nebo jako v řečtině Τρίτων) je\n"
-"největší měsíc planety Neptun, objevený 10. října 1846\n"
-"Williamem Lassellem. Je to jediný velký měsíc ve sluneční soustavě\n"
-"s retrográdním oběhem, což je oběh s opačnou rotací, než je rotace\n"
-"planety. S průměrem 2700 km jde o sedmý největší měsíc sluneční\n"
-"soustavy. Triton zahrnuje 99.5 procenta známé hmoty obíhající Neptun,\n"
-"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 ""
@@ -1531,9 +1439,6 @@ msgid ""
 "You can copy records from any list with Ctrl + C\n"
 "and paste in any application with Ctrl + V\n"
 msgstr ""
-"<b>Seznam exportovaných záznamů</b>\n"
-"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 ""
@@ -1544,292 +1449,269 @@ msgstr ""
 
 #: tryton/gui/window/tips.py:45
 msgid "Tips"
-msgstr "Tipy"
+msgstr ""
 
 #: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
-msgstr "Zobrazit příště další tip"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:25
-msgid "Export to CSV"
-msgstr "Exportovat do CSV souboru"
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:40
-msgid "<b>Predefined exports</b>"
-msgstr "<b>Předdefinované exporty</b>"
+#: tryton/gui/window/win_csv.py:86
+msgid "_Clear"
+msgstr ""
 
-#: 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_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
-msgid "Clear"
-msgstr "Vymazat"
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
-msgstr "Uložit exportu"
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
-msgstr "Smazat exportu"
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:115
-msgid "<b>Fields to export</b>"
-msgstr "<b>Pole pro export</b>"
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:132
-msgid "<b>Options</b>"
-msgstr "<b>Možnosti</b>"
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:142
-msgid "Open"
-msgstr "Otevřít"
+#: tryton/gui/window/win_export.py:28
+msgid "Export to CSV"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:147
-msgid "Add _field names"
-msgstr "Přidat jména polí"
+#: tryton/gui/window/win_export.py:39
+msgid "<b>Predefined exports</b>"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:215
+#: tryton/gui/window/win_export.py:46
 msgid "Name"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:247
+#: tryton/gui/window/win_export.py:60
+msgid "_Save Export"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:69
+msgid "_Delete Export"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:82
+msgid "Open"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:87
+msgid "Add _field names"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
-msgstr "%d záznam uložen!"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
-msgstr "%d záznamů uloženo!"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
 "Error message:\n"
 "%s"
 msgstr ""
-"Operace selhala.\n"
-"Chybová zpráva:\n"
-"%s"
 
 #: tryton/gui/window/win_form.py:36
 msgid "Link"
-msgstr "Odkaz"
+msgstr ""
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
-msgstr "Přidat"
+msgstr ""
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
-#, fuzzy
 msgid "Create a new record <F3>"
-msgstr "Vytvořit nový záznam"
+msgstr ""
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
-#, fuzzy
 msgid "Delete selected record <Del>"
-msgstr "Smazat vybraný záznam"
+msgstr ""
 
-#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/win_form.py:182
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
-#, fuzzy
 msgid "Undelete selected record <Ins>"
-msgstr "Smazat vybraný záznam"
+msgstr ""
 
-#: tryton/gui/window/win_import.py:20
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
-msgstr "Import CSV souboru"
-
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
-msgstr "Automatická detekce"
+msgstr ""
 
-#: 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:32
+msgid "_Auto-Detect"
+msgstr ""
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
-msgstr "Soubor k importu:"
+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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
-msgstr "Otevřít..."
-
-#: 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í:"
+msgstr ""
 
-#: tryton/gui/window/win_import.py:154
+#: tryton/gui/window/win_import.py:50
 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"
+msgstr ""
 
-#: tryton/gui/window/win_import.py:254
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
-msgstr "Nejprve je nutné vybrat soubor pro import!"
+msgstr ""
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
-msgstr "Chyba při otevírání CSV souboru"
+msgstr ""
 
-#: tryton/gui/window/win_import.py:292
-#, python-format, fuzzy, python-format
+#: tryton/gui/window/win_import.py:137
+#, python-format
 msgid "Error processing the file at field %s."
-msgstr "Chyba při zpracování souboru u pole %s.\n"
+msgstr ""
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
-msgstr "%d záznam načten!"
+msgstr ""
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
-msgstr "%d záznamů načteno!"
+msgstr ""
 
 #: tryton/gui/window/wizard.py:287
 msgid "Wizard"
-msgstr "Průvodce"
+msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:147
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
-msgstr "Najít"
+msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:148
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
-msgstr "Vytvořeno uživatelem:"
+msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:149
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
-msgstr "Datum vytvoření:"
+msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:150
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
-msgstr "Datum poslední úpravy:"
+msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:151
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
-msgstr "Datum poslední úpravy:"
+msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:710
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
-msgstr "Nemohu nastavit lokalizaci %s"
+msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
-msgstr ":"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/graph.py:99
 msgid "Save As"
-msgstr "Uložit jako"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
-msgstr "Velikost obrázku"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
-msgstr "Šířka:"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
-msgstr "Výška:"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
-msgstr "Obrázek PNG (*.png)"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/graph.py:159
 msgid "Image size too large!"
-msgstr "Rozměry obrázku jsou příliš velké!"
+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 "_Soubor"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
@@ -1847,38 +1729,39 @@ msgstr ""
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
-msgstr "Najít"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
-#, fuzzy
 msgid "Today"
-msgstr "Tělo:"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
-#, fuzzy
 msgid "Week View"
-msgstr "Přepnout pohled"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
-#, fuzzy
 msgid "Month View"
-msgstr "Přepnout pohled"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
-msgstr "Všechny soubory"
+msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1886,52 +1769,46 @@ msgstr ""
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
 #: tryton/gui/window/view_form/view/form_gtk/image.py:49
 msgid "Images"
-msgstr "Obrázky"
+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 "Uložit tento záznam"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
-#, fuzzy
 msgid "Remove selected record <Del>"
-msgstr "Smazat vybraný záznam"
+msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
-#, fuzzy
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
-msgstr "Otevřít záznam"
+msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
-#, fuzzy
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
-msgstr "Hledat záznam"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
-#, fuzzy
 msgid "Remove selected record"
-msgstr "Smazat vybraný záznam"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
-#, fuzzy
 msgid "Edit selected record <F2>"
-msgstr "Upravit vybraný záznam"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
@@ -1945,9 +1822,8 @@ msgid "Select a color"
 msgstr ""
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:113
-#, fuzzy
 msgid "Translation"
-msgstr "Přidat překlad"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
@@ -1959,12 +1835,12 @@ 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ů!"
+msgstr ""
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:258
 msgid "No other language available!"
-msgstr "Jiný jazyk není k dispozici!"
+msgstr ""
 
 #: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
-msgstr "Přeložit pohled"
+msgstr ""
diff --git a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo
index 948a8eb..207d51a 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/lt_LT/LC_MESSAGES/tryton.po b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
index a16cefc..4d47309 100644
--- a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
@@ -52,11 +52,11 @@ msgstr ""
 msgid "Unable to set locale %s"
 msgstr "Nepavyko nustatyti lokalės %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Pasirinkite veiksmą"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Nėra apibrėžtų veiksmų!"
 
@@ -81,11 +81,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Įrašyti kaip..."
 
@@ -131,8 +131,8 @@ msgstr "Palyginti"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Klaida"
 
@@ -161,7 +161,7 @@ msgstr "Klaidų pėdsekys"
 msgid "User:"
 msgstr "Naudotojas:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Slaptažodis:"
@@ -202,7 +202,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Saugumo pavojus!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -211,7 +211,7 @@ msgstr ""
 "Prisijungimo klaida!\n"
 "Nepavyko prisijungti prie serverio!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Tinklo klaida!"
 
@@ -276,41 +276,45 @@ msgid "t"
 msgstr "t"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Tiesa"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Netiesa"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 #, fuzzy
 msgid "Edit..."
 msgstr "Išei_ti..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Priedai..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Veiksmai..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Susiję įrašai..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Ataskaita..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "El. paštas..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Spausdinti..."
 
@@ -513,7 +517,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -621,63 +625,63 @@ msgstr "Nepavyko padaryti duomenų bazės atsarginės kopijos!"
 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Naujas"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Sukurti naują įrašą"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Išsaugoti"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Išsaugoti šį įrašą"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Perjungti"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Perjungti rodymą"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "Pe_rkrauti"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Perkrauti"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Naujas"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Saugoti"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "_Perjungti rodymą"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "Pe_rkrauti/atšaukti"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Ištrinti..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "Uždaryti _kortelę"
 
@@ -917,13 +921,11 @@ msgstr "Profilių tvarkymas"
 msgid "Profile"
 msgstr "Profilis"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 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
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Ištrinti"
 
@@ -1066,203 +1068,226 @@ msgstr "Turinys:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Buvęs"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Kitas"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Kitas įrašas"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Priedai(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Prisegti failą prie įrašo"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "Sukurti ko_piją"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Buvęs"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "_Kitas"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "I_eškoti"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Žiūrėti _žurnalus..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "P_riedas:"
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Veiksmai..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Susiję įrašai..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Ataskaita..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "Siųsti _el. paštu..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "_Spausdinti..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Eksportuoti duomenis..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importuoti duomenis..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Priedai(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Pasirinkite bent vieną įrašą!"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Sukūrė naudotojas:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Sukūrimo data:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Paskutinį kartą redagavo:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modelis:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Ar tikrai norite ištrinti šį įrašą?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Ar tikrai norite ištrinti šiuos įrašus?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Įrašai nebuvo ištrinti!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Įrašai ištrinti!"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "Dabar dirbate su įrašo(-ų) kopija(-omis)!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "Įrašas išsaugotas!"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " iš "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Šis įrašas buvo pakeistas\n"
 "Ar norite jį išsaugoti?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Veiksmai"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Vykdyti veiksmą"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Susijęs"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Atverti susijusius įrašus"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Ataskaitos"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Atverti ataskaitą"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Siuntimas"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Siųsti ataskaitą el. paštu"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Spausdinimas"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Spausdinti ataskaitą"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Nežinomas"
 
@@ -1305,8 +1330,9 @@ msgid "Select a revision"
 msgstr "Pasirinkimas"
 
 #: tryton/gui/window/revision.py:31
+#, fuzzy
 msgid "Revision:"
-msgstr ""
+msgstr "Buvęs"
 
 #: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
@@ -1527,76 +1553,94 @@ msgstr "Patarimai"
 msgid "_Display a new tip next time"
 msgstr "_Rodyti patarimus ir kitą kartą"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Galimi laukai</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Valyti"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "CSV parametrai"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Koduotė:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Lauko pavadinimas"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Eksportuoti CSV formatu"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Pavadinimas"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Išsaugoti šabloną"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Atvėrimas"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Kokiu pavadinimu išsaugoti šį eksportavimo šabloną?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d įrašas išsaugotas!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d įrašai išsaugoti!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1611,94 +1655,71 @@ msgstr ""
 msgid "Link"
 msgstr "Nuoroda"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Pridėti"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Šalinti <Del>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Sukurti naują įrašą <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importuoti iš CSV failo"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Atverti..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Pasirinkite failą iš kurio importuosite!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Klaida atveriant CSV failą"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Klaida apdorojant failą ties lauku %s."
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d įrašas importuotas!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d įrašai importuoti!"
@@ -1707,64 +1728,65 @@ msgstr "%d įrašai importuoti!"
 msgid "Wizard"
 msgstr "Vedlys"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 #, fuzzy
 msgid "Creation User"
 msgstr "Sukūrė naudotojas:"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 #, fuzzy
 msgid "Creation Date"
 msgstr "Sukūrimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 #, fuzzy
 msgid "Modification User"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 #, fuzzy
 msgid "Modification Date"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
+#, fuzzy
 msgid "Unable to get view tree state"
-msgstr ""
+msgstr "Nepavyko nustatyti lokalės %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Nepavyko nustatyti lokalės %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1818,7 +1840,7 @@ msgstr "Sukurti šio filtro žymelę"
 msgid "Bookmark Name:"
 msgstr "Žymelės pavadinimas:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Rasti"
 
@@ -1841,15 +1863,19 @@ msgstr "Perjungti rodymą"
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Valyti"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Visi failai"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1857,11 +1883,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr "Rodyti paprastą tekstą"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Pridėti reikšmę"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Šalinti \"%s\""
@@ -1879,11 +1905,11 @@ msgstr "Pridėti turimą įrašą"
 msgid "Remove selected record <Del>"
 msgstr "Pašalinti pasirinktą įrašą <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Atverti įrašą <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Ieškoti įrašo <F2>"
 
@@ -1896,7 +1922,7 @@ msgid "Edit selected record <F2>"
 msgstr "Keisti pasirinktą įrašą <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo
index 8dc6a78..91d1c35 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/nl_NL/LC_MESSAGES/tryton.po b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
index 7abf5d7..7766432 100644
--- a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
@@ -1,3 +1,7 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
@@ -49,11 +53,11 @@ msgstr "Kan configuratiebestand %s niet opslaan! "
 msgid "Unable to set locale %s"
 msgstr "Kan omgeving %s niet instellen"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Selecteer je handeling."
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Geen handeling gedefinieerd!"
 
@@ -78,11 +82,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Opslaan als..."
 
@@ -129,8 +133,8 @@ msgstr "Vergelijk"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Fout"
 
@@ -160,7 +164,7 @@ msgstr "Foutrapportage"
 msgid "User:"
 msgstr "Gebruiker:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Wachtwoord:"
@@ -201,7 +205,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Beveiligingsrisico!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -210,7 +214,7 @@ msgstr ""
 "Verbinding mislukt!\n"
 "Verbinden met de server niet mogelijk!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Netwerkfout."
 
@@ -276,46 +280,50 @@ msgid "t"
 msgstr ""
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Waar"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Niet waar"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 #, fuzzy
 msgid "Edit..."
 msgstr "Afsluiten"
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 #, fuzzy
 msgid "Attachments..."
 msgstr "Bijlage:"
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 #, fuzzy
 msgid "Actions..."
 msgstr "_Acties.."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 #, fuzzy
 msgid "Relate..."
 msgstr "Verwijderen... "
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 #, fuzzy
 msgid "Report..."
 msgstr "_Importeer gegevens... "
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 #, fuzzy
 msgid "E-Mail..."
 msgstr "E-mail"
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 #, fuzzy
 msgid "Print..."
 msgstr "Afdrukken"
@@ -520,7 +528,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -625,63 +633,64 @@ msgstr "Database verwijderen mislukt!"
 msgid "Database backuped successfully!"
 msgstr "Reservekopie van database gemaakt!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
+#, fuzzy
 msgid "New"
-msgstr ""
+msgstr "_Nieuw"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Maak een nieuw item"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Opslaan"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Bewaar dit item"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Omschakelen"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Wijzig beeld"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "He_rladen"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Herladen"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nieuw"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "Op_slaan"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Wijzig beeld"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Ongedaan maken"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "Verwijderen... "
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "Tabblad sluiten"
 
@@ -927,13 +936,11 @@ msgstr ""
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Toevoegen"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Verwijderen"
 
@@ -1083,213 +1090,236 @@ msgstr "Bericht:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Vorige"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Volgende"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Volgende item"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Bijlage"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Voeg een bijlage aan dit item toe"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Dupliceren"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "V_orige"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "_Volgende"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 #, fuzzy
 msgid "_Search"
 msgstr "Zoeken"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Bekijk logregister"
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Bijlage:"
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Acties.."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 #, fuzzy
 msgid "_Relate..."
 msgstr "Verwijderen... "
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 #, fuzzy
 msgid "_Report..."
 msgstr "_Importeer gegevens... "
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "E-mail"
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "Afdrukken"
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Exporteer gegevens... "
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importeer gegevens... "
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Bijlage (%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Je moet één item selecteren!"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Aangemaakt door:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Aanmaakdatum"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Laatste wijziging door:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Weet je zeker dat je dit item wilt verwijderen?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Weet je zeker dat je deze items wilt verwijderen?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Items niet verwijderd!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Items verwijderd!"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "Je werkt nu met het gekopieerde item!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "Item opgeslagen!"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " van "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Item is aangepast.\n"
 "Wil je de wijzigingen opslaan?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Actie"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr ""
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 #, fuzzy
 msgid "Relate"
 msgstr "Aan_maken"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 #, fuzzy
 msgid "Open related records"
 msgstr "Item openen"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 #, fuzzy
 msgid "Report"
 msgstr "Rapporten"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 #, fuzzy
 msgid "Open report"
 msgstr "Item openen"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 #, fuzzy
 msgid "E-Mail"
 msgstr "E-mail"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr ""
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Afdrukken"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr ""
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Onbekend"
 
@@ -1332,8 +1362,9 @@ msgid "Select a revision"
 msgstr "Selectie"
 
 #: tryton/gui/window/revision.py:31
+#, fuzzy
 msgid "Revision:"
-msgstr ""
+msgstr "Vorige"
 
 #: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
@@ -1557,76 +1588,94 @@ msgstr "Tips"
 msgid "_Display a new tip next time"
 msgstr "Volgende keer een tip"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Alle velden</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Wissen"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "CSV parameters"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codering:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Veldnaam"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exporteer naar CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Naam"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Exportgegevens opslaan"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Open"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Wat is de naam voor deze export?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d item opgeslagen!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d items opgeslagen!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1641,98 +1690,74 @@ msgstr ""
 msgid "Link"
 msgstr "Koppeling"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Toevoegen"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: 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/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Importeer uit CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Openen..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "U moet eerst een import bestand selecteren!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Fout bij openen CSV-bestand"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, 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
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d item geïmporteerd!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d items geïmporteerd!"
@@ -1741,65 +1766,66 @@ msgstr "%d items geïmporteerd!"
 msgid "Wizard"
 msgstr "Assistent"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 #, fuzzy
 msgid "ID"
 msgstr " d"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 #, fuzzy
 msgid "Creation User"
 msgstr "Aangemaakt door:"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 #, fuzzy
 msgid "Creation Date"
 msgstr "Aanmaakdatum"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 #, fuzzy
 msgid "Modification User"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 #, fuzzy
 msgid "Modification Date"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
+#, fuzzy
 msgid "Unable to get view tree state"
-msgstr ""
+msgstr "Kan omgeving %s niet instellen"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Kan omgeving %s niet instellen"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1854,7 +1880,7 @@ msgstr ""
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Vind"
 
@@ -1877,15 +1903,19 @@ msgstr "Wijzig beeld"
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Wissen"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Alle bestanden"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1893,11 +1923,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
@@ -1917,12 +1947,12 @@ msgstr "Bewaar dit item"
 msgid "Remove selected record <Del>"
 msgstr "Geselecteerd item verwijderen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "Item openen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "Item zoeken"
@@ -1938,7 +1968,7 @@ msgid "Edit selected record <F2>"
 msgstr "Geselecteerd item aanpassen"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo
index accf093..463ff18 100644
Binary files a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo and b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
index 2f45ef9..c507e57 100644
--- a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
@@ -1,3 +1,7 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
@@ -51,11 +55,11 @@ msgstr "Não foi possível gravar o arquivo de configuração %s!"
 msgid "Unable to set locale %s"
 msgstr "Não foi possível definir as configurações regionais %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Selecione sua ação"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Nenhuma ação definida!"
 
@@ -80,11 +84,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Salvar como..."
 
@@ -130,8 +134,8 @@ msgstr "Comparar"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Erro"
 
@@ -160,7 +164,7 @@ msgstr "Sistema de registro de erros"
 msgid "User:"
 msgstr "Usuário:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Senha:"
@@ -183,7 +187,7 @@ msgid ""
 "Bad username or password!"
 msgstr ""
 "Erro de conexão!\n"
-"USuário ou senha errados!"
+"Usuário ou senha errados!"
 
 #: tryton/common/common.py:1015
 msgid "Exception:"
@@ -201,7 +205,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Risco de segurança"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -210,13 +214,13 @@ msgstr ""
 "Erro de conexão!\n"
 "Não foi possível conectar ao servidor!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Erro da rede!"
 
 #: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
-msgstr "<i>Buscar...</i>"
+msgstr "<i>Pesquisar...</i>"
 
 #: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
@@ -256,7 +260,7 @@ msgstr "Formato de data exibido"
 
 #: tryton/common/domain_parser.py:235
 msgid "y"
-msgstr "s"
+msgstr "a"
 
 #: tryton/common/domain_parser.py:235
 msgid "yes"
@@ -271,40 +275,44 @@ msgid "t"
 msgstr "v"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Verdadeiro"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Editar..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Anexos..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Ações..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
-msgstr "Relacionar..."
+msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Relatório..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "E-mail..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Imprimir..."
 
@@ -374,19 +382,19 @@ msgstr "Banco_de_dados"
 
 #: tryton/gui/main.py:425
 msgid "_New Database..."
-msgstr "_Novo Banco de Dados"
+msgstr "_Novo Banco de Dados..."
 
 #: tryton/gui/main.py:434
 msgid "_Restore Database..."
-msgstr "_Restaurar Banco de Dados"
+msgstr "_Restaurar Banco de Dados..."
 
 #: tryton/gui/main.py:443
 msgid "_Backup Database..."
-msgstr "_Backup do Banco de Dados"
+msgstr "_Backup do Banco de Dados..."
 
 #: tryton/gui/main.py:452
 msgid "Dro_p Database..."
-msgstr "A_pagar Banco de Dados"
+msgstr "A_pagar Banco de Dados..."
 
 #: tryton/gui/main.py:461
 msgid "_Quit..."
@@ -434,7 +442,7 @@ msgstr "_Barra do Menu"
 
 #: tryton/gui/main.py:572
 msgid "Change Accelerators"
-msgstr "Mudar aceleradores"
+msgstr "Mudar teclas de atalho"
 
 #: tryton/gui/main.py:580
 msgid "_Mode"
@@ -454,11 +462,11 @@ msgstr "_Formulário"
 
 #: tryton/gui/main.py:612
 msgid "Save Width/Height"
-msgstr "Salvar Largura/Altura"
+msgstr "Gravar Largura/Altura"
 
 #: tryton/gui/main.py:623
 msgid "Save Tree State"
-msgstr "Salvar Estado da Árvore"
+msgstr "Gravar Estado da Árvore"
 
 #: tryton/gui/main.py:635
 msgid "Fast Tabbing"
@@ -478,7 +486,7 @@ msgstr "_Próxima Aba"
 
 #: tryton/gui/main.py:667
 msgid "Search Limit..."
-msgstr "Limite de Buscas"
+msgstr "Limite de Buscas..."
 
 #: tryton/gui/main.py:673
 msgid "_Email..."
@@ -506,7 +514,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -529,7 +537,7 @@ 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"
+"Você está prestes a apagar um banco de dados do Tryton.\n"
 "Tem certeza que deseja prosseguir?"
 
 #: tryton/gui/main.py:1304
@@ -559,7 +567,7 @@ 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..."
+msgstr "Abrir arquivo de backup para restaurar..."
 
 #: tryton/gui/main.py:1335
 msgid ""
@@ -583,7 +591,7 @@ msgstr ""
 
 #: 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"
+msgstr "A restauração do banco falhou com a seguinte mensagem:\n"
 
 #: tryton/gui/main.py:1348 tryton/gui/main.py:1353
 msgid "Database restore failed!"
@@ -591,15 +599,15 @@ 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!"
+msgstr "Banco de dados restaurado com sucesso!"
 
 #: tryton/gui/main.py:1372
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
-"Não é possível apagar um banco de dados protegido por senha.\n"
-"Os processos de backup restauração devem ser feitos manualmente."
+"Não é possível gerar uma cópia de um banco de dados protegido por senha.\n"
+"Os processos de backup e restauração devem ser feitos manualmente."
 
 #: tryton/gui/main.py:1382
 msgid "Database dump failed with error message:\n"
@@ -607,69 +615,69 @@ 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!"
+msgstr "A cópia do banco de dados falhou!"
 
 #: tryton/gui/main.py:1395
 msgid "Database backuped successfully!"
 msgstr "Backup do banco de dados feito com sucesso!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Novo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 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
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
-msgstr "Salvar"
+msgstr "Gravar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
-msgstr "Salvar este registro"
+msgstr "Gravar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Trocar"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Mudar visão"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recarregar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recarregar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Novo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Salvar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "_Mudar visão"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "_Recarregar/Desfazer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "_Apagar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "_Fechar aba"
 
@@ -727,12 +735,15 @@ 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"
+msgstr ""
+"Esta é a URL do servidor. Use o servidor 'localhost' e a porta '8000' se o "
+"servidor estiver instalado neste computador. Clique em 'Mudar' para trocar o"
+" endereço."
 
 #: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
 #: tryton/gui/window/dbrestore.py:94
 msgid "C_hange"
-msgstr "_Mudar"
+msgstr "M_udar"
 
 #: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
 msgid "Setup the server connection..."
@@ -750,7 +761,7 @@ msgid ""
 " 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."
+"específico. Esta senha é normalmente definida na configuração do trytond."
 
 #: tryton/gui/window/dbcreate.py:215
 msgid "New database setup:"
@@ -758,7 +769,7 @@ msgstr "Configuração de novo banco de dados:"
 
 #: tryton/gui/window/dbcreate.py:221
 msgid "Database name:"
-msgstr "Nome do banco:"
+msgstr "Nome do banco de dados:"
 
 #: tryton/gui/window/dbcreate.py:234
 msgid ""
@@ -786,7 +797,7 @@ msgstr ""
 
 #: tryton/gui/window/dbcreate.py:255
 msgid "Admin password:"
-msgstr "Senha do Admin:"
+msgstr "Senha do Administrador:"
 
 #: tryton/gui/window/dbcreate.py:266
 msgid ""
@@ -794,9 +805,9 @@ msgid ""
 "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>"
+"Escolha uma senha para o usuário admin do novo banco de dados. Com essas credenciais, você será capaz de se autenticar no banco de dados:\n"
+"Nome de usuário: admin\n"
+"Senha: <A senha escolhida aqui>"
 
 #: tryton/gui/window/dbcreate.py:274
 msgid "Confirm admin password:"
@@ -804,11 +815,11 @@ 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"
+msgstr "Digite a senha do administrador novamente"
 
 #: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
-msgstr "A nova senha do admin não confere com o campo de confirmação.\n"
+msgstr "A nova senha do administrador não confere com o campo de confirmação.\n"
 
 #: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
@@ -820,7 +831,7 @@ msgid ""
 "Try another database name."
 msgstr ""
 "Um banco de dados já existe com o mesmo nome.\n"
-"Tente com um nome diferente."
+"Tente um nome diferente."
 
 #: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
@@ -836,7 +847,7 @@ msgid ""
 "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"
+"Não foi possível criar o banco de dados por razões desconhecidas.\n"
 "Se um banco de dados foi criado, ele pode estar corrompido. Talvez seja melhor apagar esse banco! Favor verificar a mensagem de erro para possíveis detalhes.\n"
 "Mensagem de erro:\n"
 
@@ -871,7 +882,7 @@ 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:"
+msgstr "Escolha um banco de dados do Tryton para fazer backup:"
 
 #: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
@@ -879,7 +890,7 @@ msgstr "Apagar um banco de dados"
 
 #: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
-msgstr "Apagar."
+msgstr "Apagar"
 
 #: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
@@ -906,19 +917,17 @@ msgstr "Editor de Perfil"
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Adicionar"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Remover"
 
 #: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
 msgid "Host:"
-msgstr "Host:"
+msgstr "Servidor:"
 
 #: tryton/gui/window/dblogin.py:98
 msgid "Create"
@@ -926,7 +935,7 @@ msgstr "Criar"
 
 #: tryton/gui/window/dblogin.py:101
 msgid "Fetching databases list"
-msgstr "Buscando a lista de bancos de dados"
+msgstr "Recuperando a lista de bancos de dados"
 
 #: tryton/gui/window/dblogin.py:119
 msgid "Username:"
@@ -934,7 +943,7 @@ 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"
+msgstr "Não foi possível conectar com o servidor"
 
 #: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
 msgid "Incompatible version of the server"
@@ -942,7 +951,7 @@ msgstr "Versão do servidor incompatível"
 
 #: tryton/gui/window/dblogin.py:359
 msgid "Login"
-msgstr "Login"
+msgstr "Usuário"
 
 #: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
@@ -970,7 +979,7 @@ msgstr "_Gerenciar Perfis"
 
 #: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
-msgstr "Informações do Host / Banco de Dados"
+msgstr "Informações do Servidor / Banco de Dados"
 
 #: tryton/gui/window/dblogin.py:459
 msgid "User name:"
@@ -993,16 +1002,16 @@ msgid ""
 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"
+"Acentos, espaços e caracteres especiais são proibidos!\n"
 "Exemplo de um nome válido: tryton"
 
 #: tryton/gui/window/dbrestore.py:142
 msgid "New Database Name:"
-msgstr "Novo nome de banco de dados:"
+msgstr "Nome do novo banco de dados:"
 
 #: tryton/gui/window/dbrestore.py:146
 msgid "Update Database:"
-msgstr "Atualizar banco de dados:"
+msgstr "Atualizar Banco de Dados:"
 
 #: tryton/gui/window/dbrestore.py:151
 msgid ""
@@ -1014,11 +1023,11 @@ msgstr ""
 
 #: tryton/gui/window/dbrestore.py:161
 msgid "Restore"
-msgstr "Recuperar"
+msgstr "Restaurar"
 
 #: tryton/gui/window/dbrestore.py:170
 msgid "Restore the database from file."
-msgstr "Recuperar banco a partir do arquivo"
+msgstr "Restaurar banco a partir do arquivo."
 
 #: tryton/gui/window/email.py:16
 msgid "Email"
@@ -1026,7 +1035,7 @@ msgstr "Email"
 
 #: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
-msgstr "Enviar Preferências do programa por email"
+msgstr "Enviar preferências do programa por email"
 
 #: tryton/gui/window/email.py:28
 msgid "Command Line:"
@@ -1034,7 +1043,7 @@ msgstr "Linha de Comado:"
 
 #: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
-msgstr "Legenda de posições disponíveis:"
+msgstr "Legenda de posições de palavras disponíveis:"
 
 #: tryton/gui/window/email.py:45
 msgid "To:"
@@ -1050,209 +1059,227 @@ msgstr "Assunto:"
 
 #: tryton/gui/window/email.py:57
 msgid "Body:"
-msgstr "Corpo:"
+msgstr "Corpo da Mensagem:"
 
 #: 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Próximo"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Próximo registro"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Anexo(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Adicionar um anexo ao registro"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Duplicado"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "_Próximo"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Ver _Logs..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Mostrar revisões..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "A_nexos..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Ações..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Relacionar"
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "_Relatório..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_E-Mail..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "_Imprimir..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "_Exportar Dados..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "_Importar Dados..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Anexo(%d)"
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr "Você deve selecionar um registro."
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Criado por:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Data de criação:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Última modificação por:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Data da última modificação:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Você tem certeza que deseja apagar esse registro?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Você tem certeza que deseja apagar estes registros?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr "Registros não apagados."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr "Registros apagados."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr "Trabalhando nos registros duplicados(s)."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr "Registro gravado."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
-msgstr "de"
+msgstr " de "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Esse registro foi modificado\n"
 "você deseja salvá-lo?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Ação"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Executar ação"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
-msgstr "Relacionar"
+msgstr "Relacionado"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Relatório"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Abrir relatório"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "E-Mail"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
-msgstr "Relatório por e-Mail"
+msgstr "Relatório por e-mail"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Imprimir relatório"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Desconhecido"
 
@@ -1262,7 +1289,7 @@ msgstr "Limite"
 
 #: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
-msgstr "Preferências de Limite de Buscas"
+msgstr "Preferências de limite de buscas"
 
 #: tryton/gui/window/limit.py:29
 msgid "Limit:"
@@ -1318,11 +1345,11 @@ msgstr "Colar o texto copiado"
 
 #: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
-msgstr "Próximo widget"
+msgstr "Próximo campo"
 
 #: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
-msgstr "Widget anterior"
+msgstr "Campo anterior"
 
 #: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
@@ -1338,7 +1365,7 @@ msgstr "Abrir/Buscar relação"
 
 #: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
-msgstr "Listar atalhos para entradas"
+msgstr "Atalhos em listas"
 
 #: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
@@ -1358,11 +1385,11 @@ msgstr "Desmarcar linha para deleção"
 
 #: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
-msgstr "Widgets de edição"
+msgstr "Controles de edição"
 
 #: tryton/gui/window/shortcuts.py:47
 msgid "Move Cursor"
-msgstr "Mover o cursor"
+msgstr "Mover cursor"
 
 #: tryton/gui/window/shortcuts.py:48
 msgid "Move to right"
@@ -1382,19 +1409,19 @@ 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"
+msgstr "Mover uma página para cima"
 
 #: tryton/gui/window/shortcuts.py:53
 msgid "Move down of one page"
-msgstr "Mover para o fim de uma página"
+msgstr "Mover uma página para baixo"
 
 #: tryton/gui/window/shortcuts.py:54
 msgid "Move to top"
-msgstr "Mover para o fim de uma página"
+msgstr "Mover para o princípio"
 
 #: tryton/gui/window/shortcuts.py:55
 msgid "Move to bottom"
-msgstr "Mover para o fundo"
+msgstr "Mover para o final"
 
 #: tryton/gui/window/shortcuts.py:56
 msgid "Move to parent"
@@ -1514,76 +1541,94 @@ msgstr "Dicas"
 msgid "_Display a new tip next time"
 msgstr "_Exibir uma nova dica da próxima vez"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Todos os campos</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Limpar"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parâmetros CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Codificação:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Nome do campo"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Exportar para CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Nome"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
-msgstr "Salvar exportação"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
+msgstr "Gravar exportação"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
-msgstr "%s (string)"
+msgstr "%s (texto)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Qual é o nome dessa exportação?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobrescrever a definição '%s'?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d registro gravado!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d registros gravados!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1598,94 +1643,71 @@ msgstr ""
 msgid "Link"
 msgstr "Link"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Adicionar"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Remover <Del>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Criar novo registro <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 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:32
+#, fuzzy
+msgid "_Auto-Detect"
+msgstr "Detecção automática"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py: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
+#: tryton/gui/window/win_import.py:50
 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"
+msgstr "Linhas a ignorar:"
 
-#: tryton/gui/window/win_import.py:254
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Você deve selecionar primeiro um arquivo para importar!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Erro ao abrir arquivo CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, 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
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d registros importados!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d registros importados!"
@@ -1694,59 +1716,59 @@ msgstr "%d registros importados!"
 msgid "Wizard"
 msgstr "Assistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Criado por"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
-msgstr "Data de Criação"
+msgstr "Data de criação"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Editado por"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
-msgstr "Data de Modificação"
+msgstr "Data de modificação"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 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
+#: tryton/gui/window/view_form/screen/screen.py:769
 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
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr "\"%s\" é obrigatório"
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1770,7 +1792,7 @@ msgstr "Altura:"
 
 #: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
-msgstr "Imagem PNG(*.png)"
+msgstr "Imagem PNG (*.png)"
 
 #: tryton/gui/window/view_form/view/graph.py:159
 msgid "Image size too large!"
@@ -1800,7 +1822,7 @@ msgstr "Marcar filtro como favorito"
 msgid "Bookmark Name:"
 msgstr "Nome do favorito:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Encontrar"
 
@@ -1810,25 +1832,29 @@ msgstr "Hoje"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
-msgstr "Ver Semana"
+msgstr "Visão Semanal"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
-msgstr "Visão mensal"
+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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr "Pré-validação"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Limpar"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Todos os arquivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr "Selecionar"
 
@@ -1836,11 +1862,11 @@ msgstr "Selecionar"
 msgid "Show plain text"
 msgstr "Mostrar em formato texto"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Adicionar valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Remover \"%s\""
@@ -1858,11 +1884,11 @@ msgstr "Adicionar um registro existente"
 msgid "Remove selected record <Del>"
 msgstr "Remover registro selecionado <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Abrir um registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Buscar um registro <F2>"
 
@@ -1875,14 +1901,14 @@ 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
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
 #: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
 msgid "Foreground"
-msgstr "Cor de frente"
+msgstr "Cor de primeiro plano"
 
 #: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
 msgid "Select a color"
diff --git a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo
index d63a14b..9cba71d 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/ru_RU/LC_MESSAGES/tryton.po b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
index 1d160f5..f7cede7 100644
--- a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
@@ -53,11 +53,11 @@ msgstr "Невозможно записать файл конфигурации
 msgid "Unable to set locale %s"
 msgstr "Не удается установить локализацию %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Выберите действие"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Не определены действия!"
 
@@ -82,11 +82,11 @@ msgid "Your selection:"
 msgstr "Ваш выбор:"
 
 #: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/win_export.py:297
 #: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Сохранить как..."
 
@@ -132,8 +132,8 @@ msgstr "Сравнить"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Ошибка"
 
@@ -163,7 +163,7 @@ msgstr "Система сбора ошибок"
 msgid "User:"
 msgstr "Пользователь:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Пароль:"
@@ -204,7 +204,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Угроза безопасности!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -213,7 +213,7 @@ msgstr ""
 "Ошибка соединения!\n"
 "Невозможно соединиться с сервером!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Сетевая ошибка!"
 
@@ -278,41 +278,45 @@ msgid "t"
 msgstr ""
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Истинный"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Ложный"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 #, fuzzy
 msgid "Edit..."
 msgstr "_Выход..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Вложения..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "Действия..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "Связанные..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Отчет..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "Эл.почта..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "Печать..."
 
@@ -515,7 +519,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -622,63 +626,63 @@ msgstr "Не удалось выполнить резервное копиров
 msgid "Database backuped successfully!"
 msgstr "База данных сохранена успешно!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Новый"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Создать новую запись"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Сохранить"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Сохранить эту запись"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Переключить"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Переключить вид"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Обновить"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Обновить"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "Новый"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "Сохранить"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Сменить просмотр"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "Обновить/Отменить"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "Удалить..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "Закрыть вкладку"
 
@@ -919,13 +923,11 @@ msgstr "Редактор профилей"
 msgid "Profile"
 msgstr "Профиль"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Добавить"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Удалить"
 
@@ -1069,203 +1071,226 @@ msgstr "Сообщение:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Предыдущий"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Следующий"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Следующая запись"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Вложений (0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Добавить вложение для этой записи"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "Копировать"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "Предыдущая"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Следующая"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "Поиск"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Просмотр изменений"
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "Вложения..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "Действия"
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "Связанные..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "Отчет..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "Эл.почта..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "печать"
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "Экспорт данных"
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "Импорт данных"
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Вложений (%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+#, fuzzy
+msgid "You have to select one record."
+msgstr "Вы должны выбрать одну запись!"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "Номер строки"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Создано пользователем"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Дата создания"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Изменена пользователем:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Модель:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Вы уверены что хотите удалить эту запись?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Вы уверены что хотите удалить эти записи?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
+#, fuzzy
 msgid "Records not removed."
-msgstr ""
+msgstr "Записи не удалены!"
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
+#, fuzzy
 msgid "Records removed."
-msgstr ""
+msgstr "Записи удалены!"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
+#, fuzzy
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "Сейчас работает на дублирующихся записях!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
+#, fuzzy
 msgid "Record saved."
-msgstr ""
+msgstr "Запись сохранена!"
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr "из"
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Эта запись была изменена\n"
 "Вы хотите её сохранить?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Действие"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Выполнить действие"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Связанные"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Открыть связанные записи"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Отчет"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Открыть отчет"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Эл.почта"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Отправить отчет по Эл.почте"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Печать"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Печать отчета"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Неизвестно"
 
@@ -1308,8 +1333,9 @@ 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"
@@ -1530,76 +1556,94 @@ msgstr "Советы"
 msgid "_Display a new tip next time"
 msgstr "Показывать  новый совет при следующем запуске"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Все поля</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Очистить"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Параметры CVS"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Кодировка:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Наименование поля"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Экспорт в CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Имя"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Сохранить настройку экспорта"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Открыть"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 msgid "Add _field names"
 msgstr "Добавить имя поля"
 
-#: tryton/gui/window/win_export.py:215
-msgid "Name"
-msgstr "Имя"
-
-#: tryton/gui/window/win_export.py:247
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Укажите имя для экспорта."
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d запись сохранена!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d записей сохранено!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1614,94 +1658,71 @@ msgstr ""
 msgid "Link"
 msgstr "Ссылка"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Добавить"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Удалить <Del>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Создать новую запись <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Импорт из файла CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Открыть..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Вы должны сначала выбрать файл для импорта!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Ошибка открытия файла CSV"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Ошибка при обработке файла на поле %s."
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d запись импортирована!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d записей импортировано!"
@@ -1710,64 +1731,65 @@ msgstr "%d записей импортировано!"
 msgid "Wizard"
 msgstr "Мастер"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 #, fuzzy
 msgid "Creation User"
 msgstr "Создано пользователем"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 #, fuzzy
 msgid "Creation Date"
 msgstr "Дата создания"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 #, fuzzy
 msgid "Modification User"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 #, fuzzy
 msgid "Modification Date"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
+#, fuzzy
 msgid "Unable to get view tree state"
-msgstr ""
+msgstr "Не удается установить локализацию %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Не удается установить локализацию %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1821,7 +1843,7 @@ msgstr "Запомнить этот фильтр"
 msgid "Bookmark Name:"
 msgstr "Имя закладки:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Найти"
 
@@ -1844,15 +1866,19 @@ msgstr "Переключить вид"
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Очистить"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Все фалы"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr ""
 
@@ -1860,11 +1886,11 @@ msgstr ""
 msgid "Show plain text"
 msgstr "Показать в виде текста"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Добавить значение"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Удалить \"%s\""
@@ -1882,11 +1908,11 @@ msgstr "Добавить существующую запись"
 msgid "Remove selected record <Del>"
 msgstr "Удалить выбраную запись <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Открыть запись <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Поиск записи <F2>"
 
@@ -1899,7 +1925,7 @@ msgid "Edit selected record <F2>"
 msgstr "Изменить выбранную запись <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr ""
diff --git a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo
index 5819252..77faf6e 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/data/locale/sl_SI/LC_MESSAGES/tryton.po b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
index 89e6190..1db537c 100644
--- a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
@@ -52,11 +52,11 @@ msgstr "Ni možno zapisati konfiguracijske datoteke %s!"
 msgid "Unable to set locale %s"
 msgstr "Ni možno nastaviti krajevnih nastavitev %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
 msgstr "Izberi ukrep"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
 msgstr "Nobenega ukrepa ni določenega!"
 
@@ -81,11 +81,11 @@ 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/win_export.py:297
 #: 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
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
 msgstr "Shrani kot..."
 
@@ -131,8 +131,8 @@ msgstr "Primerjaj"
 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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
 msgstr "Napaka"
 
@@ -161,7 +161,7 @@ msgstr "Sledilnik programskih napak"
 msgid "User:"
 msgstr "Uporabnik:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
 msgstr "Geslo:"
@@ -202,7 +202,7 @@ msgstr ""
 msgid "Security risk!"
 msgstr "Varnostno tveganje"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
@@ -211,7 +211,7 @@ msgstr ""
 "Napaka pri povezovanju!\n"
 "Ni se možno povezati na strežnik!"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
 msgstr "Napaka mreže!"
 
@@ -272,40 +272,44 @@ msgid "t"
 msgstr "t"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
 msgstr "Da"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
 msgstr "Ne"
 
-#: tryton/common/popup_menu.py:77
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
 msgstr "Uredi ..."
 
-#: tryton/common/popup_menu.py:82
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
 msgstr "Priponke..."
 
-#: tryton/common/popup_menu.py:92
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
 msgstr "_Ukrepi..."
 
-#: tryton/common/popup_menu.py:93
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
 msgstr "_Veze..."
 
-#: tryton/common/popup_menu.py:94
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
 msgstr "Poročila..."
 
-#: tryton/common/popup_menu.py:95
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
 msgstr "_Elektronska pošta..."
 
-#: tryton/common/popup_menu.py:96
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
 msgstr "_Izpis..."
 
@@ -507,7 +511,7 @@ 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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
@@ -614,63 +618,63 @@ msgstr "Zapisovanje podatkovne baze odpovedalo!"
 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
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Novo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Ustvari nov zapis"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
 msgstr "Shrani"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Shrani ta zapis"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
 msgstr "Preklopi"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Preklopi pogled"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Ponovno naloži"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Ponovno naloži"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
 msgstr "_Nov"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
 msgstr "_Shrani"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
 msgstr "Preklopi po_gled"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
 msgstr "Ponovno naloži/Razvel_javi"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
 msgstr "Z_briši..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
 msgstr "Zapri zavi_hek"
 
@@ -908,13 +912,11 @@ msgstr "Urejevalnik profilov"
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Dodaj"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Odstrani"
 
@@ -1058,203 +1060,221 @@ msgstr "Vsebina:"
 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/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
 msgstr "Prejšnji"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 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/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
 msgstr "Naslednji"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Naslednji zapis"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Priponka(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Dodaj priponko zapisu"
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
 msgstr "_Podvoji"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
 msgstr "P_rejšnji"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
 msgstr "Nas_lednji"
 
-#: tryton/gui/window/form.py:63
+#: tryton/gui/window/form.py:66
 msgid "_Search"
 msgstr "_Išči"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
 msgstr "Poglej dnevni_k..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
 msgstr "Prikaži različice ..."
 
-#: tryton/gui/window/form.py:70
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
 msgstr "P_riponke..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
 msgstr "_Ukrepi..."
 
-#: tryton/gui/window/form.py:74
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
 msgstr "_Veze..."
 
-#: tryton/gui/window/form.py:77
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
 msgstr "P_oročila..."
 
-#: tryton/gui/window/form.py:79
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
 msgstr "_Elektronska pošta..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
 msgstr "_Tiskaj..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
 msgstr "I_zvozi podatke..."
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
 msgstr "Uv_ozi podatke..."
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Priponka(%d)"
 
-#: tryton/gui/window/form.py:228
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
 msgid "You have to select one record."
 msgstr "En zapis mora biti izbran."
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:262
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
 msgstr "Ustvaril:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
 msgstr "Ustvarjeno:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
 msgstr "Nazadnje popravil:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
 msgstr "Nazadnje popravljeno:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
 msgstr "Ali res želiš izbrisati ta zapis?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
 msgstr "Ali res želiš izbrisati te zapise?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
 msgstr "Zapisi niso izbrisani."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
 msgstr "Zapisi izbrisani."
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
 msgstr "Trenutno se dela na podvojenih zapisih."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
 msgstr "Zapis shranjen."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
 msgstr " od "
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
+"do you want to save it?"
 msgstr ""
 "Ta zapis je bil spremenjen,\n"
 "ga želiš shraniti?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
 msgstr "Ukrep"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
 msgstr "Zaženi ukrep"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Relate"
 msgstr "Veza"
 
-#: tryton/gui/window/form.py:529
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
 msgstr "Odpri vezo"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Report"
 msgstr "Poročila"
 
-#: tryton/gui/window/form.py:531
+#: tryton/gui/window/form.py:569
 msgid "Open report"
 msgstr "Odpri poročilo"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
 msgstr "Pošlji"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
 msgstr "Pošlji poročilo"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
 msgstr "Tisk"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
 msgstr "Izpis poročila"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
 msgstr "Neznano"
 
@@ -1517,76 +1537,94 @@ msgstr "Namigi"
 msgid "_Display a new tip next time"
 msgstr "Naslednjič _prikaži nov namig"
 
-#: tryton/gui/window/win_export.py:25
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Vsa polja</b>"
+
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "Počisti"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "CSV parametri"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Kodiranje:"
+
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "Naziv polja"
+
+#: tryton/gui/window/win_export.py:28
 msgid "Export to CSV"
 msgstr "Izvozi v CSV"
 
-#: tryton/gui/window/win_export.py:40
+#: tryton/gui/window/win_export.py:39
 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:46
+msgid "Name"
+msgstr "Naziv"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
 msgstr "Shrani izvoz"
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+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
+#: tryton/gui/window/win_export.py:82
 msgid "Open"
 msgstr "Odpri"
 
-#: tryton/gui/window/win_export.py:147
+#: tryton/gui/window/win_export.py:87
 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
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
 msgstr "%s (niz)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
 msgstr "Kako se imenuje ta izvoz?"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Prepišem definicijo izvoza '%s'?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
 msgstr "%d zapis shranjen!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
 msgstr "%d zapisov shranjenih!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1601,94 +1639,71 @@ msgstr ""
 msgid "Link"
 msgstr "Povezava"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
 msgstr "Dodaj"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
 msgstr "Odstrani <Del>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
 msgid "Create a new record <F3>"
 msgstr "Ustvari nov zapis <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: 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/win_form.py:182
 #: 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
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
 msgstr "Uvozi iz CSV"
 
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
+#: tryton/gui/window/win_import.py:32
+#, fuzzy
+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
+#: tryton/gui/window/win_import.py:43
 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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Odpri..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
 msgstr "Najprej morate izbrati datoteke za uvažanje!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
 msgstr "Napaka pri odpiranju CSV datoteke"
 
-#: tryton/gui/window/win_import.py:292
+#: tryton/gui/window/win_import.py:137
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Napaka obdelave datoteke pri polju %s."
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
 msgstr "%d zapis uvožen!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
 msgstr "%d zapisov uvoženih!"
@@ -1697,59 +1712,59 @@ msgstr "%d zapisov uvoženih!"
 msgid "Wizard"
 msgstr "Čarovnik"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
 msgstr "Ustvaril"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
 msgstr "Ustvarjeno"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
 msgstr "Popravil"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
 msgstr "Popravljeno"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
 msgstr "Stanja obrazca ni možno dobiti"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
 msgstr "Ni možno nastaviti stanja obrazca"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
 msgstr "Polje \"%s\" je obvezno"
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, 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
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1803,7 +1818,7 @@ msgstr "Shrani ta filter"
 msgid "Bookmark Name:"
 msgstr "Ime zaznamka:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
 msgstr "Najdi"
 
@@ -1823,15 +1838,19 @@ msgstr "Mesečno"
 msgid "Week"
 msgstr "Teden"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
 msgstr "Izberi ..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "Počisti"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
 msgstr "Vse datoteke"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
 msgstr "Izberi"
 
@@ -1839,11 +1858,11 @@ msgstr "Izberi"
 msgid "Show plain text"
 msgstr "Prikaži navadno besedilo"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
 msgstr "Dodaj vrednost"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Odstrani \"%s\""
@@ -1861,11 +1880,11 @@ msgstr "Dodaj obstoječi zapis"
 msgid "Remove selected record <Del>"
 msgstr "Odstrani izbran zapis <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
 msgstr "Odpri zapis <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
 msgstr "Poišči zapis <F2>"
 
@@ -1878,7 +1897,7 @@ msgid "Edit selected record <F2>"
 msgstr "Uredi izbran zapis <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
diff --git a/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..1fb2458
Binary files /dev/null and b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po
similarity index 57%
copy from tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
copy to tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po
index 4773a32..3266972 100644
--- a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po
@@ -1,109 +1,112 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 #: tryton/config.py:76
 msgid "specify alternate config file"
-msgstr "zadejte alternativní konfigurační soubor"
+msgstr "备选配置文件"
 
 #: tryton/config.py:79
 msgid "development mode"
-msgstr ""
+msgstr "开发模式"
 
 #: tryton/config.py:82
 msgid "logging everything at INFO level"
-msgstr ""
+msgstr "INFO级别记录日志"
 
 #: tryton/config.py:84
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr ""
+msgstr "设置日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
 #: tryton/config.py:87
 msgid "specify the login user"
-msgstr "zadejte uživatelské jméno"
+msgstr "设置登录用户"
 
 #: tryton/config.py:89
 msgid "specify the server port"
-msgstr "zadejte číslo portu síťového serveru"
+msgstr "设置服务器端口"
 
 #: tryton/config.py:91
 msgid "specify the server hostname"
-msgstr "zadejte název hostitele pro server"
+msgstr "设置服务器名称"
 
 #: tryton/config.py:95
 msgid "Too much arguments"
-msgstr ""
+msgstr "参数太多"
 
 #: tryton/config.py:98
 #, python-format
 msgid "File \"%s\" not found"
-msgstr ""
+msgstr "没找到文件 \"%s\" "
 
 #: tryton/config.py:136
 #, python-format
 msgid "Unable to write config file %s!"
-msgstr "Nelze zapsat konfigurační soubor %s!"
+msgstr "无法写入配置文件 %s!"
 
 #: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
-msgstr "Nemohu nastavit lokalizaci %s"
+msgstr "无法设置语言地域 %s"
 
-#: tryton/action/main.py:176
+#: tryton/action/main.py:162
 msgid "Select your action"
-msgstr "Vyberte akci"
+msgstr "选择一项操作"
 
-#: tryton/action/main.py:182
+#: tryton/action/main.py:168
 msgid "No action defined!"
-msgstr "Žádná akce není definována!"
+msgstr "没有定义任何操作 !"
 
 #: tryton/common/common.py:274
 msgid "Tryton Connection"
-msgstr "Tryton spojení"
+msgstr "服务器连接"
 
 #: tryton/common/common.py:285
 msgid "Server:"
-msgstr "Server:"
+msgstr "服务器:"
 
 #: tryton/common/common.py:303
 msgid "Port:"
-msgstr "Port:"
+msgstr "端口:"
 
 #: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
 msgid "Selection"
-msgstr "Výběr"
+msgstr "选择"
 
 #: tryton/common/common.py:380
 msgid "Your selection:"
-msgstr "Váš výběr:"
+msgstr "已选择:"
 
 #: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:454
+#: tryton/gui/window/win_export.py:297
 #: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:54
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:121
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:495
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
 msgid "Save As..."
-msgstr "Uložit jako..."
+msgstr "另存为..."
 
 #: tryton/common/common.py:642
 msgid "Always ignore this warning."
-msgstr "zadejte alternativní konfigurační soubor"
+msgstr "下次不再提示."
 
 #: tryton/common/common.py:647
 msgid "Do you want to proceed?"
-msgstr ""
+msgstr "继续此项操作 ?"
 
 #: tryton/common/common.py:666
 msgid "Confirmation"
-msgstr "Potvrzení"
+msgstr "确认"
 
 #: tryton/common/common.py:772 tryton/common/common.py:1080
 msgid "Concurrency Exception"
-msgstr "Výjimka při souběhu"
+msgstr "并行操作异常"
 
 #: tryton/common/common.py:786
-#, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -113,594 +116,578 @@ msgid ""
 "    - \"Compare\" to see the modified version;\n"
 "    - \"Write Anyway\" to save your current version."
 msgstr ""
-"<b>Varování při souběhu zápisů:</b>\n"
+"<b>同步操作警告:</b>\n"
 "\n"
-"Tento záznam byl změněn zatímco jste ho upravovali.\n"
-" Vyberte:\n"
-"  - \"Zrušit\" pro zrušení ukládání,\n"
-"  - \"Porovnat\" pro zobrazení změněné verze,\n"
-"  - \"Přesto zapsat\" pro zapsání vaší verze."
+"数据已被更改.\n"
+"请选择:\n"
+"    - \"取消\" 不保存;\n"
+"    - \"对比\" 查看变更的数据;\n"
+"    - \"覆写\" 保存当前数据."
 
 #: tryton/common/common.py:795
 msgid "Compare"
-msgstr "Porovnat"
+msgstr "对比"
 
 #: tryton/common/common.py:800
 msgid "Write Anyway"
-msgstr "Přesto zapsat"
+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
+#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
+#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
 msgid "Error"
-msgstr "Chyba"
+msgstr "错误"
 
 #: tryton/common/common.py:830
 msgid "Report Bug"
-msgstr "Nahlásit chybu"
+msgstr "报告Bug"
 
 #: tryton/common/common.py:837
 msgid "Application Error!"
-msgstr "Chyba aplikace!"
+msgstr "程序错误 !"
 
 #: tryton/common/common.py:860
 msgid "Error: "
-msgstr "Chyba:"
+msgstr "错误:"
 
 #: tryton/common/common.py:880
-#, python-format, fuzzy, python-format
+#, 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>"
+msgstr "提交Bug报告,需要 <u>%s</u>账户"
 
 #: tryton/common/common.py:910
 msgid "Bug Tracker"
-msgstr "Sledování chyb"
+msgstr "Bug 追踪器"
 
 #: tryton/common/common.py:928
 msgid "User:"
-msgstr "Uživatel:"
+msgstr "用户名:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1098
+#: tryton/common/common.py:936 tryton/common/common.py:1090
 #: tryton/gui/window/dblogin.py:453
 msgid "Password:"
-msgstr "Heslo:"
+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 ""
-"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."
+"已有其他用户报告相同bug.\n"
+"用户名已加入通知列表,将随时接收相关信息"
 
 #: tryton/common/common.py:1002
 msgid "Created new bug with ID "
-msgstr "Založena nová chyba s ID"
+msgstr "Bug 已提交备案"
 
 #: tryton/common/common.py:1010 tryton/gui/main.py:900
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
 msgstr ""
-"Chyba při spojení!\n"
-"Špatné uživatelské jméno nebo heslo!"
+"连接错误!\n"
+"用户名或密码有误!"
 
 #: tryton/common/common.py:1015
 msgid "Exception:"
-msgstr "Výjimka:"
+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."
 msgstr ""
+"服务器指纹与上次连接不同!\n"
+"指纹问题处理后,才能同服务器连接."
 
 #: tryton/common/common.py:1034
 msgid "Security risk!"
-msgstr ""
+msgstr "安全隐患 !"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1104
+#: tryton/common/common.py:1039 tryton/common/common.py:1096
 #: tryton/gui/main.py:897
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
 msgstr ""
-"Chyba spojení!\n"
-"Nelze se připojit k serveru!"
+"连接错误 !\n"
+"无法连接服务器 !"
 
-#: tryton/common/common.py:1119
+#: tryton/common/common.py:1111
 msgid "Network Error!"
-msgstr "Chyba sítě!"
+msgstr "网络连接错误!"
 
 #: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
-msgstr ""
+msgstr "<i>查找...</i>"
 
 #: tryton/common/completion.py:24
 msgid "<i>Create...</i>"
-msgstr ""
+msgstr "<i>创建...</i>"
 
 #: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
 #: tryton/common/datetime_.py:383
-#, fuzzy
 msgid "Value"
-msgstr "Nepravda"
+msgstr "值"
 
 #: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
 #: tryton/common/datetime_.py:384
 msgid "Displayed value"
-msgstr ""
+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í"
+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 ""
+msgstr "显示格式"
 
 #: tryton/common/datetime_.py:61
-#, fuzzy
 msgid "Open the calendar"
-msgstr "Otevřít kalendář"
+msgstr "打开日历"
 
 #: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
 msgid "Date Format"
-msgstr ""
+msgstr "日期格式"
 
 #: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
 msgid "Displayed date format"
-msgstr ""
+msgstr "日期显示格式"
 
 #: tryton/common/domain_parser.py:235
 msgid "y"
-msgstr ""
+msgstr "y"
 
 #: tryton/common/domain_parser.py:235
-#, fuzzy
 msgid "yes"
-msgstr "bajtů"
+msgstr "yes"
 
 #: tryton/common/domain_parser.py:235
-#, fuzzy
 msgid "true"
-msgstr "Pravda"
+msgstr "true"
 
 #: tryton/common/domain_parser.py:235
 msgid "t"
-msgstr ""
+msgstr "t"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "True"
-msgstr "Pravda"
+msgstr "True"
 
 #: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:507
+#: tryton/gui/window/view_form/view/screen_container.py:508
 msgid "False"
-msgstr "Nepravda"
+msgstr "False"
 
-#: tryton/common/popup_menu.py:77
-#, fuzzy
+#: tryton/common/popup_menu.py:81
 msgid "Edit..."
-msgstr "Konec..."
+msgstr "编辑..."
 
-#: tryton/common/popup_menu.py:82
-#, fuzzy
+#: tryton/common/popup_menu.py:86
 msgid "Attachments..."
-msgstr "Příloha:"
+msgstr "附件文档..."
 
-#: tryton/common/popup_menu.py:92
-#, fuzzy
+#: tryton/common/popup_menu.py:90
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:100
 msgid "Actions..."
-msgstr "Akce..."
+msgstr "操作..."
 
-#: tryton/common/popup_menu.py:93
-#, fuzzy
+#: tryton/common/popup_menu.py:101
 msgid "Relate..."
-msgstr "_Odstranit..."
+msgstr "关联..."
 
-#: tryton/common/popup_menu.py:94
-#, fuzzy
+#: tryton/common/popup_menu.py:102
 msgid "Report..."
-msgstr "Importovat data..."
+msgstr "报告..."
 
-#: tryton/common/popup_menu.py:95
-#, fuzzy
+#: tryton/common/popup_menu.py:103
 msgid "E-Mail..."
-msgstr "_Email..."
+msgstr "用电子邮件发送..."
 
-#: tryton/common/popup_menu.py:96
-#, fuzzy
+#: tryton/common/popup_menu.py:104
 msgid "Print..."
-msgstr "_Tisk..."
+msgstr "打印..."
 
 #: tryton/common/timedelta.py:26
 msgid "Y"
-msgstr ""
+msgstr "年"
 
 #: tryton/common/timedelta.py:27
 msgid "M"
-msgstr ""
+msgstr "月"
 
 #: tryton/common/timedelta.py:28
 msgid "w"
-msgstr ""
+msgstr "星期"
 
 #: tryton/common/timedelta.py:29
 msgid "d"
-msgstr ""
+msgstr "日"
 
 #: tryton/common/timedelta.py:30
 msgid "h"
-msgstr ""
+msgstr "时"
 
 #: tryton/common/timedelta.py:31
 msgid "m"
-msgstr ""
+msgstr "分"
 
 #: tryton/common/timedelta.py:32
 msgid "s"
-msgstr ""
+msgstr "秒"
 
 #: tryton/gui/main.py:218
 msgid "_File"
-msgstr "_Soubor"
+msgstr "文件(_F)"
 
 #: tryton/gui/main.py:226
 msgid "_User"
-msgstr "_Uživatel"
+msgstr "用户(_U)"
 
 #: tryton/gui/main.py:240
 msgid "_Options"
-msgstr "_Volby"
+msgstr "选项(_O)"
 
 #: tryton/gui/main.py:248
 msgid "Fa_vorites"
-msgstr ""
+msgstr "收藏(_V)"
 
 #: tryton/gui/main.py:264
 msgid "_Help"
-msgstr "Nápo_věda"
+msgstr "帮助(_H)"
 
 #: tryton/gui/main.py:373
 msgid "No result found."
-msgstr ""
+msgstr "无符合条件的数据."
 
 #: tryton/gui/main.py:395
 msgid "_Connect..."
-msgstr "_Připojit..."
+msgstr "连接数据服务(_C)..."
 
 #: tryton/gui/main.py:404
 msgid "_Disconnect"
-msgstr "_Odpojit"
+msgstr "断开数据服务(_D)"
 
 #: tryton/gui/main.py:414
 msgid "Data_base"
-msgstr "Databáze"
+msgstr "数据服务管理(_B)"
 
 #: tryton/gui/main.py:425
 msgid "_New Database..."
-msgstr "Nová databáze..."
+msgstr "添加新服务(_N)..."
 
 #: tryton/gui/main.py:434
 msgid "_Restore Database..."
-msgstr "Obnovit databázi..."
+msgstr "从备份重构(_R)..."
 
 #: tryton/gui/main.py:443
 msgid "_Backup Database..."
-msgstr "Zazálohovat databázi..."
+msgstr "备份数据(_B)..."
 
 #: tryton/gui/main.py:452
 msgid "Dro_p Database..."
-msgstr "Smazat databázi"
+msgstr "删除服务(_P)..."
 
 #: tryton/gui/main.py:461
 msgid "_Quit..."
-msgstr "Konec..."
+msgstr "退出(_Q)..."
 
 #: tryton/gui/main.py:476
 msgid "_Preferences..."
-msgstr "_Vlastnosti..."
+msgstr "设置偏好(_P)..."
 
 #: tryton/gui/main.py:487
-#, fuzzy
 msgid "_Menu Reload"
-msgstr "_Obnovit"
+msgstr "重载菜单(_M)"
 
 #: tryton/gui/main.py:496
 msgid "_Menu Toggle"
-msgstr ""
+msgstr "关闭/打开侧导航栏(_T)"
 
 #: tryton/gui/main.py:503
 msgid "_Global Search"
-msgstr ""
+msgstr "查找(_F)"
 
 #: tryton/gui/main.py:518
-#, fuzzy
 msgid "_Toolbar"
-msgstr "Nástrojová lišta"
+msgstr "工具栏(_T)"
 
 #: tryton/gui/main.py:526
 msgid "_Default"
-msgstr "_Výchozí"
+msgstr "默认设置(_D)"
 
 #: tryton/gui/main.py:536
 msgid "_Text and Icons"
-msgstr "_Text a ikony"
+msgstr "图标文字(_R)"
 
 #: tryton/gui/main.py:546
 msgid "_Icons"
-msgstr "_Ikony"
+msgstr "显示图标(_I)"
 
 #: tryton/gui/main.py:555
 msgid "_Text"
-msgstr "_Text"
+msgstr "显示文字(_T)"
 
 #: tryton/gui/main.py:564
 msgid "_Menubar"
-msgstr "Hlavní nabídka"
+msgstr "菜单栏(_M)"
 
 #: tryton/gui/main.py:572
 msgid "Change Accelerators"
-msgstr ""
+msgstr "启用加速"
 
 #: tryton/gui/main.py:580
 msgid "_Mode"
-msgstr "_Režim"
+msgstr "工作模式(_M)"
 
 #: tryton/gui/main.py:588
 msgid "_Normal"
-msgstr "_Normální"
+msgstr "桌面(_N)"
 
 #: tryton/gui/main.py:596
 msgid "_PDA"
-msgstr "_PDA"
+msgstr "PDA模式(_P)"
 
 #: tryton/gui/main.py:603
 msgid "_Form"
-msgstr "Formulář"
+msgstr "表单视图(_F)"
 
 #: tryton/gui/main.py:612
 msgid "Save Width/Height"
-msgstr ""
+msgstr "保存窗体大小"
 
 #: tryton/gui/main.py:623
 msgid "Save Tree State"
-msgstr ""
+msgstr "保存导航状态"
 
 #: tryton/gui/main.py:635
 msgid "Fast Tabbing"
-msgstr ""
+msgstr "快速切换标签"
 
 #: tryton/gui/main.py:645
 msgid "Spell Checking"
-msgstr "Kontrola pravopisu"
+msgstr "开启拼写检查"
 
 #: tryton/gui/main.py:655
-#, fuzzy
 msgid "_Previous Tab"
-msgstr "_Předchozí"
+msgstr "上一标签(_P)"
 
 #: tryton/gui/main.py:661
 msgid "_Next Tab"
-msgstr ""
+msgstr "下一标签(_N)"
 
 #: tryton/gui/main.py:667
 msgid "Search Limit..."
-msgstr ""
+msgstr "数据查询..."
 
 #: tryton/gui/main.py:673
 msgid "_Email..."
-msgstr "_Email..."
+msgstr "电子邮件(_E)..."
 
 #: tryton/gui/main.py:681
 msgid "_Save Options"
-msgstr "Uložit nastavení"
+msgstr "保存设置(_S)"
 
 #: tryton/gui/main.py:693
 msgid "_Tips..."
-msgstr "_Tipy..."
+msgstr "小技巧(_T)..."
 
 #: tryton/gui/main.py:702
 msgid "_Keyboard Shortcuts..."
-msgstr "_Klávesové zkratky..."
+msgstr "快捷键(K)..."
 
 #: tryton/gui/main.py:711
 msgid "_About..."
-msgstr "_O programu..."
+msgstr "关于(_A)..."
 
 #: tryton/gui/main.py:762
 msgid "Manage Favorites"
-msgstr ""
+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/dictionary.py:335
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
 msgid "Search"
-msgstr "Hledat"
+msgstr "查找"
 
 #: tryton/gui/main.py:914
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
+"该操作需要关闭打开的项目\n"
+"是否继续?"
 
 #: tryton/gui/main.py:1173
 msgid "Close Tab"
-msgstr "Zavřít záložku"
+msgstr "关闭标签"
 
 #: tryton/gui/main.py:1294
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
 msgstr ""
-"Bude smazána Tryton databáze.\n"
-"Opravdu chcete pokračovat?"
+"将永久性删除服务数据?\n"
+"如果非本意,可以取消操作"
 
 #: tryton/gui/main.py:1304
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
-msgstr ""
-"Špatné heslo Tryton serveru\n"
-"Zkuste to znovu."
+msgstr "密码有误,请重试."
 
 #: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
 #: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
-msgstr "Přístup odepřen!"
+msgstr "无操作权限 !"
 
 #: tryton/gui/main.py:1309
 msgid "Database drop failed with error message:\n"
-msgstr "Odstranění databáze selhalo s chybovou zprávou:\n"
+msgstr "数据删除失败,错误信息:\n"
 
 #: tryton/gui/main.py:1310
 msgid "Database drop failed!"
-msgstr "Odstranění databáze selhalo!"
+msgstr "数据删除失败 !"
 
 #: tryton/gui/main.py:1312
 msgid "Database dropped successfully!"
-msgstr "Databáze úspěšné odstraněna!"
+msgstr "数据删除成功 !"
 
 #: tryton/gui/main.py:1317
 msgid "Open Backup File to Restore..."
-msgstr "Otevřít soubor se zálohou pro obnovu..."
+msgstr "打开备份文件..."
 
 #: tryton/gui/main.py:1335
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
-"Není možné obnovit databázi chráněnou heslem.\n"
-"Záloha a obnova musí být provedeny ručně."
+"加密数据,无法导入.\n"
+"请尝试其他方式."
 
 #: tryton/gui/main.py:1339 tryton/gui/main.py:1375
 msgid "Database is password protected!"
-msgstr "Databáze je chráněna heslem!"
+msgstr "数据已加密 !"
 
 #: tryton/gui/main.py:1341 tryton/gui/main.py:1377
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
-msgstr ""
-"Špatné heslo Tryton serveru\n"
-"Zkuste to znovu."
+msgstr "密码有误,请重试."
 
 #: tryton/gui/main.py:1346
 msgid "Database restore failed with error message:\n"
-msgstr "Obnovení databáze selhalo s chybovou zprávou:\n"
+msgstr "重建失败,错误信息:\n"
 
 #: tryton/gui/main.py:1348 tryton/gui/main.py:1353
 msgid "Database restore failed!"
-msgstr "Obnova databáze selhala!"
+msgstr "重建失败 !"
 
 #: tryton/gui/main.py:1351
 msgid "Database restored successfully!"
-msgstr "Databáze úspěšně obnovena!"
+msgstr "重建成功 !"
 
 #: tryton/gui/main.py:1372
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
-"Není možné zálohovat databázi chráněnou heslem.\n"
-"Záloha a obnova musí být provedeny ručně."
+"加密数据,无法导出.\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"
+msgstr "导出失败,错误信息 :\n"
 
 #: tryton/gui/main.py:1384
 msgid "Database dump failed!"
-msgstr "Záloha databáze selhala!"
+msgstr "导出失败 !"
 
 #: tryton/gui/main.py:1395
 msgid "Database backuped successfully!"
-msgstr "Databáze úspěšně zazálohována!"
+msgstr "数据备份成功 !"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
-msgstr ""
+msgstr "新建"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:31
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
-msgstr "Vytvořit nový záznam"
+msgstr "新建项目"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
-#: tryton/gui/window/win_export.py:143
-#, fuzzy
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:83
 msgid "Save"
-msgstr "_Uložit"
+msgstr "保存"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:33
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
-msgstr "Uložit tento záznam"
+msgstr "保存项目"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
-#: tryton/gui/window/win_form.py:223
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/win_form.py:224
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
 msgid "Switch"
-msgstr "Přepnout"
+msgstr "切换"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:35
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
-msgstr "Přepnout pohled"
+msgstr "切换视图"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
-msgstr "_Obnovit"
+msgstr "重载(_R)"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:37
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
-msgstr "Obnovit"
+msgstr "重载"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:49
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
 msgid "_New"
-msgstr "_Nový"
+msgstr "新建(_N)"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:50
-#: tryton/gui/window/win_form.py:67
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
 msgid "_Save"
-msgstr "_Uložit"
+msgstr "保存(_S)"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:51
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
 msgid "_Switch View"
-msgstr "Přepnout pohled"
+msgstr "切换视图(_S)"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:53
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
 msgid "_Reload/Undo"
-msgstr "Obnovit/Zpět"
+msgstr "刷新/撤销(_R)"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:57
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
 msgid "_Delete..."
-msgstr "_Odstranit..."
+msgstr "删除(_D)..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:67
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
 msgid "_Close Tab"
-msgstr "_Zavřít kartu"
+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 ""
-"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."
+"这是数据服务的URL. 如果服务器在同一台电脑上,服务器填'localhost', 端口填 '8000' .  点击\" 更改 \" 更改服务器地址 ."
 
 #: tryton/gui/window/dbcreate.py:42
 msgid "No connection!"
-msgstr "Není spojení!"
+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"
@@ -708,74 +695,71 @@ msgid ""
 "3. If there is a firewall between the server and this client, make sure that the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
-"Nelze se připojit k serveru!\n"
-"1. Zkontrolujte, jestli server běží.\n"
-"2. Zjistěte, na které adrese a portu poslouchá.\n"
-"3. Pokud je mezi klientem a serverem firewall, zajistěte, že adresa a port (obvykle 8070) serveru nejsou blokovány.\n"
-"Klikněte na \"Změnit\" pro změnu adresy."
+"无法连接服务器!\n"
+"1. 检查服务器正在运行.\n"
+"2. 查看服务器监听的地址和端口.\n"
+"3. 检查客户端和服务器之间是否有防火墙屏蔽.\n"
+"点击\" 更改 \" 更改服务器地址 ."
 
 #: tryton/gui/window/dbcreate.py:134
 msgid "Create new database"
-msgstr "Vytvořit novou databázi"
+msgstr "添加数据服务"
 
 #: tryton/gui/window/dbcreate.py:144
 msgid "C_reate"
-msgstr "_Vytvořit"
+msgstr "添加(_C)"
 
 #: tryton/gui/window/dbcreate.py:152
 msgid "Create the new database."
-msgstr "Vytvořit novou databázi."
+msgstr "添加新的数据服务。"
 
 #: tryton/gui/window/dbcreate.py:163
 msgid "Server Setup:"
-msgstr "Nastavení serveru:"
+msgstr "服务器:"
 
 #: tryton/gui/window/dbcreate.py:168
 msgid "Server connection:"
-msgstr "Spojení k serveru:"
+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 ""
-"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."
+"这是数据服务的URL. 如果服务器在同一台电脑上: \n"
+" 服务器填'localhost', 端口填 '8000' .  \n"
+"点击\" 更改 \" 更改服务器地址 ."
 
 #: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
 #: tryton/gui/window/dbrestore.py:94
 msgid "C_hange"
-msgstr "Změnit"
+msgstr "更改(_H)"
 
 #: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
 msgid "Setup the server connection..."
-msgstr "Nastavení spojení k serveru..."
+msgstr "设置服务器地址和端口..."
 
 #: 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:"
+msgstr "口      令:"
 
 #: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
 #: tryton/gui/window/dbrestore.py:114
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real user."
 " This password is usually defined in the trytond configuration."
-msgstr ""
-"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."
+msgstr "通常在服务器配置文件里的super_pwd一项中找到它的加密字符串,但此处应填写的未加密的字符."
 
 #: tryton/gui/window/dbcreate.py:215
 msgid "New database setup:"
-msgstr "Nastavení nové databáze:"
+msgstr "数据设置:"
 
 #: tryton/gui/window/dbcreate.py:221
 msgid "Database name:"
-msgstr "Název databáze:"
+msgstr "服务标识:"
 
 #: tryton/gui/window/dbcreate.py:234
 msgid ""
@@ -783,28 +767,25 @@ msgid ""
 "Allowed characters are alphanumerical or _ (underscore)\n"
 "You need to avoid all accents, space or special characters! Example: tryton"
 msgstr ""
-"Vyberte název nové databáze.\n"
-"Povolené znaky jsou alfanumerické a _ (podtržítko)\n"
-"Nepoužívejte znaky s akcenty, mezeru nebo speciální znaky!\n"
-"Příklad: tryton"
+"填入容易记忆和区分的标识.\n"
+"标识不可含有除英文字母、数字、下划线外的字符\n"
+"如空格,重音号,括号等特殊字符 ! \n"
+"合格: t22ry_ton 不合格: a b!"
 
 #: tryton/gui/window/dbcreate.py:241
 msgid "Default language:"
-msgstr "Výchozí jazyk:"
+msgstr "界面语言:"
 
 #: tryton/gui/window/dbcreate.py:251
 msgid ""
 "Choose the default language that will be installed for this database. You "
 "will be able to install new languages after installation through the "
 "administration menu."
-msgstr ""
-"Vyberte výchozí jazyk, který bude nainstalován pro tuto databázi. Po "
-"instalaci budete schopni instalovat další jazyky pomocí administračního "
-"menu."
+msgstr "选择数据服务默认语言,如果没有符合需要的选项,登入系统后可增加相应的语言."
 
 #: tryton/gui/window/dbcreate.py:255
 msgid "Admin password:"
-msgstr "Heslo správce:"
+msgstr "管理口令:"
 
 #: tryton/gui/window/dbcreate.py:266
 msgid ""
@@ -812,41 +793,40 @@ msgid ""
 "User name: admin\n"
 "Password: <The password you set here>"
 msgstr ""
-"Vyberte heslo pro správce nové databáze. Pomocí následujících údajů se pak budete schopni k této databázi připojit:\n"
-"Uživatel: admin\n"
-"Heslo: <právě zadané heslo>"
+"设置此服务管理员(admin)的用户密码.\n"
+"安全起见,首次以登入服务后,建议更换密码"
 
 #: tryton/gui/window/dbcreate.py:274
 msgid "Confirm admin password:"
-msgstr "Potvrzení hesla správce:"
+msgstr "确认输入:"
 
 #: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
-msgstr "Zadejte znovu heslo správce"
+msgstr "再次输入相同口令."
 
 #: 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"
+msgstr "与确认输入的口令不一样.\n"
 
 #: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
-msgstr "Hesla nesouhlasí!"
+msgstr "请输入相同的口令 !"
 
 #: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
 msgstr ""
-"Databáze se stejným názvem již existuje.\n"
-"Použijte jiný název."
+"已存在相同的服务标识.\n"
+"请再想一个试试."
 
 #: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
-msgstr "Databáze s tímto názvem již existuje!"
+msgstr "服务标识已经被占用 !"
 
 #: 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."
+msgstr "服务器口令错误,请重试."
 
 #: tryton/gui/window/dbcreate.py:367
 msgid ""
@@ -854,158 +834,152 @@ msgid ""
 "If there is a database created, it could be broken. Maybe drop this database! Please check the error message for possible informations.\n"
 "Error message:\n"
 msgstr ""
-"Databázi nelze vytvořit, příčina je neznámá.\n"
-"Pokud je databáze již vytvořená, může být poškozená. Zkuste ji odstranit. Zkontrolujte chybové hlášení pro případné další informace.\n"
-"Chybová zpráva:\n"
+"由于未知原因,数据服务添加未完成.\n"
+"即使服务标识出现在列表中,因数据不完整,简易删除改标识!\n"
+"错误信息:\n"
 
 #: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
-msgstr "Chyba při vytváření databáze!"
+msgstr "建立数据库出错 !"
 
 #: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
-msgstr "Nelze se spojit se serverem!"
+msgstr "无法同服务器连接 !"
 
 #: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
-msgstr "Verze klienta není kompatibilní se serverem!"
+msgstr ""
+"客户端同服务器版本不兼容 ! \n"
+", 客户端和服务器版本的大版本号需相同, 如3.8.1和3.8.0"
 
 #: 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!"
+msgstr "未找到可用数据库,请先创建一个 !"
 
 #: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
-msgstr "Zálohovat databázi"
+msgstr "备份服务数据"
 
 #: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
-msgstr "Zálohovat"
+msgstr "备份"
 
 #: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
-msgstr "Zálohovat vybranou databázi."
+msgstr "备份已选服务的数据"
 
 #: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
-msgstr "Vyberte Tryton databázi pro zálohování:"
+msgstr "选择要备份的服务数据:"
 
 #: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
-msgstr "Smazat databázi"
+msgstr "删除数据"
 
 #: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
-msgstr "Smazat"
+msgstr "删除"
 
 #: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
-msgstr "Smazat vybranou databázi."
+msgstr "删除所选数据."
 
 #: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
-msgstr "Vyberte Tryton databázi pro smazání:"
+msgstr "选择要删除的服务 :"
 
 #: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
-msgstr "Přepojení k serveru:"
+msgstr "服务器连接:"
 
 #: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
 #: tryton/gui/window/dblogin.py:434
 msgid "Database:"
-msgstr "Databáze:"
+msgstr "服务标识:"
 
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
-msgstr ""
+msgstr "数据服务配置器"
 
 #: tryton/gui/window/dblogin.py:46
 msgid "Profile"
-msgstr ""
+msgstr "配置列表"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
+#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
 msgid "_Add"
-msgstr "_Přidat"
+msgstr "添加(_A)"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
+#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
-msgstr "_Odstranit"
+msgstr "删除(_R)"
 
 #: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
-#, fuzzy
 msgid "Host:"
-msgstr "Port:"
+msgstr "主机:"
 
 #: tryton/gui/window/dblogin.py:98
-#, fuzzy
 msgid "Create"
-msgstr "_Vytvořit"
+msgstr "新建"
 
 #: tryton/gui/window/dblogin.py:101
-#, fuzzy
 msgid "Fetching databases list"
-msgstr "Nastavení nové databáze:"
+msgstr "获取服务列表..."
 
 #: tryton/gui/window/dblogin.py:119
-#, fuzzy
 msgid "Username:"
-msgstr "Uživatelské jméno:"
+msgstr "用户名:"
 
 #: tryton/gui/window/dblogin.py:297
-#, fuzzy
 msgid "Could not connect to the server"
-msgstr "Nelze se spojit se serverem!"
+msgstr "无法连接服务器"
 
 #: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
-#, fuzzy
 msgid "Incompatible version of the server"
-msgstr "Verze serveru není kompatibilní!"
+msgstr "服务器版本与客户端不兼容"
 
 #: tryton/gui/window/dblogin.py:359
 msgid "Login"
-msgstr "Přihlášení"
+msgstr "登录"
 
 #: tryton/gui/window/dblogin.py:366
 msgid "_Cancel"
-msgstr "_Zrušit"
+msgstr "取消(_C)"
 
 #: tryton/gui/window/dblogin.py:371
 msgid "Cancel connection to the Tryton server"
-msgstr "Zrušit spojení k Tryton serveru."
+msgstr "取消与服务器的连接"
 
 #: tryton/gui/window/dblogin.py:373
 msgid "C_onnect"
-msgstr "_Připojit"
+msgstr "连机(_O)"
 
 #: tryton/gui/window/dblogin.py:378
 msgid "Connect the Tryton server"
-msgstr "Připojit k Tryton serveru"
+msgstr "连接数据服务器"
 
 #: tryton/gui/window/dblogin.py:406
 msgid "Profile:"
-msgstr ""
+msgstr "配置:"
 
 #: tryton/gui/window/dblogin.py:410
 msgid "_Manage profiles"
-msgstr ""
+msgstr "管理配置(_M)"
 
 #: tryton/gui/window/dblogin.py:420
 msgid "Host / Database information"
-msgstr ""
+msgstr "数据服务器:"
 
 #: tryton/gui/window/dblogin.py:459
 msgid "User name:"
-msgstr "Uživatelské jméno:"
+msgstr "用户:"
 
 #: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
-msgstr "Obnovit databázi"
+msgstr "重建服务"
 
 #: tryton/gui/window/dbrestore.py:122
 msgid "File to Restore:"
-msgstr "Obnovit ze souboru:"
+msgstr "备份数据:"
 
 #: tryton/gui/window/dbrestore.py:136
 msgid ""
@@ -1014,480 +988,477 @@ msgid ""
 "You need to avoid all accents, space or special characters! \n"
 "Example: tryton"
 msgstr ""
-"Vyberte název databáze pro obnovu.\n"
-"Povolené znaky jsou alfanumerické a _ (podtržítko)\n"
-"Nepoužívejte znaky s akcenty, mezeru nebo speciální znaky!\n"
-"Příklad: tryton"
+"填入标识区分重建的服务.\n"
+"标识不可含有除英文字母、数字、下划线外的字符\n"
+"如空格,重音号,括号等特殊字符 ! \n"
+"合格: t22ry_ton 不合格: a b!"
 
 #: tryton/gui/window/dbrestore.py:142
 msgid "New Database Name:"
-msgstr "Název nové databáze:"
+msgstr "标识:"
 
 #: tryton/gui/window/dbrestore.py:146
-#, fuzzy
 msgid "Update Database:"
-msgstr "Zálohovat databázi"
+msgstr "更新覆盖同名服务数据"
 
 #: tryton/gui/window/dbrestore.py:151
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
-msgstr ""
+msgstr "如要更新数据库勾选这里。"
 
 #: tryton/gui/window/dbrestore.py:161
 msgid "Restore"
-msgstr "Obnovit"
+msgstr "重建"
 
 #: tryton/gui/window/dbrestore.py:170
 msgid "Restore the database from file."
-msgstr "Obnovit databázi ze souboru."
+msgstr "从备份数据重建服务"
 
 #: tryton/gui/window/email.py:16
 msgid "Email"
-msgstr "Email"
+msgstr "邮件"
 
 #: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
-msgstr "Poslat nastavení programu emailem"
+msgstr "电子邮件相关设置"
 
 #: tryton/gui/window/email.py:28
 msgid "Command Line:"
-msgstr "Příkazový řádek:"
+msgstr "电子邮件程序命令行"
 
 #: tryton/gui/window/email.py:38
 msgid "Legend of Available Placeholders:"
-msgstr "Seznam dostupných náhrad:"
+msgstr "替换变量列表:"
 
 #: tryton/gui/window/email.py:45
 msgid "To:"
-msgstr "Komu:"
+msgstr "收件人:"
 
 #: tryton/gui/window/email.py:49
 msgid "CC:"
-msgstr "CC:"
+msgstr "抄送:"
 
 #: tryton/gui/window/email.py:53
 msgid "Subject:"
-msgstr "Předmět: "
+msgstr "主题:"
 
 #: tryton/gui/window/email.py:57
 msgid "Body:"
-msgstr "Tělo:"
+msgstr "内容:"
 
 #: tryton/gui/window/email.py:61
 msgid "Attachment:"
-msgstr "Příloha:"
+msgstr "附件:"
 
-#: tryton/gui/window/form.py:40 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:196
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
+#: tryton/gui/window/win_form.py:197
 #: tryton/gui/window/view_form/view/screen_container.py:214
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
 msgid "Previous"
-msgstr "Předchozí"
+msgstr "向前"
 
-#: tryton/gui/window/form.py:41
+#: tryton/gui/window/form.py:42
 msgid "Previous Record"
-msgstr "Předchozí záznam"
+msgstr "前一项"
 
-#: tryton/gui/window/form.py:42 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:210
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
+#: tryton/gui/window/win_form.py:211
 #: tryton/gui/window/view_form/view/screen_container.py:226
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
 msgid "Next"
-msgstr "Další"
+msgstr "向后"
 
-#: tryton/gui/window/form.py:42
+#: tryton/gui/window/form.py:43
 msgid "Next Record"
-msgstr "Následující záznam"
+msgstr "后一项"
 
-#: tryton/gui/window/form.py:45
+#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
-msgstr "Přílohy(0)"
+msgstr "附件(0)"
 
-#: tryton/gui/window/form.py:46
+#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
-msgstr "Přidat přílohu k záznamu"
+msgstr "给当前项添加附件"
+
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
 
-#: tryton/gui/window/form.py:55
+#: tryton/gui/window/form.py:58
 msgid "_Duplicate"
-msgstr "_Duplikovat"
+msgstr "复制(_D)"
 
-#: tryton/gui/window/form.py:60
+#: tryton/gui/window/form.py:63
 msgid "_Previous"
-msgstr "_Předchozí"
+msgstr "向前(_P)"
 
-#: tryton/gui/window/form.py:62
+#: tryton/gui/window/form.py:65
 msgid "_Next"
-msgstr "_Následující"
+msgstr "向后(_N)"
 
-#: tryton/gui/window/form.py:63
-#, fuzzy
+#: tryton/gui/window/form.py:66
 msgid "_Search"
-msgstr "Hledat"
+msgstr "查找(_S)"
 
-#: tryton/gui/window/form.py:64
+#: tryton/gui/window/form.py:67
 msgid "View _Logs..."
-msgstr "Zobrazit záznamy..."
+msgstr "日志(_V)..."
 
-#: tryton/gui/window/form.py:65
+#: tryton/gui/window/form.py:68
 msgid "Show revisions..."
-msgstr ""
+msgstr "显示版本..."
 
-#: tryton/gui/window/form.py:70
-#, fuzzy
+#: tryton/gui/window/form.py:73
 msgid "A_ttachments..."
-msgstr "Příloha:"
+msgstr "附件(_T)..."
 
-#: tryton/gui/window/form.py:72
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
 msgid "_Actions..."
-msgstr "Akce..."
+msgstr "操作(_A)..."
 
-#: tryton/gui/window/form.py:74
-#, fuzzy
+#: tryton/gui/window/form.py:78
 msgid "_Relate..."
-msgstr "_Odstranit..."
+msgstr "关联(_L)..."
 
-#: tryton/gui/window/form.py:77
-#, fuzzy
+#: tryton/gui/window/form.py:81
 msgid "_Report..."
-msgstr "Importovat data..."
+msgstr "报告(_R)..."
 
-#: tryton/gui/window/form.py:79
-#, fuzzy
+#: tryton/gui/window/form.py:83
 msgid "_E-Mail..."
-msgstr "_Email..."
+msgstr "邮件发送(_E)..."
 
-#: tryton/gui/window/form.py:81
+#: tryton/gui/window/form.py:85
 msgid "_Print..."
-msgstr "_Tisk..."
+msgstr "打印(_P)..."
 
-#: tryton/gui/window/form.py:84
+#: tryton/gui/window/form.py:88
 msgid "_Export Data..."
-msgstr "Exportovat data"
+msgstr "导出数据(_X)"
 
-#: tryton/gui/window/form.py:86
+#: tryton/gui/window/form.py:90
 msgid "_Import Data..."
-msgstr "Importovat data..."
+msgstr "导入数据(_I)"
 
-#: tryton/gui/window/form.py:209
+#: tryton/gui/window/form.py:210
 #, python-format
 msgid "Attachment(%d)"
-msgstr "Příloha(%d)"
+msgstr "附件文档(%d)"
 
-#: tryton/gui/window/form.py:228
-msgid "You have to select one record."
+#: tryton/gui/window/form.py:236
+#, python-format
+msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:232
+#: tryton/gui/window/form.py:258
+msgid "You have to select one record."
+msgstr "选择需要操作的项目"
+
+#: tryton/gui/window/form.py:262
 msgid "ID:"
-msgstr "ID:"
+msgstr "标识:"
 
-#: tryton/gui/window/form.py:233
+#: tryton/gui/window/form.py:263
 msgid "Creation User:"
-msgstr "Vytvořeno uživatelem:"
+msgstr "创建者:"
 
-#: tryton/gui/window/form.py:234
+#: tryton/gui/window/form.py:264
 msgid "Creation Date:"
-msgstr "Datum vytvoření:"
+msgstr "创建日期:"
 
-#: tryton/gui/window/form.py:235
+#: tryton/gui/window/form.py:265
 msgid "Latest Modification by:"
-msgstr "Poslední úpravu provedl:"
+msgstr "最近更改:"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:266
 msgid "Latest Modification Date:"
-msgstr "Datum poslední úpravy:"
+msgstr "最近更改日期:"
 
-#: tryton/gui/window/form.py:255
+#: tryton/gui/window/form.py:285
 msgid "Model:"
-msgstr "Model:"
+msgstr "模型:"
 
-#: tryton/gui/window/form.py:307
+#: tryton/gui/window/form.py:345
 msgid "Are you sure to remove this record?"
-msgstr "Opravdu chcete odstranit tento záznam?"
+msgstr "确定要删除此项吗?"
 
-#: tryton/gui/window/form.py:309
+#: tryton/gui/window/form.py:347
 msgid "Are you sure to remove those records?"
-msgstr "Opravdu chcete odstranit tyto záznamy?"
+msgstr "确定要删除这些项目?"
 
-#: tryton/gui/window/form.py:312
+#: tryton/gui/window/form.py:350
 msgid "Records not removed."
-msgstr ""
+msgstr "所选项目未删除成功."
 
-#: tryton/gui/window/form.py:314
+#: tryton/gui/window/form.py:352
 msgid "Records removed."
-msgstr ""
+msgstr "项目已成功删除"
 
-#: tryton/gui/window/form.py:342
+#: tryton/gui/window/form.py:380
 msgid "Working now on the duplicated record(s)."
-msgstr ""
+msgstr "当前处理的是项目的副本."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:390
 msgid "Record saved."
-msgstr ""
+msgstr "保存成功."
 
-#: tryton/gui/window/form.py:454
+#: tryton/gui/window/form.py:492
 msgid " of "
-msgstr " z "
+msgstr "of"
 
-#: tryton/gui/window/form.py:475
+#: tryton/gui/window/form.py:513
+#, fuzzy
 msgid ""
 "This record has been modified\n"
-"do you want to save it ?"
-msgstr ""
-"Tento záznam byl upraven\n"
-"chcete ho uložit?"
+"do you want to save it?"
+msgstr "记录有改动, 是否保存?"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Action"
-msgstr "Akce"
+msgstr "操作"
 
-#: tryton/gui/window/form.py:528
+#: tryton/gui/window/form.py:566
 msgid "Launch action"
-msgstr ""
+msgstr "执行操作"
 
-#: tryton/gui/window/form.py:529
-#, fuzzy
+#: tryton/gui/window/form.py:567
 msgid "Relate"
-msgstr "_Vytvořit"
+msgstr "关联"
 
-#: tryton/gui/window/form.py:529
-#, fuzzy
+#: tryton/gui/window/form.py:567
 msgid "Open related records"
-msgstr "Otevřít záznam"
+msgstr "打开关联项目"
 
-#: tryton/gui/window/form.py:531
-#, fuzzy
+#: tryton/gui/window/form.py:569
 msgid "Report"
-msgstr "Sestavy"
+msgstr "报告(_R)..."
 
-#: tryton/gui/window/form.py:531
-#, fuzzy
+#: tryton/gui/window/form.py:569
 msgid "Open report"
-msgstr "Otevřít záznam"
+msgstr "打开报表"
 
-#: tryton/gui/window/form.py:532
-#, fuzzy
+#: tryton/gui/window/form.py:570
 msgid "E-Mail"
-msgstr "Email"
+msgstr "邮件发送"
 
-#: tryton/gui/window/form.py:532
+#: tryton/gui/window/form.py:570
 msgid "E-Mail report"
-msgstr ""
+msgstr "用电子邮件发送报表"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print"
-msgstr "Tisk"
+msgstr "打印"
 
-#: tryton/gui/window/form.py:533
+#: tryton/gui/window/form.py:571
 msgid "Print report"
-msgstr ""
+msgstr "打印报表"
 
-#: tryton/gui/window/form.py:599
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:860
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
 msgid "Unknown"
-msgstr "Neznámý"
+msgstr "未知"
 
 #: tryton/gui/window/limit.py:17
-#, fuzzy
 msgid "Limit"
-msgstr "Omezit:"
+msgstr "限制"
 
 #: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
-msgstr ""
+msgstr "查询限制..."
 
 #: tryton/gui/window/limit.py:29
-#, fuzzy
 msgid "Limit:"
-msgstr "Omezit:"
+msgstr "限制:"
 
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
-msgstr "Nastavení"
+msgstr "偏好"
 
 #: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
-msgstr "Upravit uživatelské nastavení"
+msgstr "设置用户偏好..."
 
 #: tryton/gui/window/preference.py:75
 msgid "Preference"
-msgstr "Nastavení"
+msgstr "偏好"
 
 #: tryton/gui/window/preference.py:88
-#, fuzzy
 msgid "Current Password:"
-msgstr "Heslo správce:"
+msgstr "当前密码:"
 
 #: tryton/gui/window/revision.py:19
-#, fuzzy
 msgid "Revision"
-msgstr "Předchozí"
+msgstr "版本"
 
 #: tryton/gui/window/revision.py:28
-#, fuzzy
 msgid "Select a revision"
-msgstr "Výběr"
+msgstr "选择版本"
 
 #: tryton/gui/window/revision.py:31
 msgid "Revision:"
-msgstr ""
+msgstr "版本:"
 
 #: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
-msgstr "Klávesové zkratky"
+msgstr "快捷键"
 
 #: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
-msgstr "Zkratky pro texty"
+msgstr "文本相关"
 
 #: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
-msgstr "Vyjmout vybraný text"
+msgstr "剪切"
 
 #: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
-msgstr "Kopírovat vybraný text"
+msgstr "复制"
 
 #: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
-msgstr "Vložit vybraný text"
+msgstr "粘贴"
 
 #: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
-msgstr "Další prvek"
+msgstr "下一个文本"
 
 #: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
-msgstr "Předchozí prvek"
+msgstr "上一个文本"
 
 #: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
-msgstr "Zkratky pro relace"
+msgstr "关联操作"
 
 #: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
-msgstr "Vytvořit novou relaci"
+msgstr "新建关联"
 
 #: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
-msgstr "Otevřít/prohledat relaci"
+msgstr "打开. 查找关联"
 
 #: tryton/gui/window/shortcuts.py:37
-#, fuzzy
 msgid "List Entries Shortcuts"
-msgstr "Zkratky pro texty"
+msgstr "列表项相关"
 
 #: tryton/gui/window/shortcuts.py:38
-#, fuzzy
 msgid "Create new line"
-msgstr "Vytvořit novou relaci"
+msgstr "新建一行"
 
 #: tryton/gui/window/shortcuts.py:39
-#, fuzzy
 msgid "Open relation"
-msgstr "Otevřít/prohledat relaci"
+msgstr "打开关联项"
 
 #: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
-msgstr ""
+msgstr "标定删除选择"
 
 #: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
-msgstr ""
+msgstr "取消删除选择"
 
 #: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
-msgstr "Editovací prvky"
+msgstr "编辑界面"
 
 #: tryton/gui/window/shortcuts.py:47
 msgid "Move Cursor"
-msgstr ""
+msgstr "光标移动"
 
 #: tryton/gui/window/shortcuts.py:48
 msgid "Move to right"
-msgstr ""
+msgstr "右移"
 
 #: tryton/gui/window/shortcuts.py:49
 msgid "Move to left"
-msgstr ""
+msgstr "左移"
 
 #: tryton/gui/window/shortcuts.py:50
 msgid "Move up"
-msgstr ""
+msgstr "上移"
 
 #: tryton/gui/window/shortcuts.py:51
 msgid "Move down"
-msgstr ""
+msgstr "下移"
 
 #: tryton/gui/window/shortcuts.py:52
 msgid "Move up of one page"
-msgstr ""
+msgstr "上移一页"
 
 #: tryton/gui/window/shortcuts.py:53
 msgid "Move down of one page"
-msgstr ""
+msgstr "下移一页"
 
 #: tryton/gui/window/shortcuts.py:54
 msgid "Move to top"
-msgstr ""
+msgstr "移到顶端"
 
 #: tryton/gui/window/shortcuts.py:55
 msgid "Move to bottom"
-msgstr ""
+msgstr "移到底部"
 
 #: tryton/gui/window/shortcuts.py:56
 msgid "Move to parent"
-msgstr ""
+msgstr "上一级"
 
 #: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
 msgid "Select all"
-msgstr ""
+msgstr "全选"
 
 #: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
 msgid "Unselect all"
-msgstr ""
+msgstr "全不选"
 
 #: tryton/gui/window/shortcuts.py:62
 msgid "Select parent"
-msgstr ""
+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 ""
+msgstr "选择/激活当前行"
 
 #: tryton/gui/window/shortcuts.py:67
 msgid "Toggle selection"
-msgstr ""
+msgstr "切换状态"
 
 #: tryton/gui/window/shortcuts.py:68
 msgid "Expand/Collapse"
-msgstr ""
+msgstr "展开/收起"
 
 #: tryton/gui/window/shortcuts.py:69
 msgid "Expand row"
-msgstr ""
+msgstr "展开"
 
 #: tryton/gui/window/shortcuts.py:70
 msgid "Collapse row"
-msgstr ""
+msgstr "收起"
 
 #: tryton/gui/window/shortcuts.py:71
 msgid "Toggle row"
-msgstr ""
+msgstr "切换状态"
 
 #: tryton/gui/window/shortcuts.py:72
 msgid "Expand all rows"
-msgstr ""
+msgstr "展开所有"
 
 #: tryton/gui/window/shortcuts.py:73
 msgid "Collapse all rows"
-msgstr ""
+msgstr "收起所有"
 
 #: tryton/gui/window/shortcuts.py:76
 msgid "Tree view"
-msgstr ""
+msgstr "树形导航"
 
 #: tryton/gui/window/tips.py:17
 msgid ""
@@ -1495,7 +1466,7 @@ msgid ""
 "\n"
 "\n"
 msgstr ""
-"<b>Vítejte v Trytonu</b>\n"
+"<b>有个传说</b>\n"
 "\n"
 "\n"
 
@@ -1512,17 +1483,7 @@ msgid ""
 "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>Znáte Tryton, jednoho ze jmenovců našeho projektu?</b>\n"
-"\n"
-"Triton (vysloveno /ˈtraɪtən/ TRYE-tən, nebo jako v řečtině Τρίτων) je\n"
-"největší měsíc planety Neptun, objevený 10. října 1846\n"
-"Williamem Lassellem. Je to jediný velký měsíc ve sluneční soustavě\n"
-"s retrográdním oběhem, což je oběh s opačnou rotací, než je rotace\n"
-"planety. S průměrem 2700 km jde o sedmý největší měsíc sluneční\n"
-"soustavy. Triton zahrnuje 99.5 procenta známé hmoty obíhající Neptun,\n"
-"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"
+msgstr "从前有座山,山下流流溪,溪里溜溜鱼;岸上小鹿跑,林间大树高;花开碟翩迁,日盛蝉鸣啼...\n"
 
 #: tryton/gui/window/tips.py:33
 msgid ""
@@ -1531,9 +1492,10 @@ msgid ""
 "You can copy records from any list with Ctrl + C\n"
 "and paste in any application with Ctrl + V\n"
 msgstr ""
-"<b>Seznam exportovaných záznamů</b>\n"
-"Ze seznamu můžete zkopírovat záznamy pomocí Ctrl + C\n"
-"a vložit je do libovolné aplikace pomocí Ctrl + V\n"
+"<b>复制粘贴数据</b>\n"
+"\n"
+"Ctrl + C 复制列表视图里的数据\n"
+"Ctrl + V 粘贴数据到其他程序里\n"
 
 #: tryton/gui/window/tips.py:38
 msgid ""
@@ -1541,258 +1503,246 @@ msgid ""
 "\n"
 "You can save any graphs in PNG file with right-click on it.\n"
 msgstr ""
+"<b>图片操作</b>\n"
+"\n"
+"点击右键可以保存图片\n"
 
 #: tryton/gui/window/tips.py:45
 msgid "Tips"
-msgstr "Tipy"
+msgstr "每日一招"
 
 #: tryton/gui/window/tips.py:65
 msgid "_Display a new tip next time"
-msgstr "Zobrazit příště další tip"
+msgstr "每次显示不同的小技巧(_D)"
 
-#: tryton/gui/window/win_export.py:25
-msgid "Export to CSV"
-msgstr "Exportovat do CSV souboru"
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>数据项</b>"
 
-#: tryton/gui/window/win_export.py:40
-msgid "<b>Predefined exports</b>"
-msgstr "<b>Předdefinované exporty</b>"
+#: tryton/gui/window/win_csv.py:86
+#, fuzzy
+msgid "_Clear"
+msgstr "清除"
 
-#: 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_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:63
-msgid "Clear"
-msgstr "Vymazat"
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "CSV 参数"
 
-#: tryton/gui/window/win_export.py:95
-msgid "Save Export"
-msgstr "Uložit exportu"
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:104
-msgid "Delete Export"
-msgstr "Smazat exportu"
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
 
-#: tryton/gui/window/win_export.py:115
-msgid "<b>Fields to export</b>"
-msgstr "<b>Pole pro export</b>"
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "编码:"
 
-#: tryton/gui/window/win_export.py:132
-msgid "<b>Options</b>"
-msgstr "<b>Možnosti</b>"
+#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+msgid "Field name"
+msgstr "列名"
 
-#: tryton/gui/window/win_export.py:142
-msgid "Open"
-msgstr "Otevřít"
+#: tryton/gui/window/win_export.py:28
+msgid "Export to CSV"
+msgstr "导出到CSV文件"
 
-#: tryton/gui/window/win_export.py:147
-msgid "Add _field names"
-msgstr "Přidat jména polí"
+#: tryton/gui/window/win_export.py:39
+msgid "<b>Predefined exports</b>"
+msgstr "<b>导出设定</b>"
 
-#: tryton/gui/window/win_export.py:215
+#: tryton/gui/window/win_export.py:46
 msgid "Name"
-msgstr ""
+msgstr "名称"
+
+#: tryton/gui/window/win_export.py:60
+#, fuzzy
+msgid "_Save Export"
+msgstr "保存设定"
+
+#: tryton/gui/window/win_export.py:69
+#, fuzzy
+msgid "_Delete Export"
+msgstr "删除设定"
 
-#: tryton/gui/window/win_export.py:247
+#: tryton/gui/window/win_export.py:82
+msgid "Open"
+msgstr "打开"
+
+#: tryton/gui/window/win_export.py:87
+msgid "Add _field names"
+msgstr "添加列名称(_F)"
+
+#: tryton/gui/window/win_export.py:101
 #, python-format
 msgid "%s (string)"
-msgstr ""
+msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:345
+#: tryton/gui/window/win_export.py:199
 msgid "What is the name of this export?"
-msgstr ""
+msgstr "导出设定的名称"
 
-#: tryton/gui/window/win_export.py:351
+#: tryton/gui/window/win_export.py:205
 #, python-format
 msgid "Override '%s' definition?"
-msgstr ""
+msgstr "替换设定 '%s' ?"
 
-#: tryton/gui/window/win_export.py:481
+#: tryton/gui/window/win_export.py:324
 #, python-format
 msgid "%d record saved!"
-msgstr "%d záznam uložen!"
+msgstr "%d 项保存成功!"
 
-#: tryton/gui/window/win_export.py:483
+#: tryton/gui/window/win_export.py:326
 #, python-format
 msgid "%d records saved!"
-msgstr "%d záznamů uloženo!"
+msgstr "%d 项目保存成功!"
 
-#: tryton/gui/window/win_export.py:486
+#: tryton/gui/window/win_export.py:329
 #, python-format
 msgid ""
 "Operation failed!\n"
 "Error message:\n"
 "%s"
 msgstr ""
-"Operace selhala.\n"
-"Chybová zpráva:\n"
+"操作失败!\n"
+"相关错误信息:\n"
 "%s"
 
 #: tryton/gui/window/win_form.py:36
 msgid "Link"
-msgstr "Odkaz"
+msgstr "链接"
 
-#: tryton/gui/window/win_form.py:127
+#: tryton/gui/window/win_form.py:128
 msgid "Add"
-msgstr "Přidat"
+msgstr "添加"
 
-#: tryton/gui/window/win_form.py:140
+#: tryton/gui/window/win_form.py:141
 msgid "Remove <Del>"
-msgstr ""
+msgstr "删除 <Del>"
 
-#: tryton/gui/window/win_form.py:155
+#: tryton/gui/window/win_form.py:156
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
-#, fuzzy
 msgid "Create a new record <F3>"
-msgstr "Vytvořit nový záznam"
+msgstr "新建项目 <F3>"
 
-#: tryton/gui/window/win_form.py:167
+#: tryton/gui/window/win_form.py:168
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
-#, fuzzy
 msgid "Delete selected record <Del>"
-msgstr "Smazat vybraný záznam"
+msgstr "删除选择项 <Del>"
 
-#: tryton/gui/window/win_form.py:181
+#: tryton/gui/window/win_form.py:182
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
-#, fuzzy
 msgid "Undelete selected record <Ins>"
-msgstr "Smazat vybraný záznam"
+msgstr "回滚删除项 <Ins>"
 
-#: tryton/gui/window/win_import.py:20
+#: tryton/gui/window/win_import.py:25
 msgid "Import from CSV"
-msgstr "Import CSV souboru"
-
-#: tryton/gui/window/win_import.py:76
-msgid "Auto-Detect"
-msgstr "Automatická detekce"
+msgstr "从 CSV 导入"
 
-#: 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:32
+#, fuzzy
+msgid "_Auto-Detect"
+msgstr "自动设置"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
-msgstr "Soubor k importu:"
+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
+#: tryton/gui/window/win_import.py:45
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
-msgstr "Otevřít..."
-
-#: tryton/gui/window/win_import.py:117
-msgid "CSV Parameters"
-msgstr "Parametry CSV"
+msgstr "打开..."
 
-#: 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
+#: tryton/gui/window/win_import.py:50
 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"
+msgstr "跳过行:"
 
-#: tryton/gui/window/win_import.py:254
+#: tryton/gui/window/win_import.py:99
 msgid "You must select an import file first!"
-msgstr "Nejprve je nutné vybrat soubor pro import!"
+msgstr "选择导入的文件!"
 
-#: tryton/gui/window/win_import.py:265
+#: tryton/gui/window/win_import.py:109
 msgid "Error opening CSV file"
-msgstr "Chyba při otevírání CSV souboru"
+msgstr "打开CSV出错 !"
 
-#: tryton/gui/window/win_import.py:292
-#, python-format, fuzzy, python-format
+#: tryton/gui/window/win_import.py:137
+#, python-format
 msgid "Error processing the file at field %s."
-msgstr "Chyba při zpracování souboru u pole %s.\n"
+msgstr "处理数值 %s 时出错"
 
-#: tryton/gui/window/win_import.py:367
+#: tryton/gui/window/win_import.py:198
 #, python-format
 msgid "%d record imported!"
-msgstr "%d záznam načten!"
+msgstr "%d 项导入成功!"
 
-#: tryton/gui/window/win_import.py:369
+#: tryton/gui/window/win_import.py:200
 #, python-format
 msgid "%d records imported!"
-msgstr "%d záznamů načteno!"
+msgstr "%d 项导入成功!"
 
 #: tryton/gui/window/wizard.py:287
 msgid "Wizard"
-msgstr "Průvodce"
+msgstr "向导"
 
-#: tryton/gui/window/view_form/screen/screen.py:147
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:183
 msgid "ID"
-msgstr "Najít"
+msgstr "标识"
 
-#: tryton/gui/window/view_form/screen/screen.py:148
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:184
 msgid "Creation User"
-msgstr "Vytvořeno uživatelem:"
+msgstr "创建者"
 
-#: tryton/gui/window/view_form/screen/screen.py:149
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:185
 msgid "Creation Date"
-msgstr "Datum vytvoření:"
+msgstr "创建日期"
 
-#: tryton/gui/window/view_form/screen/screen.py:150
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:186
 msgid "Modification User"
-msgstr "Datum poslední úpravy:"
+msgstr "修改者"
 
-#: tryton/gui/window/view_form/screen/screen.py:151
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:187
 msgid "Modification Date"
-msgstr "Datum poslední úpravy:"
+msgstr "修改日期"
 
-#: tryton/gui/window/view_form/screen/screen.py:651
+#: tryton/gui/window/view_form/screen/screen.py:710
 msgid "Unable to get view tree state"
-msgstr ""
+msgstr "无法获得视图树状态"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
-#, fuzzy
+#: tryton/gui/window/view_form/screen/screen.py:769
 msgid "Unable to set view tree state"
-msgstr "Nemohu nastavit lokalizaci %s"
+msgstr "无法设置视图树状态"
 
-#: tryton/gui/window/view_form/screen/screen.py:886
+#: tryton/gui/window/view_form/screen/screen.py:945
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
-msgstr ""
+msgstr "根据域设置,\"%s\"不可用"
 
-#: tryton/gui/window/view_form/screen/screen.py:893
+#: tryton/gui/window/view_form/screen/screen.py:952
 #, python-format
 msgid "\"%s\" is required"
-msgstr ""
+msgstr "\"%s\" 是必填项"
 
-#: tryton/gui/window/view_form/screen/screen.py:897
+#: tryton/gui/window/view_form/screen/screen.py:956
 #, python-format
 msgid "The values of \"%s\" are not valid"
-msgstr ""
+msgstr "无法获得\"%s\" 的值"
 
-#: tryton/gui/window/view_form/screen/screen.py:948
+#: tryton/gui/window/view_form/screen/screen.py:1007
 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
+msgstr "预校验"
+
+#: tryton/gui/window/view_form/view/form.py:190
+#: tryton/gui/window/view_form/view/form.py:192
+#: tryton/gui/window/view_form/view/list.py:538
+#: tryton/gui/window/view_form/view/list.py:540
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:137
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:139
 msgid ":"
@@ -1800,171 +1750,164 @@ msgstr ":"
 
 #: tryton/gui/window/view_form/view/graph.py:99
 msgid "Save As"
-msgstr "Uložit jako"
+msgstr "另存为"
 
 #: tryton/gui/window/view_form/view/graph.py:110
 msgid "Image Size"
-msgstr "Velikost obrázku"
+msgstr "图片尺寸"
 
 #: tryton/gui/window/view_form/view/graph.py:119
 msgid "Width:"
-msgstr "Šířka:"
+msgstr "宽:"
 
 #: tryton/gui/window/view_form/view/graph.py:126
 msgid "Height:"
-msgstr "Výška:"
+msgstr "高:"
 
 #: tryton/gui/window/view_form/view/graph.py:137
 msgid "PNG image (*.png)"
-msgstr "Obrázek PNG (*.png)"
+msgstr "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é!"
+msgstr "图片尺寸过大 !"
 
 #: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
-msgstr ""
+msgstr ".."
 
 #: tryton/gui/window/view_form/view/screen_container.py:144
-#, fuzzy
 msgid "F_ilters"
-msgstr "_Soubor"
+msgstr "筛选(_F)"
 
 #: tryton/gui/window/view_form/view/screen_container.py:198
 msgid "Show bookmarks of filters"
-msgstr ""
+msgstr "显示筛选器书签"
 
 #: tryton/gui/window/view_form/view/screen_container.py:359
 msgid "Remove this bookmark"
-msgstr ""
+msgstr "移除书签"
 
 #: tryton/gui/window/view_form/view/screen_container.py:366
 msgid "Bookmark this filter"
-msgstr ""
+msgstr "收藏筛选器"
 
 #: tryton/gui/window/view_form/view/screen_container.py:431
 msgid "Bookmark Name:"
-msgstr ""
+msgstr "书签名称:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:538
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "Find"
-msgstr "Najít"
+msgstr "查找"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
-#, fuzzy
 msgid "Today"
-msgstr "Tělo:"
+msgstr "今天"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
-#, fuzzy
 msgid "Week View"
-msgstr "Přepnout pohled"
+msgstr "周视图"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
-#, fuzzy
 msgid "Month View"
-msgstr "Přepnout pohled"
+msgstr "月视图"
 
 #: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
-msgstr ""
+msgstr "周"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:32
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
 msgid "Select..."
-msgstr ""
+msgstr "选择..."
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+msgid "Clear"
+msgstr "清除"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:76
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
 msgid "All files"
-msgstr "Všechny soubory"
+msgstr "所有文件"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:89
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
 msgid "Select"
-msgstr ""
+msgstr "选择"
 
 #: tryton/gui/window/view_form/view/form_gtk/char.py:158
 msgid "Show plain text"
-msgstr ""
+msgstr "显示纯文本"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:356
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
 msgid "Add value"
-msgstr ""
+msgstr "添加条目"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:480
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
 #, python-format
 msgid "Remove \"%s\""
-msgstr ""
+msgstr "删除\"%s\""
 
 #: tryton/gui/window/view_form/view/form_gtk/image.py:49
 msgid "Images"
-msgstr "Obrázky"
+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 "Uložit tento záznam"
+msgstr "添加现存条目"
 
 #: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
-#, fuzzy
 msgid "Remove selected record <Del>"
-msgstr "Smazat vybraný záznam"
+msgstr "删除选择项 <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
-#, fuzzy
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
 msgid "Open a record <F2>"
-msgstr "Otevřít záznam"
+msgstr "打开条目 <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:295
-#, fuzzy
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
 msgid "Search a record <F2>"
-msgstr "Hledat záznam"
+msgstr "查找条目 <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
-#, fuzzy
 msgid "Remove selected record"
-msgstr "Smazat vybraný záznam"
+msgstr "删除所选条目"
 
 #: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
-#, fuzzy
 msgid "Edit selected record <F2>"
-msgstr "Upravit vybraný záznam"
+msgstr "编辑所选条目<F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:836
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
 #, python-format
 msgid "%s%%"
-msgstr ""
+msgstr "%s%%"
 
 #: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
 msgid "Foreground"
-msgstr ""
+msgstr "字体颜色"
 
 #: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
 msgid "Select a color"
-msgstr ""
+msgstr "选择颜色"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:113
-#, fuzzy
 msgid "Translation"
-msgstr "Přidat překlad"
+msgstr "翻译"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:173
 msgid "Edit"
-msgstr ""
+msgstr "编辑"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:178
 msgid "Fuzzy"
-msgstr ""
+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ů!"
+msgstr "请先保存已翻译条目,再增加新翻译 !"
 
 #: tryton/gui/window/view_form/view/form_gtk/widget.py:258
 msgid "No other language available!"
-msgstr "Jiný jazyk není k dispozici!"
+msgstr "没有其他可翻译语言!"
 
 #: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
-msgstr "Přeložit pohled"
+msgstr "翻译视图"
diff --git a/tryton/data/pixmaps/tryton/tryton-note-hi.svg b/tryton/data/pixmaps/tryton/tryton-note-hi.svg
new file mode 100644
index 0000000..ad5a05b
--- /dev/null
+++ b/tryton/data/pixmaps/tryton/tryton-note-hi.svg
@@ -0,0 +1,405 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="48px"
+   height="48px"
+   id="svg5816"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="tryton-note.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs3">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective42" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5060">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop5062" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5064" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5048">
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="0"
+         id="stop5050" />
+      <stop
+         id="stop5056"
+         offset="0.5"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5052" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient29433">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop29435" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop29437" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient29418">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop29420" />
+      <stop
+         style="stop-color:#e9e9e9;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop29422" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient29433"
+       id="radialGradient29439"
+       cx="29.496454"
+       cy="27.645426"
+       fx="29.496454"
+       fy="27.645426"
+       r="11.515739"
+       gradientTransform="matrix(1,0,0,0.346491,0,18.06653)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       r="14.375"
+       fy="125"
+       fx="55"
+       cy="125"
+       cx="55"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4737"
+       xlink:href="#linearGradient12512"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient12512">
+      <stop
+         id="stop12513"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+      <stop
+         id="stop12517"
+         offset="0.50000000"
+         style="stop-color:#fff520;stop-opacity:0.89108908;" />
+      <stop
+         id="stop12514"
+         offset="1.0000000"
+         style="stop-color:#fff300;stop-opacity:0.0000000;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048"
+       id="linearGradient3364"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient3366"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient3368"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048"
+       id="linearGradient3370"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient3372"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient3374"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient29418"
+       id="linearGradient3376"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.007553,0,0,0.987647,52.006705,0.3833026)"
+       x1="26.011957"
+       y1="10.916001"
+       x2="39.037319"
+       y2="26.257807" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient29418"
+       id="linearGradient3378"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.977228,0,0,0.995878,-1.6679374,9.2243328)"
+       x1="35.003674"
+       y1="10.957423"
+       x2="27.273300"
+       y2="24.143761" />
+    <radialGradient
+       r="14.375"
+       fy="125"
+       fx="55"
+       cy="125"
+       cx="55"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4737-0"
+       xlink:href="#linearGradient12512-5"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient12512-5">
+      <stop
+         id="stop12513-4"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+      <stop
+         id="stop12517-1"
+         offset="0.50000000"
+         style="stop-color:#fff520;stop-opacity:0.89108908;" />
+      <stop
+         id="stop12514-4"
+         offset="1.0000000"
+         style="stop-color:#fff300;stop-opacity:0.0000000;" />
+    </linearGradient>
+    <radialGradient
+       r="14.375"
+       fy="125"
+       fx="55"
+       cy="125"
+       cx="55"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3416"
+       xlink:href="#linearGradient12512-5"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.13333333"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="9.2"
+     inkscape:cx="30.524336"
+     inkscape:cy="31.26044"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1364"
+     inkscape:window-height="751"
+     inkscape:window-x="0"
+     inkscape:window-y="15"
+     inkscape:showpageshadow="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title />
+          </cc:Agent>
+        </dc:contributor>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>group</rdf:li>
+            <rdf:li>chat</rdf:li>
+            <rdf:li>IRC</rdf:li>
+            <rdf:li>internet</rdf:li>
+            <rdf:li>network</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.12025314;color:#000000;fill:url(#radialGradient29439);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+       id="path29431"
+       sodipodi:cx="29.496454"
+       sodipodi:cy="27.645426"
+       sodipodi:rx="11.515739"
+       sodipodi:ry="3.9901025"
+       d="m 41.012194,27.645426 a 11.515739,3.9901025 0 1 1 -23.031479,0 11.515739,3.9901025 0 1 1 23.031479,0 z"
+       transform="matrix(-1.372807,0,0,1.09241,59.272142,0.34431891)" />
+    <g
+       id="g3318"
+       transform="translate(0.23370701,0.49268927)">
+      <g
+         style="opacity:0.62886598"
+         id="g6707"
+         transform="matrix(-0.01518738,0,0,0.02086758,16.426582,32.012296)">
+        <rect
+           y="-150.69685"
+           x="-1559.2523"
+           height="478.35718"
+           width="1339.6335"
+           id="rect6709"
+           style="opacity:0.40206185;color:#000000;fill:url(#linearGradient3364);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccc"
+           id="path6711"
+           d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient3366);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           inkscape:connector-curvature="0"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient3368);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+           d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+           id="path6713"
+           sodipodi:nodetypes="cccc" />
+      </g>
+      <g
+         transform="matrix(-0.01518738,0,0,0.02086758,6.6765826,22.012296)"
+         id="g6865">
+        <rect
+           style="opacity:0.40206185;color:#000000;fill:url(#linearGradient3370);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+           id="rect6867"
+           width="1339.6335"
+           height="478.35718"
+           x="-1559.2523"
+           y="-150.69685" />
+        <path
+           inkscape:connector-curvature="0"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient3372);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+           d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+           id="path6869"
+           sodipodi:nodetypes="cccc" />
+        <path
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccc"
+           id="path6871"
+           d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient3374);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         id="rect29408"
+         d="m 30.533226,6.6795526 c 1.071319,0 1.920649,0.863414 1.920649,1.9135661 l 0,15.0616163 c 0,1.050152 -0.84933,1.882702 -1.920649,1.882702 l -14.13723,0 c -0.856319,1.103703 -2.522718,2.893206 -6.5176109,4.382684 1.7786189,-2.048927 1.7748289,-3.440361 1.5743019,-4.382684 l -2.8967154,0 c -1.071317,0 -1.952132,-0.83255 -1.952134,-1.882702 l 0,-15.0616163 c 0,-1.050152 0.880817,-1.9135661 1.952134,-1.9135661 l 21.9772544,0 z"
+         style="color:#000000;fill:url(#linearGradient3376);fill-opacity:1;fill-rule:nonzero;stroke:#787878;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccccccc"
+         style="color:#000000;fill:none;stroke:#ffffff;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+         d="m 30.121681,7.6842311 c 0.918159,0 1.292512,0.436931 1.292512,1.336949 l 0,13.8679919 c 0,0.900018 -0.727906,1.613543 -1.646065,1.613543 l -13.883883,0 c -0.733896,0.945914 -1.30343,1.974506 -3.515014,3.099519 0.413172,-0.897374 0.06495,-2.151356 -0.216504,-3.099519 l -3.4927414,0 c -0.918157,0 -1.016448,-0.359972 -1.01645,-1.25999 l 0,-14.2215449 c 0,-0.900018 0.249816,-1.286442 1.167973,-1.286442 l 21.3101724,-0.05051 z"
+         id="path29445" />
+      <path
+         inkscape:connector-curvature="0"
+         style="color:#000000;fill:url(#linearGradient3378);fill-opacity:1;fill-rule:nonzero;stroke:#787878;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+         d="m 19.15926,15.573056 c -1.039074,0 -1.862841,0.87061 -1.862841,1.929514 l 0,15.187139 c 0,1.058904 0.823767,1.898393 1.862841,1.898393 l 13.711728,0 c 0.830545,1.112901 2.446789,2.917318 6.321443,4.419209 -1.725085,-2.066003 -1.721409,-3.469033 -1.526918,-4.419209 l 2.80953,0 c 1.039072,0 1.893377,-0.839489 1.893379,-1.898393 l 0,-15.187139 c 0,-1.058904 -0.854307,-1.929514 -1.893379,-1.929514 l -21.315783,0 z"
+         id="path29441" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccccccc"
+         id="path29449"
+         d="m 19.545626,16.561591 c -0.942453,0 -1.235052,0.461354 -1.235052,1.421794 l 0,14.204247 c 0,0.96044 0.242092,1.368314 1.184545,1.368314 l 13.901437,0 c 0.753315,1.009416 2.067746,2.595538 3.511295,3.250666 C 36.504852,35.639827 36.65971,34.670306 36.7351,33.555946 l 3.40691,0 c 0.942452,0 1.212241,-0.407874 1.212243,-1.368314 l 0,-14.077978 c 0,-0.96044 -0.269791,-1.548063 -1.212243,-1.548063 l -20.596384,0 z"
+         style="color:#000000;fill:none;stroke:#ffffff;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible" />
+    </g>
+    <g
+       id="layer4"
+       inkscape:label="new"
+       style="display:inline"
+       transform="translate(-0.21843784,0.10974521)">
+      <path
+         sodipodi:type="arc"
+         style="color:#000000;fill:url(#radialGradient3416);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;marker:none;visibility:visible;display:block"
+         id="path12511"
+         sodipodi:cx="55"
+         sodipodi:cy="125"
+         sodipodi:rx="14.375"
+         sodipodi:ry="14.375"
+         d="m 69.375,125 c 0,7.93909 -6.435907,14.375 -14.375,14.375 -7.939093,0 -14.375,-6.43591 -14.375,-14.375 0,-7.93909 6.435907,-14.375 14.375,-14.375 7.939093,0 14.375,6.43591 14.375,14.375 z"
+         transform="matrix(0.783292,0,0,0.783292,-6.340883,-86.65168)"
+         inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+         inkscape:export-xdpi="33.852203"
+         inkscape:export-ydpi="33.852203" />
+    </g>
+  </g>
+</svg>
diff --git a/tryton/data/pixmaps/tryton/tryton-note.svg b/tryton/data/pixmaps/tryton/tryton-note.svg
new file mode 100644
index 0000000..4580867
--- /dev/null
+++ b/tryton/data/pixmaps/tryton/tryton-note.svg
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="48px"
+   height="48px"
+   id="svg5816"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="tryton-note.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs3">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective42" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient6719"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5060">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop5062" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5064" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient6717"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       id="linearGradient5048">
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="0"
+         id="stop5050" />
+      <stop
+         id="stop5056"
+         offset="0.5"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5052" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048"
+       id="linearGradient6715"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient29433">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop29435" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop29437" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient29418">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop29420" />
+      <stop
+         style="stop-color:#e9e9e9;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop29422" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient29418"
+       id="linearGradient29429"
+       gradientUnits="userSpaceOnUse"
+       x1="26.011957"
+       y1="10.916001"
+       x2="39.037319"
+       y2="26.257807"
+       gradientTransform="matrix(-1.007553,0,0,0.987647,52.006705,0.3833026)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient29433"
+       id="radialGradient29439"
+       cx="29.496454"
+       cy="27.645426"
+       fx="29.496454"
+       fy="27.645426"
+       r="11.515739"
+       gradientTransform="matrix(1,0,0,0.346491,0,18.06653)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient29418"
+       id="linearGradient29443"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.977228,0,0,0.995878,-1.6679374,9.2243328)"
+       x1="35.003674"
+       y1="10.957423"
+       x2="27.273300"
+       y2="24.143761" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048"
+       id="linearGradient6873"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient6875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient6877"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <radialGradient
+       r="14.375"
+       fy="125"
+       fx="55"
+       cy="125"
+       cx="55"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4737"
+       xlink:href="#linearGradient12512"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient12512">
+      <stop
+         id="stop12513"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+      <stop
+         id="stop12517"
+         offset="0.50000000"
+         style="stop-color:#fff520;stop-opacity:0.89108908;" />
+      <stop
+         id="stop12514"
+         offset="1.0000000"
+         style="stop-color:#fff300;stop-opacity:0.0000000;" />
+    </linearGradient>
+    <radialGradient
+       r="14.375"
+       fy="125"
+       fx="55"
+       cy="125"
+       cx="55"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3295"
+       xlink:href="#linearGradient12512"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048"
+       id="linearGradient3364"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient3366"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient3368"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048"
+       id="linearGradient3370"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient3372"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient3374"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient29418"
+       id="linearGradient3376"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.007553,0,0,0.987647,52.006705,0.3833026)"
+       x1="26.011957"
+       y1="10.916001"
+       x2="39.037319"
+       y2="26.257807" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient29418"
+       id="linearGradient3378"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.977228,0,0,0.995878,-1.6679374,9.2243328)"
+       x1="35.003674"
+       y1="10.957423"
+       x2="27.273300"
+       y2="24.143761" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.13333333"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="9.2"
+     inkscape:cx="30.524336"
+     inkscape:cy="31.26044"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1364"
+     inkscape:window-height="751"
+     inkscape:window-x="0"
+     inkscape:window-y="15"
+     inkscape:showpageshadow="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title />
+          </cc:Agent>
+        </dc:contributor>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>group</rdf:li>
+            <rdf:li>chat</rdf:li>
+            <rdf:li>IRC</rdf:li>
+            <rdf:li>internet</rdf:li>
+            <rdf:li>network</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.12025314;color:#000000;fill:url(#radialGradient29439);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+       id="path29431"
+       sodipodi:cx="29.496454"
+       sodipodi:cy="27.645426"
+       sodipodi:rx="11.515739"
+       sodipodi:ry="3.9901025"
+       d="m 41.012194,27.645426 a 11.515739,3.9901025 0 1 1 -23.031479,0 11.515739,3.9901025 0 1 1 23.031479,0 z"
+       transform="matrix(-1.372807,0,0,1.09241,59.272142,0.34431891)" />
+    <g
+       id="g3318"
+       transform="translate(0.23370701,0.49268927)">
+      <g
+         style="opacity:0.62886598"
+         id="g6707"
+         transform="matrix(-0.01518738,0,0,0.02086758,16.426582,32.012296)">
+        <rect
+           y="-150.69685"
+           x="-1559.2523"
+           height="478.35718"
+           width="1339.6335"
+           id="rect6709"
+           style="opacity:0.40206185;color:#000000;fill:url(#linearGradient3364);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccc"
+           id="path6711"
+           d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient3366);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           inkscape:connector-curvature="0"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient3368);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+           d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+           id="path6713"
+           sodipodi:nodetypes="cccc" />
+      </g>
+      <g
+         transform="matrix(-0.01518738,0,0,0.02086758,6.6765826,22.012296)"
+         id="g6865">
+        <rect
+           style="opacity:0.40206185;color:#000000;fill:url(#linearGradient3370);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+           id="rect6867"
+           width="1339.6335"
+           height="478.35718"
+           x="-1559.2523"
+           y="-150.69685" />
+        <path
+           inkscape:connector-curvature="0"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient3372);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+           d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+           id="path6869"
+           sodipodi:nodetypes="cccc" />
+        <path
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccc"
+           id="path6871"
+           d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient3374);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         id="rect29408"
+         d="m 30.533226,6.6795526 c 1.071319,0 1.920649,0.863414 1.920649,1.9135661 l 0,15.0616163 c 0,1.050152 -0.84933,1.882702 -1.920649,1.882702 l -14.13723,0 c -0.856319,1.103703 -2.522718,2.893206 -6.5176109,4.382684 1.7786189,-2.048927 1.7748289,-3.440361 1.5743019,-4.382684 l -2.8967154,0 c -1.071317,0 -1.952132,-0.83255 -1.952134,-1.882702 l 0,-15.0616163 c 0,-1.050152 0.880817,-1.9135661 1.952134,-1.9135661 l 21.9772544,0 z"
+         style="color:#000000;fill:url(#linearGradient3376);fill-opacity:1;fill-rule:nonzero;stroke:#787878;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccccccc"
+         style="color:#000000;fill:none;stroke:#ffffff;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+         d="m 30.121681,7.6842311 c 0.918159,0 1.292512,0.436931 1.292512,1.336949 l 0,13.8679919 c 0,0.900018 -0.727906,1.613543 -1.646065,1.613543 l -13.883883,0 c -0.733896,0.945914 -1.30343,1.974506 -3.515014,3.099519 0.413172,-0.897374 0.06495,-2.151356 -0.216504,-3.099519 l -3.4927414,0 c -0.918157,0 -1.016448,-0.359972 -1.01645,-1.25999 l 0,-14.2215449 c 0,-0.900018 0.249816,-1.286442 1.167973,-1.286442 l 21.3101724,-0.05051 z"
+         id="path29445" />
+      <path
+         inkscape:connector-curvature="0"
+         style="color:#000000;fill:url(#linearGradient3378);fill-opacity:1;fill-rule:nonzero;stroke:#787878;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+         d="m 19.15926,15.573056 c -1.039074,0 -1.862841,0.87061 -1.862841,1.929514 l 0,15.187139 c 0,1.058904 0.823767,1.898393 1.862841,1.898393 l 13.711728,0 c 0.830545,1.112901 2.446789,2.917318 6.321443,4.419209 -1.725085,-2.066003 -1.721409,-3.469033 -1.526918,-4.419209 l 2.80953,0 c 1.039072,0 1.893377,-0.839489 1.893379,-1.898393 l 0,-15.187139 c 0,-1.058904 -0.854307,-1.929514 -1.893379,-1.929514 l -21.315783,0 z"
+         id="path29441" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccccccc"
+         id="path29449"
+         d="m 19.545626,16.561591 c -0.942453,0 -1.235052,0.461354 -1.235052,1.421794 l 0,14.204247 c 0,0.96044 0.242092,1.368314 1.184545,1.368314 l 13.901437,0 c 0.753315,1.009416 2.067746,2.595538 3.511295,3.250666 C 36.504852,35.639827 36.65971,34.670306 36.7351,33.555946 l 3.40691,0 c 0.942452,0 1.212241,-0.407874 1.212243,-1.368314 l 0,-14.077978 c 0,-0.96044 -0.269791,-1.548063 -1.212243,-1.548063 l -20.596384,0 z"
+         style="color:#000000;fill:none;stroke:#ffffff;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible" />
+    </g>
+  </g>
+</svg>
diff --git a/tryton/gui/main.py b/tryton/gui/main.py
index 38fc755..29a92d0 100644
--- a/tryton/gui/main.py
+++ b/tryton/gui/main.py
@@ -490,14 +490,14 @@ class Main(object):
         image.set_from_stock('tryton-start-here', gtk.ICON_SIZE_MENU)
         imagemenuitem_menu.set_image(image)
         imagemenuitem_menu.connect('activate', lambda *a: self.sig_win_menu())
-        imagemenuitem_menu.set_accel_path('<tryton>/User/Menu Reload')
+        imagemenuitem_menu.set_accel_path('<tryton>/User/Reload Menu')
         menu_user.add(imagemenuitem_menu)
 
         imagemenuitem_menu_toggle = gtk.ImageMenuItem(_('_Menu Toggle'),
                 self.accel_group)
         imagemenuitem_menu_toggle.connect('activate',
             lambda *a: self.menu_toggle())
-        imagemenuitem_menu_toggle.set_accel_path('<tryton>/User/Menu Toggle')
+        imagemenuitem_menu_toggle.set_accel_path('<tryton>/User/Toggle Menu')
         menu_user.add(imagemenuitem_menu_toggle)
 
         imagemenuitem_global_search = gtk.ImageMenuItem(_('_Global Search'),
diff --git a/tryton/gui/window/attachment.py b/tryton/gui/window/attachment.py
index 72aa578..da0e146 100644
--- a/tryton/gui/window/attachment.py
+++ b/tryton/gui/window/attachment.py
@@ -4,6 +4,7 @@
 import os
 import urllib
 import urlparse
+import sys
 
 from tryton.gui.window.view_form.screen import Screen
 from tryton.gui.window.win_form import WinForm
@@ -21,10 +22,11 @@ class Attachment(WinForm):
             ('resource', '=', self.resource),
             ], mode=['tree', 'form'], context=context,
             exclude_field='resource')
-        screen.search_filter()
-        screen.parent = record
         super(Attachment, self).__init__(screen, self.callback,
             view_type='tree')
+        screen.search_filter()
+        # Set parent after to be allowed to call search_filter
+        screen.parent = record
 
     def destroy(self):
         self.prev_view.save_width_height()
@@ -46,5 +48,6 @@ class Attachment(WinForm):
         new_record = self.screen.new()
         file_name = os.path.basename(urlparse.urlparse(uri).path)
         name_field.set_client(new_record, file_name)
+        uri = uri.decode('utf-8').encode(sys.getfilesystemencoding())
         data_field.set_client(new_record, urllib.urlopen(uri).read())
         self.screen.display()
diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py
index 2fb8721..5bceecb 100644
--- a/tryton/gui/window/form.py
+++ b/tryton/gui/window/form.py
@@ -11,6 +11,7 @@ from tryton.gui.window import Window
 from tryton.gui.window.win_export import WinExport
 from tryton.gui.window.win_import import WinImport
 from tryton.gui.window.attachment import Attachment
+from tryton.gui.window.note import Note
 from tryton.gui.window.revision import Revision
 from tryton.signal_event import SignalEvent
 from tryton.common import message, sur, sur_3b, timezoned_date
@@ -44,6 +45,8 @@ class Form(SignalEvent, TabContent):
         (None,) * 5,
         ('attach', 'tryton-attachment', _('Attachment(0)'),
             _('Add an attachment to the record'), 'sig_attach'),
+        ('note', 'tryton-note', _('Note(0)'),
+            _('Add a note to the record'), 'sig_note'),
     ]
     menu_def = [
         (_('_New'), 'tryton-new', 'sig_new', '<tryton>/Form/New'),
@@ -69,6 +72,7 @@ class Form(SignalEvent, TabContent):
         (None,) * 4,
         (_('A_ttachments...'), 'tryton-attachment', 'sig_attach',
             '<tryton>/Form/Attachments'),
+        (_('_Notes...'), 'tryton-note', 'sig_note', '<tryton>/Form/Notes'),
         (_('_Actions...'), 'tryton-executable', 'sig_action',
             '<tryton>/Form/Actions'),
         (_('_Relate...'), 'tryton-go-jump', 'sig_relate',
@@ -89,7 +93,7 @@ class Form(SignalEvent, TabContent):
 
     def __init__(self, model, res_id=False, domain=None, order=None, mode=None,
             view_ids=None, context=None, name=False, limit=None,
-            search_value=None, tab_domain=None):
+            search_value=None, tab_domain=None, context_model=None):
         super(Form, self).__init__()
 
         if not mode:
@@ -109,7 +113,8 @@ class Form(SignalEvent, TabContent):
 
         self.screen = Screen(self.model, mode=mode, context=context,
             view_ids=view_ids, domain=domain, limit=limit, order=order,
-            search_value=search_value, tab_domain=tab_domain)
+            search_value=search_value, tab_domain=tab_domain,
+            context_model=context_model)
         self.screen.widget.show()
 
         if not name:
@@ -133,12 +138,7 @@ class Form(SignalEvent, TabContent):
             style.bg[gtk.STATE_INSENSITIVE])
         self.widget.pack_start(url_entry, False, False)
 
-        access = common.MODELACCESS[self.model]
-        for button, access_type in (
-                ('new', 'create'),
-                ('save', 'write'),
-                ):
-            self.buttons[button].props.sensitive = access[access_type]
+        self.set_buttons_sensitive()
 
         self.screen.signal_connect(self, 'record-message',
             self._record_message)
@@ -148,6 +148,7 @@ class Form(SignalEvent, TabContent):
         self.screen.signal_connect(self, 'record-saved', self._record_saved)
         self.screen.signal_connect(self, 'attachment-count',
                 self._attachment_count)
+        self.screen.signal_connect(self, 'unread-note', self._unread_note)
 
         if res_id not in (None, False):
             if isinstance(res_id, (int, long)):
@@ -216,6 +217,35 @@ class Form(SignalEvent, TabContent):
         self.buttons['attach'].props.sensitive = bool(
             record.id >= 0 if record else False)
 
+    def sig_note(self, widget=None):
+        record = self.screen.current_record
+        if not record or record.id < 0:
+            return
+        Note(record,
+            lambda: self.update_unread_note(reload=True))
+
+    def update_unread_note(self, reload=False):
+        record = self.screen.current_record
+        if record:
+            unread = record.get_unread_note(reload=reload)
+        else:
+            unread = 0
+        self._unread_note(None, unread)
+
+    def _unread_note(self, widget, signal_data):
+        label = _('Note(%d)') % signal_data
+        self.buttons['note'].set_label(label)
+        if signal_data:
+            self.buttons['note'].set_stock_id('tryton-note-hi')
+        else:
+            self.buttons['note'].set_stock_id('tryton-note')
+        record = self.screen.current_record
+        if not record or record.id < 0:
+            sensitive = False
+        else:
+            sensitive = True
+        self.buttons['note'].props.sensitive = sensitive
+
     def sig_switch(self, widget=None):
         if not self.modified_save():
             return
@@ -297,8 +327,17 @@ class Form(SignalEvent, TabContent):
             self.title.set_label('%s @ %s' % (self.name, revision))
         else:
             self.title.set_label(self.name)
-        for button in ('new', 'save'):
-            self.buttons[button].props.sensitive = not revision
+        self.set_buttons_sensitive(revision)
+
+    def set_buttons_sensitive(self, revision=None):
+        if not revision:
+            access = common.MODELACCESS[self.model]
+            self.buttons['new'].props.sensitive = access['create']
+            self.buttons['save'].props.sensitive = (
+                access['create'] or access['write'])
+        else:
+            for button in ['new', 'save']:
+                self.buttons[button].props.sensitive = False
 
     def sig_remove(self, widget=None):
         if not common.MODELACCESS[self.model]['delete']:
@@ -346,7 +385,8 @@ class Form(SignalEvent, TabContent):
         if widget:
             # Called from button so we must save the tree state
             self.screen.save_tree_state()
-        if not common.MODELACCESS[self.model]['write']:
+        if not (common.MODELACCESS[self.model]['write']
+                or common.MODELACCESS[self.model]['create']):
             return
         if self.screen.save_current():
             self.message_info(_('Record saved.'), gtk.MESSAGE_INFO)
@@ -473,7 +513,7 @@ class Form(SignalEvent, TabContent):
         if self.screen.modified():
             value = sur_3b(
                 _('This record has been modified\n'
-                    'do you want to save it ?'))
+                    'do you want to save it?'))
             if value == 'ok':
                 return self.sig_save(None)
             if value == 'ko':
diff --git a/tryton/gui/window/note.py b/tryton/gui/window/note.py
new file mode 100644
index 0000000..0c09082
--- /dev/null
+++ b/tryton/gui/window/note.py
@@ -0,0 +1,40 @@
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from tryton.gui.window.view_form.screen import Screen
+from tryton.gui.window.win_form import WinForm
+
+
+class Note(WinForm):
+    "Note window"
+
+    def __init__(self, record, callback=None):
+        self.resource = '%s,%s' % (record.model_name, record.id)
+        self.note_callback = callback
+        context = record.context_get()
+        context['resource'] = self.resource
+        screen = Screen('ir.note', domain=[
+                ('resource', '=', self.resource),
+                ], mode=['tree', 'form'], context=context,
+            exclude_field='resource')
+        super(Note, self).__init__(screen, self.callback, view_type='tree')
+        screen.search_filter()
+        # Set parent after to be allowed to call search_filter
+        screen.parent = record
+
+    def destroy(self):
+        self.prev_view.save_width_height()
+        super(Note, self).destroy()
+
+    def callback(self, result):
+        if result:
+            resource = self.screen.group.fields['resource']
+            unread = self.screen.group.fields['unread']
+            for record in self.screen.group:
+                if record.loaded or record.id < 0:
+                    resource.set_client(record, self.resource)
+                    if 'unread' not in record.modified_fields:
+                        unread.set_client(record, False)
+            self.screen.group.save()
+        if self.note_callback:
+            self.note_callback()
diff --git a/tryton/gui/window/tips.py b/tryton/gui/window/tips.py
index cb414ef..8fa031a 100644
--- a/tryton/gui/window/tips.py
+++ b/tryton/gui/window/tips.py
@@ -47,7 +47,7 @@ You can save any graphs in PNG file with right-click on it.
         self.win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
         self.win.set_icon(TRYTON_ICON)
         self.win.set_has_separator(True)
-        self.win.set_size_request(500, 400)
+        self.win.set_default_size(500, 400)
 
         self.win.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE)
         self.win.set_default_response(gtk.RESPONSE_CLOSE)
diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py
index c1774d0..ddd801c 100644
--- a/tryton/gui/window/view_board/action.py
+++ b/tryton/gui/window/view_board/action.py
@@ -94,7 +94,8 @@ class Action(SignalEvent):
             return
 
         if (self.screen.current_view.view_type == 'tree' and
-                self.screen.current_view.attributes.get('keyword_open')):
+                int(self.screen.current_view.attributes.get(
+                        'keyword_open', 0))):
             GenericAction.exec_keyword('tree_open', {
                     'model': self.screen.model_name,
                     'id': (self.screen.current_record.id
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index 98fd8d9..e3c374e 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -395,6 +395,9 @@ class M2OField(Field):
 
     _default = None
 
+    def _is_empty(self, record):
+        return self.get(record) is None
+
     def get_client(self, record):
         rec_name = record.value.get(self.name + '.rec_name')
         if rec_name is None:
@@ -590,7 +593,7 @@ class O2MField(Field):
         if mode == 'list values' and len(value):
             context = self.context_get(record)
             field_names = set(f for v in value for f in v
-                if f not in group.fields)
+                if f not in group.fields and '.' not in f)
             if field_names:
                 try:
                     fields = RPCExecute('model', self.attrs['relation'],
@@ -608,11 +611,14 @@ class O2MField(Field):
             for vals in value:
                 new_record = record.value[self.name].new(default=False)
                 if default:
-                    new_record.set_default(vals)
-                    group.add(new_record)
+                    # Don't validate as parent will validate
+                    new_record.set_default(vals, signal=False, validate=False)
+                    group.add(new_record, signal=False)
                 else:
-                    new_record.set(vals)
+                    new_record.set(vals, signal=False)
                     group.append(new_record)
+            # Trigger signal only once with the last record
+            new_record.signal('record-changed')
 
     def set(self, record, value, _default=False):
         group = record.value.get(self.name)
@@ -699,7 +705,7 @@ class O2MField(Field):
                 force_remove=False)
 
         if value and (value.get('add') or value.get('update', [])):
-            record.value[self.name].add_fields(fields, signal=False)
+            record.value[self.name].add_fields(fields)
             for index, vals in value.get('add', []):
                 new_record = record.value[self.name].new(default=False)
                 record.value[self.name].add(new_record, index, signal=False)
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index 397a505..0724c67 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -44,7 +44,8 @@ class Group(SignalEvent, list):
     def readonly(self):
         # Must skip res.user for Preference windows
         if (self._context.get('_datetime')
-                or (not MODELACCESS[self.model_name]['write']
+                or (not (MODELACCESS[self.model_name]['write']
+                        or MODELACCESS[self.model_name]['create'])
                     and not self.skip_model_access)):
             return True
         return self.__readonly
@@ -380,7 +381,7 @@ class Group(SignalEvent, list):
             return None
         return self[self.current_idx]
 
-    def add_fields(self, fields, signal=True):
+    def add_fields(self, fields):
         to_add = {}
         for name, attr in fields.iteritems():
             if name not in self.fields:
@@ -404,7 +405,9 @@ class Group(SignalEvent, list):
             except RPCException:
                 return False
             for record in new:
-                record.set_default(values, signal=signal)
+                record.set_default(values, signal=False)
+            # Trigger signal only once with the last record
+            record.signal('record-changed')
 
     def get(self, id):
         'Return record with the id'
diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py
index 906e46d..18fb6a2 100644
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -31,6 +31,7 @@ class Record(SignalEvent):
         self.modified_fields = {}
         self._timestamp = None
         self.attachment_count = -1
+        self.unread_note = -1
         self.next = {}  # Used in Group list
         self.value = {}
         self.autocompletion = {}
@@ -409,7 +410,7 @@ class Record(SignalEvent):
     def context_get(self):
         return self.group.context
 
-    def set_default(self, val, signal=True):
+    def set_default(self, val, signal=True, validate=True):
         fieldnames = []
         for fieldname, value in val.items():
             if fieldname not in self.group.fields:
@@ -428,7 +429,8 @@ class Record(SignalEvent):
             fieldnames.append(fieldname)
         self.on_change(fieldnames)
         self.on_change_with(fieldnames)
-        self.validate(softvalidation=True)
+        if validate:
+            self.validate(softvalidation=True)
         if signal:
             self.signal('record-changed')
 
@@ -616,6 +618,21 @@ class Record(SignalEvent):
                 return 0
         return self.attachment_count
 
+    def get_unread_note(self, reload=False):
+        if self.id < 0:
+            return 0
+        if self.unread_note < 0 or reload:
+            try:
+                self.unread_note = RPCExecute('model', 'ir.note',
+                    'search_count', [
+                        ('resource', '=',
+                            '%s,%s' % (self.model_name, self.id)),
+                        ('unread', '=', True),
+                        ], context=self.context_get())
+            except RPCException:
+                return 0
+        return self.unread_note
+
     def destroy(self):
         for v in self.value.itervalues():
             if hasattr(v, 'destroy'):
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index 37bdb90..2dcada0 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -16,6 +16,8 @@ import xml.dom.minidom
 import gettext
 import logging
 
+import gtk
+
 from tryton.gui.window.view_form.model.group import Group
 from tryton.gui.window.view_form.view.screen_container import ScreenContainer
 from tryton.gui.window.view_form.view import View
@@ -42,7 +44,7 @@ class Screen(SignalEvent):
     def __init__(self, model_name, view_ids=None, mode=None, context=None,
             views_preload=None, domain=None, row_activate=None, limit=None,
             readonly=False, exclude_field=None, order=None, search_value=None,
-            tab_domain=None, alternate_view=False):
+            tab_domain=None, context_model=None, alternate_view=False):
         if view_ids is None:
             view_ids = []
         if mode is None:
@@ -57,7 +59,8 @@ class Screen(SignalEvent):
         super(Screen, self).__init__()
 
         self.readonly = readonly
-        if not MODELACCESS[model_name]['write']:
+        if not (MODELACCESS[model_name]['write']
+                or MODELACCESS[model_name]['create']):
             self.readonly = True
         self.search_count = 0
         if not row_activate:
@@ -84,6 +87,54 @@ class Screen(SignalEvent):
         self.screen_container = ScreenContainer(tab_domain)
         self.screen_container.alternate_view = alternate_view
         self.widget = self.screen_container.widget_get()
+
+        self.context_screen = None
+        if context_model:
+            self.context_screen = Screen(
+                context_model, mode=['form'], context=context)
+            self.context_screen.new()
+            context_widget = self.context_screen.widget
+
+            def walk_descendants(widget):
+                yield widget
+                if not hasattr(widget, 'get_children'):
+                    return
+                for child in widget.get_children():
+                    for widget in walk_descendants(child):
+                        yield widget
+
+            for widget in reversed(list(walk_descendants(context_widget))):
+                if isinstance(widget, gtk.Entry):
+                    widget.connect_after(
+                        'activate', self.screen_container.activate)
+                elif isinstance(widget, gtk.CheckButton):
+                    widget.connect_after(
+                        'toggled', self.screen_container.activate)
+
+            def remove_bin(widget):
+                assert isinstance(widget, (gtk.ScrolledWindow, gtk.Viewport))
+                parent = widget.parent
+                parent.remove(widget)
+                child = widget.get_child()
+                while isinstance(child, (gtk.ScrolledWindow, gtk.Viewport)):
+                    child = child.get_child()
+                child.parent.remove(child)
+                parent.add(child)
+                return child
+
+            # Remove first level Viewport and ScrolledWindow to fill the Vbox
+            for widget in [
+                    self.context_screen.screen_container.viewport,
+                    self.context_screen.current_view.widget.get_children()[0],
+                    ]:
+                remove_bin(widget)
+
+            self.screen_container.filter_vbox.pack_start(
+                context_widget, expand=False, fill=True)
+            self.screen_container.filter_vbox.reorder_child(
+                context_widget, 0)
+            self.context_screen.widget.show()
+
         self.__current_view = 0
         self.search_value = search_value
         self.fields_view_tree = {}
@@ -191,6 +242,16 @@ class Screen(SignalEvent):
         return list(self.domain_parser.completion(search_string))
 
     def search_filter(self, search_string=None, only_ids=False):
+        if self.context_screen:
+            context_record = self.context_screen.current_record
+            if not context_record.validate():
+                self.clear()
+                self.context_screen.display(set_cursor=True)
+                return False
+            context = self.context
+            context.update(self.context_screen.get_on_change_value())
+            self.new_group(context)
+
         domain = []
 
         if self.domain_parser and not self.parent:
@@ -324,8 +385,13 @@ class Screen(SignalEvent):
         if record and record.attachment_count > 0:
             attachment_count = record.attachment_count
         self.signal('attachment-count', attachment_count)
+        unread_note = 0
+        if record and record.unread_note > 0:
+            unread_note = record.unread_note
+        self.signal('unread-note', unread_note)
         # update attachment-count after 1 second
         gobject.timeout_add(1000, self.update_attachment, record)
+        gobject.timeout_add(1000, self.update_note, record)
         return True
 
     current_record = property(__get_current_record, __set_current_record)
@@ -338,6 +404,14 @@ class Screen(SignalEvent):
             self.signal('attachment-count', attachment_count)
         return False
 
+    def update_note(self, record):
+        if record != self.current_record:
+            return False
+        if record and self.signal_connected('unread-note'):
+            unread_note = record.get_unread_note()
+            self.signal('unread-note', unread_note)
+        return False
+
     def destroy(self):
         self.group.destroy()
         for view in self.views:
@@ -346,7 +420,7 @@ class Screen(SignalEvent):
 
     def default_row_activate(self):
         if (self.current_view.view_type == 'tree' and
-                self.current_view.attributes.get('keyword_open')):
+                int(self.current_view.attributes.get('keyword_open', 0))):
             return Action.exec_keyword('tree_open', {
                 'model': self.model_name,
                 'id': self.current_record.id if self.current_record else None,
diff --git a/tryton/gui/window/view_form/view/form.py b/tryton/gui/window/view_form/view/form.py
index 983714a..90ca2ed 100644
--- a/tryton/gui/window/view_form/view/form.py
+++ b/tryton/gui/window/view_form/view/form.py
@@ -167,10 +167,11 @@ class ViewForm(View):
                     attributes[attr] = field.attrs[attr]
         vbox = VBox(attrs=attributes)
         if attributes.get('string'):
-            label = gtk.Label(attributes['string'])
+            label = Label(attributes['string'], attrs=attributes)
             label.set_alignment(float(attributes.get('xalign', 0.0)),
                 float(attributes.get('yalign', 0.5)))
             vbox.pack_start(label)
+            self.state_widgets.append(label)
         vbox.pack_start(gtk.HSeparator())
         self.state_widgets.append(vbox)
         container.add(vbox, attributes)
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 68a1b4d..413aa8a 100644
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -6,6 +6,7 @@ import os
 import tempfile
 from tryton.common import common
 from tryton.common import file_selection, Tooltips, file_open, slugify
+from tryton.common.entry_position import reset_position
 from tryton.config import CONFIG
 from .widget import Widget
 
@@ -196,11 +197,13 @@ class Binary(BinaryMixin, Widget):
             return False
         if self.wid_text:
             self.wid_text.set_text(self.filename_field.get(record) or '')
+            reset_position(self.wid_text)
         if hasattr(field, 'get_size'):
             size = field.get_size(record)
         else:
             size = len(field.get(record))
         self.wid_size.set_text(common.humanize(size or 0))
+        reset_position(self.wid_size)
         if self.but_open:
             self.but_open.set_sensitive(bool(size))
         self.but_save_as.set_sensitive(bool(size))
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 aec6ba9..d9aaf3e 100644
--- a/tryton/gui/window/view_form/view/form_gtk/char.py
+++ b/tryton/gui/window/view_form/view/form_gtk/char.py
@@ -6,7 +6,7 @@ import gobject
 import gtk
 from .widget import Widget, TranslateMixin
 from tryton.common import Tooltips
-from tryton.common.entry_position import manage_entry_position
+from tryton.common.entry_position import reset_position
 from tryton.common.selection import PopdownMixin, selection_shortcuts
 from tryton.config import CONFIG
 
@@ -36,7 +36,6 @@ class Char(Widget, TranslateMixin, PopdownMixin):
         focus_entry.connect('activate', self.sig_activate)
         focus_entry.connect('focus-out-event', lambda x, y: self._focus_out())
         focus_entry.connect('key-press-event', self.send_modified)
-        manage_entry_position(focus_entry)
         expand, fill = True, True
         if attrs.get('size'):
             expand, fill = False, False
@@ -59,6 +58,7 @@ class Char(Widget, TranslateMixin, PopdownMixin):
     @staticmethod
     def translate_widget_set(widget, value):
         widget.set_text(value or '')
+        reset_position(widget)
 
     @staticmethod
     def translate_widget_get(widget):
@@ -124,10 +124,13 @@ class Char(Widget, TranslateMixin, PopdownMixin):
 
         if not self.autocomplete:
             self.entry.set_text(value)
+            reset_position(self.entry)
         else:
             self.entry.handler_block_by_func(self.changed)
             if not self.set_popdown_value(self.entry, value) or not value:
-                self.entry.get_child().set_text(value)
+                child = self.entry.get_child()
+                child.set_text(value)
+                reset_position(child)
             self.entry.handler_unblock_by_func(self.changed)
 
     def _readonly_set(self, value):
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 d9af13a..1562f76 100644
--- a/tryton/gui/window/view_form/view/form_gtk/dictionary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/dictionary.py
@@ -19,6 +19,7 @@ from tryton.common.selection import selection_shortcuts
 from tryton.common.completion import get_completion, update_completion
 from tryton.common.datetime_ import Date, DateTime
 from tryton.common.domain_parser import quote
+from tryton.common.entry_position import reset_position
 
 _ = gettext.gettext
 
@@ -47,7 +48,8 @@ class DictEntry(object):
         return self.widget.get_text()
 
     def set_value(self, value):
-        return self.widget.set_text(value or '')
+        self.widget.set_text(value or '')
+        reset_position(self.widget)
 
     def set_readonly(self, readonly):
         self.widget.set_editable(not readonly)
@@ -131,6 +133,7 @@ class DictSelectionEntry(DictEntry):
     def set_value(self, value):
         values = dict(self.definition['selection'])
         self.widget.child.set_text(values.get(value, ''))
+        reset_position(self.widget.child)
 
     def set_readonly(self, readonly):
         self.widget.set_sensitive(not readonly)
@@ -174,6 +177,7 @@ class DictIntegerEntry(DictEntry):
         else:
             txt_val = ''
         self.widget.set_text(txt_val)
+        reset_position(self.widget)
 
 
 class DictFloatEntry(DictIntegerEntry):
@@ -230,6 +234,7 @@ class DictFloatEntry(DictIntegerEntry):
             txt_val = ''
         self.widget.set_width_chars(sum(digits))
         self.widget.set_text(txt_val)
+        reset_position(self.widget)
 
 
 class DictNumericEntry(DictFloatEntry):
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 384f8b2..c756e23 100644
--- a/tryton/gui/window/view_form/view/form_gtk/float.py
+++ b/tryton/gui/window/view_form/view/form_gtk/float.py
@@ -43,17 +43,10 @@ class Float(Integer):
         digits = self.field.digits(self.record, factor=self.factor)
 
         try:
-            locale.atof(new_value)
+            value = locale.atof(new_value)
         except ValueError:
             entry.stop_emission('insert-text')
             return
 
-        new_int = new_value
-        new_decimal = ''
-        if decimal_point in new_value:
-            new_int, new_decimal = new_value.rsplit(decimal_point, 1)
-
-        if (digits
-                and (len(new_int) > digits[0]
-                    or len(new_decimal) > digits[1])):
+        if digits and not (round(value, digits[1]) == float(value)):
             entry.stop_emission('insert-text')
diff --git a/tryton/gui/window/view_form/view/form_gtk/integer.py b/tryton/gui/window/view_form/view/form_gtk/integer.py
index 102bd14..fd8e80e 100644
--- a/tryton/gui/window/view_form/view/form_gtk/integer.py
+++ b/tryton/gui/window/view_form/view/form_gtk/integer.py
@@ -3,6 +3,8 @@
 from .char import Char
 import locale
 
+from tryton.common.entry_position import reset_position
+
 
 class Integer(Char):
     "Integer"
@@ -38,6 +40,7 @@ class Integer(Char):
             self.entry.set_text('')
             return False
         self.entry.set_text(field.get_client(record, factor=self.factor))
+        reset_position(self.entry)
 
     def sig_insert_text(self, entry, new_text, new_text_length, position):
         value = entry.get_text()
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py
index 7644fc9..e8cf500 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py
@@ -11,7 +11,7 @@ from tryton.gui.window.win_search import WinSearch
 from tryton.gui.window.win_form import WinForm
 from tryton.common.popup_menu import populate
 from tryton.common.completion import get_completion, update_completion
-from tryton.common.entry_position import manage_entry_position
+from tryton.common.entry_position import reset_position
 from tryton.common.domain_parser import quote
 from tryton.config import CONFIG
 
@@ -35,7 +35,6 @@ class Many2One(Widget):
         self.wid_text.connect('focus-out-event',
             lambda x, y: self._focus_out())
         self.wid_text.connect('changed', self.sig_changed)
-        manage_entry_position(self.wid_text)
         self.changed = True
         self.focus_out = True
 
@@ -128,7 +127,7 @@ class Many2One(Widget):
                         self.field.set_client(self.record,
                             self.value_from_id(*result[0]), force_change=True)
                     else:
-                        self.wid_text.set_text('')
+                        self.set_text('')
                     self.focus_out = True
                     self.changed = True
 
@@ -238,7 +237,7 @@ class Many2One(Widget):
                 and editable
                 and event.keyval in (gtk.keysyms.Delete,
                     gtk.keysyms.BackSpace)):
-            self.wid_text.set_text('')
+            self.set_text('')
         return False
 
     def sig_changed(self, *args):
@@ -257,7 +256,7 @@ class Many2One(Widget):
                 # in such case, the original text should not be restored
                 if not self.wid_text.get_text():
                     # Restore text and position after display
-                    self.wid_text.set_text(text)
+                    self.set_text(text)
                     self.wid_text.set_position(position)
             gobject.idle_add(clean)
         return False
@@ -268,13 +267,13 @@ class Many2One(Widget):
     def set_value(self, record, field):
         if field.get_client(record) != self.wid_text.get_text():
             field.set_client(record, self.value_from_id(None, ''))
-            self.wid_text.set_text('')
+            self.set_text('')
 
     def set_text(self, value):
         if not value:
             value = ''
         self.wid_text.set_text(value)
-        self.wid_text.set_position(len(value))
+        reset_position(self.wid_text)
 
     def display(self, record, field):
         self.changed = False
@@ -284,8 +283,7 @@ class Many2One(Widget):
         self._set_completion()
 
         if not field:
-            self.wid_text.set_text('')
-            self.wid_text.set_position(0)
+            self.set_text('')
             self.changed = True
             return False
         self.set_text(field.get_client(record))
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 b6033cc..aa6edf0 100644
--- a/tryton/gui/window/view_form/view/form_gtk/reference.py
+++ b/tryton/gui/window/view_form/view/form_gtk/reference.py
@@ -96,7 +96,6 @@ class Reference(Many2One, SelectionMixin, PopdownMixin):
         if not self.changed:
             return
         self.wid_text.set_text('')
-        self.wid_text.set_position(0)
         model = self.get_model()
         if model:
             value = (model, (-1, ''))
@@ -120,7 +119,7 @@ class Reference(Many2One, SelectionMixin, PopdownMixin):
             if (model != self.get_model()
                     or name != self.wid_text.get_text()):
                 field.set_client(record, None)
-                self.wid_text.set_text('')
+                self.set_text('')
 
     def set_text(self, value):
         if value:
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 279425a..fc5e859 100644
--- a/tryton/gui/window/view_form/view/form_gtk/timedelta.py
+++ b/tryton/gui/window/view_form/view/form_gtk/timedelta.py
@@ -3,6 +3,7 @@
 import gtk
 
 from tryton.config import CONFIG
+from tryton.common.entry_position import reset_position
 from .widget import Widget
 
 
@@ -42,6 +43,7 @@ class TimeDelta(Widget):
         else:
             value = field.get_client(record)
         self.entry.set_text(value)
+        reset_position(self.entry)
 
     def _readonly_set(self, value):
         super(TimeDelta, self)._readonly_set(value)
diff --git a/tryton/gui/window/view_form/view/graph_gtk/bar.py b/tryton/gui/window/view_form/view/graph_gtk/bar.py
index 65e0b46..04e990f 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/bar.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/bar.py
@@ -22,7 +22,7 @@ class Bar(Graph):
     def drawGraph(self, cr, width, height):
 
         def drawBar(bar):
-            cr.set_line_width(1.0)
+            cr.set_line_width(0.5)
 
             x = self.area.w * bar.x + self.area.x
             y = self.area.h * bar.y + self.area.y
@@ -32,11 +32,6 @@ class Bar(Graph):
             if w < 1 or h < 1:
                 return  # don't draw too small
 
-            cr.set_source_rgba(0, 0, 0, 0.15)
-            rectangle = self._getShadowRectangle(x, y, w, h)
-            self.drawRectangle(cr, *rectangle)
-            cr.fill()
-
             self.drawRectangle(cr, x, y, w, h)
             r, g, b = self.colorScheme[bar.yname]
             if bar.highlight:
@@ -51,12 +46,13 @@ class Bar(Graph):
         cr.restore()
 
     def drawRectangle(self, cr, x, y, w, h):
-        cr.arc(x + 5, y + 5, 5, 0, 2 * math.pi)
-        cr.arc(x + w - 5, y + 5, 5, 0, 2 * math.pi)
-        cr.arc(x + w - 5, y + h - 5, 5, 0, 2 * math.pi)
-        cr.arc(x + 5, y + h - 5, 5, 0, 2 * math.pi)
-        cr.rectangle(x + 5, y, w - 10, h)
-        cr.rectangle(x, y + 5, w, h - 10)
+        radius = 2.5
+        cr.arc(x + radius, y + radius, radius, 0, 2 * math.pi)
+        cr.arc(x + w - radius, y + radius, radius, 0, 2 * math.pi)
+        cr.arc(x + w - radius, y + h - radius, radius, 0, 2 * math.pi)
+        cr.arc(x + radius, y + h - radius, radius, 0, 2 * math.pi)
+        cr.rectangle(x + radius, y, w - radius * 2, h)
+        cr.rectangle(x, y + radius, w, h - radius * 2)
 
     def sourceRectangle(self, x, y, w, h, r, g, b):
         linear = cairo.LinearGradient((x + w) / 2, y, (x + w) / 2, y + h)
@@ -191,9 +187,6 @@ class VerticalBar(Bar):
                 for x in ylabels]
         return ylabels
 
-    def _getShadowRectangle(self, x, y, w, h):
-        return (x - 2, y - 2, w + 4, h + 2)
-
 
 class HorizontalBar(Bar):
     'Horizontal Bar Graph'
@@ -250,9 +243,6 @@ class HorizontalBar(Bar):
                 for x in ylabels]
         return [(x[0], x[1]) for x in ylabels]
 
-    def _getShadowRectangle(self, x, y, w, h):
-        return (x, y - 2, w + 2, h + 4)
-
     def _getLegendPosition(self, width, height):
         return self.area.x + self.area.w * 0.95 - width, \
             self.area.y + self.area.h * 0.05
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 67d7c10..5d21276 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/graph.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/graph.py
@@ -203,7 +203,7 @@ class Graph(gtk.DrawingArea):
 
     def drawAxis(self, cr, width, height):
         cr.set_source_rgb(*hex2rgb('#000000'))
-        cr.set_line_width(1.5)
+        cr.set_line_width(0.5)
 
         # Y axis
         def drawYLabel(h, label):
@@ -272,9 +272,10 @@ class Graph(gtk.DrawingArea):
             x2 = x1 + self.area.w
 
         cr.save()
-        cr.set_source_rgb(*hex2rgb('#808080'))
-        cr.set_line_width(1.5)
+        cr.set_source_rgb(*hex2rgb('#A0A0A0'))
+        cr.set_line_width(0.3)
         cr.new_path()
+        cr.set_dash([5.0, 4.0])
         cr.move_to(x1, y1)
         cr.line_to(x2, y2)
         cr.close_path()
@@ -307,7 +308,7 @@ class Graph(gtk.DrawingArea):
         cr.rectangle(pos_x, pos_y, width, height)
         cr.set_source_rgba(1, 1, 1, 0.8)
         cr.fill_preserve()
-        cr.set_line_width(2)
+        cr.set_line_width(0.5)
         cr.set_source_rgb(*hex2rgb('#000000'))
         cr.stroke()
 
@@ -321,7 +322,7 @@ class Graph(gtk.DrawingArea):
                     y + bullet / 2.0 + text_height / 2.0)
             cr.show_text(keys2txt[key])
 
-        cr.set_line_width(1)
+        cr.set_line_width(0.5)
         x = pos_x + padding
         y = pos_y + padding
         for key in keys:
diff --git a/tryton/gui/window/view_form/view/graph_gtk/line.py b/tryton/gui/window/view_form/view/graph_gtk/line.py
index 18509b7..dc3842f 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/line.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/line.py
@@ -103,29 +103,36 @@ class Line(Graph):
 
         cr.save()
         cr.set_line_width(2)
-        for key in self._getDatasKeys():
-            if key2fill[key]:
-                cr.save()
-                cr.set_source_rgba(0, 0, 0, 0.15)
-                cr.translate(2, -2)
-                preparePath(key)
-                cr.fill()
-                cr.restore()
-
-                r, g, b = self.colorScheme[key]
-                linear = cairo.LinearGradient(width / 2, 0, width / 2, height)
-                linear.add_color_stop_rgb(0,
-                        3.5 * r / 5.0, 3.5 * g / 5.0, 3.5 * b / 5.0)
-                linear.add_color_stop_rgb(1, r, g, b)
-                cr.set_source(linear)
-                preparePath(key)
-                cr.fill()
-            else:
-                preparePath(key)
+
+        if self._getDatasKeys():
+            transparency = 0.8 / len(self._getDatasKeys())
+            for key in self._getDatasKeys():
+                if key2fill[key]:
+                    cr.save()
+
+                    r, g, b = self.colorScheme[key]
+                    preparePath(key)
+                    cr.set_source_rgb(r, g, b)
+                    cr.stroke_preserve()
+                    cr.restore()
+
+                    # Add soft transparency the area when line is filled
+                    cr.set_source_rgba(r, g, b, transparency)
+                    cr.fill()
+
+                    # Add gradient top to bottom
+                    linear = cairo.LinearGradient(
+                        width / 2, 0, width / 2, height)
+                    linear.add_color_stop_rgba(
+                        0, r * 0.65, g * 0.65, b * 0.65, transparency)
+                    linear.add_color_stop_rgba(1, r, g, b, 0.1)
+                    cr.set_source(linear)
+                    preparePath(key)
+                    cr.fill()
+                else:
+                    preparePath(key)
 
         for point in self.points:
-            if key2fill[point.yname]:
-                continue
             cr.set_source_rgb(*self.colorScheme[point.yname])
             cr.move_to(point.x * self.area.w + self.area.x,
                     point.y * self.area.h + self.area.y)
diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py
index c70a992..7b661b2 100644
--- a/tryton/gui/window/view_form/view/list.py
+++ b/tryton/gui/window/view_form/view/list.py
@@ -289,7 +289,9 @@ class ViewTree(View):
         self.parse(xml)
 
         self.treeview.set_property('rules-hint', True)
-        self.treeview.set_fixed_height_mode(True)
+        self.treeview.set_fixed_height_mode(
+            all(c.get_sizing() == gtk.TREE_VIEW_COLUMN_FIXED
+                for c in self.treeview.get_columns()))
         self.treeview.connect('button-press-event', self.__button_press)
         self.treeview.connect('key-press-event', self.on_keypress)
         self.treeview.connect_after('row-activated', self.__sig_switch)
@@ -520,7 +522,8 @@ class ViewTree(View):
         expand = attributes.get('expand', False)
         column.set_expand(expand)
         column.set_resizable(True)
-        column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
+        if field and field.attrs['type'] != 'text':
+            column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
 
     def get_column_widget(self, column):
         'Return the widget of the column'
@@ -637,12 +640,15 @@ class ViewTree(View):
             if isinstance(b.renderer, CellRendererButton)]
 
     def on_keypress(self, widget, event):
+        control_mask = gtk.gdk.CONTROL_MASK
+        if sys.platform == 'darwin':
+            control_mask = gtk.gdk.MOD2_MASK
         if (event.keyval == gtk.keysyms.c
-                and event.state & gtk.gdk.CONTROL_MASK):
+                and event.state & control_mask):
             self.on_copy()
             return False
         if (event.keyval == gtk.keysyms.v
-                and event.state & gtk.gdk.CONTROL_MASK):
+                and event.state & control_mask):
             self.on_paste()
             return False
 
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 1e3531c..b8afc05 100644
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
@@ -35,14 +35,15 @@ class TreeView(gtk.TreeView):
             field = record[column.name]
             field.state_set(record, states=('readonly', 'invisible'))
             invisible = field.get_state_attrs(record).get('invisible', False)
+            if not column.get_visible():
+                invisible = True
             if editable:
                 readonly = widget.attrs.get('readonly',
                     field.get_state_attrs(record).get('readonly', False))
             else:
                 readonly = False
             if not (invisible or readonly):
-                break
-        return column
+                return column
 
     def prev_column(self, path, column=None, editable=True):
         return self.next_column(path, column=column, editable=editable,
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 e53c42c..0f15382 100644
--- a/tryton/gui/window/view_form/view/list_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/list_gtk/widget.py
@@ -178,6 +178,7 @@ class GenericText(Cell):
         if not isinstance(self.renderer, CellRendererBinary):
             self.renderer.connect_after('editing-started', send_keys,
                 view.treeview)
+        self.renderer.set_property('yalign', 0)
         self.view = view
 
     @property
@@ -413,11 +414,10 @@ class Binary(GenericText):
         if renderer is None:
             renderer = partial(CellRendererBinary, bool(self.filename))
         super(Binary, self).__init__(view, attrs, renderer=renderer)
-        self.renderer.connect('new', self.new_binary)
+        self.renderer.connect('select', self.select_binary)
         self.renderer.connect('open', self.open_binary)
         self.renderer.connect('save', self.save_binary)
         self.renderer.connect('clear', self.clear_binary)
-        self.last_open_file = None
 
     def get_textual_value(self, record):
         pass
@@ -452,14 +452,10 @@ class Binary(GenericText):
                 readonly = True
             cell.set_property('editable', not readonly)
 
-    def new_binary(self, renderer, path):
+    def select_binary(self, renderer, path):
         record, field = self._get_record_field(path)
         filename = ''
-        if self.last_open_file:
-            last_id, last_filename = self.last_open_file
-            if last_id == record.id:
-                filename = last_filename
-        filename = file_selection(_('Open...'), filename=filename)
+        filename = file_selection(_('Open...'))
         if filename:
             field.set_client(record, open(filename, 'rb').read())
             if self.filename:
@@ -487,7 +483,6 @@ class Binary(GenericText):
         if type_:
             type_ = type_[1:]
         file_open(file_path, type_)
-        self.last_open_file = (record.id, file_path)
 
     def save_binary(self, renderer, path):
         filename = ''
@@ -590,7 +585,8 @@ class M2O(GenericText):
                 context=context, callback=callback).show()
             return
         screen = Screen(relation, domain=domain, context=context,
-            mode=['form'])
+            mode=['form'], view_ids=self.attrs.get('view_ids', '').split(','),
+            exclude_field=field.attrs.get('relation_field'))
 
         def open_callback(result):
             if result:
@@ -620,7 +616,9 @@ class M2O(GenericText):
             if callback:
                 callback()
         win = WinSearch(relation, search_callback, sel_multi=False,
-            context=context, domain=domain, new=create_access)
+            context=context, domain=domain,
+            view_ids=self.attrs.get('view_ids', '').split(','),
+            new=create_access)
         win.screen.search_filter(quote(text.decode('utf-8')))
         return win
 
@@ -714,6 +712,7 @@ class O2M(GenericText):
             return
 
         screen = Screen(relation, mode=['tree', 'form'],
+            view_ids=self.attrs.get('view_ids', '').split(','),
             exclude_field=field.attrs.get('relation_field'))
         screen.pre_validate = bool(int(self.attrs.get('pre_validate', 0)))
         screen.group = group
@@ -735,6 +734,7 @@ class M2M(O2M):
         domain = field.domain_get(record)
 
         screen = Screen(relation, mode=['tree', 'form'],
+            view_ids=self.attrs.get('view_ids', '').split(','),
             exclude_field=field.attrs.get('relation_field'))
         screen.group = group
 
@@ -837,6 +837,7 @@ class ProgressBar(object):
         orientation = self.orientations.get(self.attrs.get('orientation',
             'left_to_right'), gtk.PROGRESS_LEFT_TO_RIGHT)
         self.renderer.set_property('orientation', orientation)
+        self.renderer.set_property('yalign', 0)
 
     @realized
     @CellCache.cache
@@ -876,6 +877,7 @@ class Button(object):
         self.view = view
 
         self.renderer.connect('clicked', self.button_clicked)
+        self.renderer.set_property('yalign', 0)
 
     @realized
     @CellCache.cache
@@ -907,4 +909,8 @@ class Button(object):
         if state_changes.get('invisible') \
                 or state_changes.get('readonly'):
             return True
-        self.view.screen.button(self.attrs)
+        widget.handler_block_by_func(self.button_clicked)
+        try:
+            self.view.screen.button(self.attrs)
+        finally:
+            widget.handler_unblock_by_func(self.button_clicked)
diff --git a/tryton/gui/window/view_form/view/screen_container.py b/tryton/gui/window/view_form/view/screen_container.py
index abe62b1..6ad6a60 100644
--- a/tryton/gui/window/view_form/view/screen_container.py
+++ b/tryton/gui/window/view_form/view/screen_container.py
@@ -480,6 +480,7 @@ class ScreenContainer(object):
             self.search_window.set_icon(TRYTON_ICON)
             self.search_window.set_decorated(False)
             self.search_window.set_deletable(False)
+            self.search_window.connect('delete-event', lambda *a: True)
             self.search_window.connect('key-press-event', key_press)
             vbox = gtk.VBox()
             fields = [f for f in self.screen.domain_parser.fields.itervalues()
@@ -570,7 +571,9 @@ class ScreenContainer(object):
 
         # Move the window under the button
         x, y = button.window.get_origin()
-        self.search_window.move(x, y + button_allocation.height)
+        self.search_window.move(
+            x + button_allocation.x,
+            y + button_allocation.y + button_allocation.height)
 
         from tryton.gui.main import Main
         page = Main.get_main().get_page()
diff --git a/tryton/gui/window/win_csv.py b/tryton/gui/window/win_csv.py
new file mode 100644
index 0000000..42c7354
--- /dev/null
+++ b/tryton/gui/window/win_csv.py
@@ -0,0 +1,309 @@
+# 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 locale
+import os
+import sys
+
+import gtk
+import gobject
+import gettext
+
+from tryton.common import center_window
+from tryton.config import TRYTON_ICON
+from tryton.gui.window.nomodal import NoModal
+
+_ = gettext.gettext
+
+encodings = ["ascii", "big5", "big5hkscs", "cp037", "cp424", "cp437", "cp500",
+    "cp720", "cp737", "cp775", "cp850", "cp852", "cp855", "cp856", "cp857",
+    "cp858", "cp860", "cp861", "cp862", "cp863", "cp864", "cp865", "cp866",
+    "cp869", "cp874", "cp875", "cp932", "cp949", "cp950", "cp1006", "cp1026",
+    "cp1140", "cp1250", "cp1251", "cp1252", "cp1253", "cp1254", "cp1255",
+    "cp1256", "cp1257", "cp1258", "euc_jp", "euc_jis_2004", "euc_jisx0213",
+    "euc_kr", "gb2312", "gbk", "gb18030", "hz", "iso2022_jp", "iso2022_jp_1",
+    "iso2022_jp_2", "iso2022_jp_2004", "iso2022_jp_3", "iso2022_jp_ext",
+    "iso2022_kr", "latin_1", "iso8859_2", "iso8859_3", "iso8859_4",
+    "iso8859_5", "iso8859_6", "iso8859_7", "iso8859_8", "iso8859_9",
+    "iso8859_10", "iso8859_13", "iso8859_14", "iso8859_15", "iso8859_16",
+    "johab", "koi8_r", "koi8_u", "mac_cyrillic", "mac_greek", "mac_iceland",
+    "mac_latin2", "mac_roman", "mac_turkish", "ptcp154", "shift_jis",
+    "shift_jis_2004", "shift_jisx0213", "utf_32", "utf_32_be", "utf_32_le",
+    "utf_16", "utf_16_be", "utf_16_le", "utf_7", "utf_8", "utf_8_sig"]
+
+
+class WinCSV(NoModal):
+    def __init__(self, *args, **kwargs):
+        super(WinCSV, self).__init__(*args, **kwargs)
+
+        self.dialog = gtk.Dialog(
+            parent=self.parent, flags=gtk.DIALOG_DESTROY_WITH_PARENT)
+        self.dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
+        self.dialog.set_icon(TRYTON_ICON)
+        self.dialog.connect('response', self.response)
+
+        dialog_vbox = gtk.VBox()
+
+        self.add_header(dialog_vbox)
+
+        hbox_mapping = gtk.HBox(True)
+        dialog_vbox.pack_start(hbox_mapping, True, True, 0)
+
+        frame_fields = gtk.Frame()
+        frame_fields.set_shadow_type(gtk.SHADOW_NONE)
+        viewport_fields = gtk.Viewport()
+        scrolledwindow_fields = gtk.ScrolledWindow()
+        scrolledwindow_fields.set_policy(gtk.POLICY_AUTOMATIC,
+                gtk.POLICY_AUTOMATIC)
+        viewport_fields.add(scrolledwindow_fields)
+        frame_fields.add(viewport_fields)
+        label_all_fields = gtk.Label(_('<b>All fields</b>'))
+        label_all_fields.set_use_markup(True)
+        frame_fields.set_label_widget(label_all_fields)
+        hbox_mapping.pack_start(frame_fields, True, True, 0)
+
+        vbox_buttons = gtk.VBox(False, 10)
+        vbox_buttons.set_border_width(5)
+        hbox_mapping.pack_start(vbox_buttons, False, True, 0)
+
+        button_add = gtk.Button(_('_Add'), stock=None, use_underline=True)
+        button_add.set_alignment(0.0, 0.0)
+        img_button = gtk.Image()
+        img_button.set_from_stock('tryton-list-add', gtk.ICON_SIZE_BUTTON)
+        button_add.set_image(img_button)
+        button_add.connect_after('clicked', self.sig_sel)
+        vbox_buttons.pack_start(button_add, False, False, 0)
+
+        button_remove = gtk.Button(
+            _('_Remove'), stock=None, use_underline=True)
+        button_remove.set_alignment(0.0, 0.0)
+        img_button = gtk.Image()
+        img_button.set_from_stock('tryton-list-remove', gtk.ICON_SIZE_BUTTON)
+        button_remove.set_image(img_button)
+        button_remove.connect_after('clicked', self.sig_unsel)
+        vbox_buttons.pack_start(button_remove, False, False, 0)
+
+        button_remove_all = gtk.Button(
+            _('_Clear'), stock=None, use_underline=True)
+        button_remove_all.set_alignment(0.0, 0.0)
+        img_button = gtk.Image()
+        img_button.set_from_stock('tryton-clear', gtk.ICON_SIZE_BUTTON)
+        button_remove_all.set_image(img_button)
+        button_remove_all.connect_after('clicked', self.sig_unsel_all)
+        vbox_buttons.pack_start(button_remove_all, False, False, 0)
+
+        hseparator_buttons = gtk.HSeparator()
+        vbox_buttons.pack_start(hseparator_buttons, False, False, 3)
+
+        self.add_buttons(vbox_buttons)
+
+        frame_fields_selected = gtk.Frame()
+        frame_fields_selected.set_shadow_type(gtk.SHADOW_NONE)
+        viewport_fields_selected = gtk.Viewport()
+        scrolledwindow_fields_selected = gtk.ScrolledWindow()
+        scrolledwindow_fields_selected.set_policy(
+            gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+        viewport_fields_selected.add(scrolledwindow_fields_selected)
+        frame_fields_selected.add(viewport_fields_selected)
+        label_fields_selected = gtk.Label(_('<b>Fields selected</b>'))
+        label_fields_selected .set_use_markup(True)
+        frame_fields_selected.set_label_widget(label_fields_selected)
+        hbox_mapping.pack_start(frame_fields_selected, True, True, 0)
+
+        frame_csv_param = gtk.Frame(None)
+        frame_csv_param.set_shadow_type(gtk.SHADOW_ETCHED_OUT)
+        dialog_vbox.pack_start(frame_csv_param, False, True, 0)
+        alignment_csv_param = gtk.Alignment(0.5, 0.5, 1, 1)
+        alignment_csv_param.set_padding(7, 7, 7, 7)
+        frame_csv_param.add(alignment_csv_param)
+
+        vbox_csv_param = gtk.VBox()
+        alignment_csv_param.add(vbox_csv_param)
+
+        self.add_chooser(vbox_csv_param)
+
+        expander_csv = gtk.Expander(None)
+        vbox_csv_param.pack_start(expander_csv, False, True, 0)
+        label_csv_param = gtk.Label(_('CSV Parameters'))
+        expander_csv.set_label_widget(label_csv_param)
+        table = gtk.Table(2, 4, False)
+        table.set_border_width(8)
+        table.set_row_spacings(9)
+        table.set_col_spacings(8)
+        expander_csv.add(table)
+
+        label_csv_delimiter = gtk.Label(_('Delimiter:'))
+        label_csv_delimiter.set_alignment(1, 0.5)
+        table.attach(label_csv_delimiter, 0, 1, 0, 1)
+        self.csv_delimiter = gtk.Entry()
+        self.csv_delimiter.set_max_length(1)
+        if os.name == 'nt' and ',' == locale.localeconv()['decimal_point']:
+            delimiter = ';'
+        else:
+            delimiter = ','
+        self.csv_delimiter.set_text(delimiter)
+        self.csv_delimiter.set_width_chars(1)
+        label_csv_delimiter.set_mnemonic_widget(self.csv_delimiter)
+        table.attach(self.csv_delimiter, 1, 2, 0, 1)
+
+        label_csv_quotechar = gtk.Label(_("Quote char:"))
+        label_csv_quotechar.set_alignment(1, 0.5)
+        table.attach(label_csv_quotechar, 2, 3, 0, 1)
+        self.csv_quotechar = gtk.Entry()
+        self.csv_quotechar.set_text("\"")
+        self.csv_quotechar.set_width_chars(1)
+        label_csv_quotechar.set_mnemonic_widget(self.csv_quotechar)
+        table.attach(self.csv_quotechar, 3, 4, 0, 1)
+
+        label_csv_enc = gtk.Label(_("Encoding:"))
+        label_csv_enc.set_alignment(1, 0.5)
+        table.attach(label_csv_enc, 0, 1, 1, 2)
+        self.csv_enc = gtk.combo_box_new_text()
+        for i, encoding in enumerate(encodings):
+            self.csv_enc.append_text(encoding)
+            if ((os.name == 'nt' and encoding == 'cp1252')
+                    or (os.name != 'nt' and encoding == 'utf_8')):
+                self.csv_enc.set_active(i)
+        label_csv_enc.set_mnemonic_widget(self.csv_enc)
+        table.attach(self.csv_enc, 1, 2, 1, 2)
+
+        self.add_csv_header_param(table)
+
+        button_cancel = gtk.Button("gtk-cancel", stock="gtk-cancel")
+        self.dialog.add_action_widget(button_cancel, gtk.RESPONSE_CANCEL)
+        button_cancel.set_flags(gtk.CAN_DEFAULT)
+
+        button_ok = gtk.Button("gtk-ok", stock="gtk-ok")
+        self.dialog.add_action_widget(button_ok, gtk.RESPONSE_OK)
+        button_ok.set_flags(gtk.CAN_DEFAULT)
+
+        self.dialog.vbox.pack_start(dialog_vbox)
+
+        self.view1 = gtk.TreeView()
+        self.view1.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
+        self.view1.connect('row-expanded', self.on_row_expanded)
+        scrolledwindow_fields.add(self.view1)
+        self.view2 = gtk.TreeView()
+        self.view2.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
+        scrolledwindow_fields_selected.add(self.view2)
+        self.view1.set_headers_visible(False)
+        self.view2.set_headers_visible(False)
+
+        cell = gtk.CellRendererText()
+        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)
+        self.model2 = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
+
+        self.model_populate(self._get_fields(self.model))
+
+        self.view1.set_model(self.model1)
+        self.view1.connect('row-activated', self.sig_sel)
+        self.view2.set_model(self.model2)
+        self.view2.connect('row-activated', self.sig_unsel)
+
+        sensible_allocation = self.sensible_widget.get_allocation()
+        self.dialog.set_default_size(
+            int(sensible_allocation.width * 0.9),
+            int(sensible_allocation.height * 0.9))
+        self.dialog.show_all()
+        center_window(self.dialog, self.parent, self.sensible_widget)
+
+        self.register()
+
+        if sys.platform != 'darwin':
+            self.view2.drag_source_set(
+                gtk.gdk.BUTTON1_MASK | gtk.gdk.BUTTON3_MASK,
+                [('EXPORT_TREE', gtk.TARGET_SAME_WIDGET, 0)],
+                gtk.gdk.ACTION_MOVE)
+            self.view2.drag_dest_set(gtk.DEST_DEFAULT_ALL,
+                [('EXPORT_TREE', gtk.TARGET_SAME_WIDGET, 0)],
+                gtk.gdk.ACTION_MOVE)
+            self.view2.connect('drag-begin', self.drag_begin)
+            self.view2.connect('drag-motion', self.drag_motion)
+            self.view2.connect('drag-drop', self.drag_drop)
+            self.view2.connect("drag-data-get", self.drag_data_get)
+            self.view2.connect('drag-data-received', self.drag_data_received)
+            self.view2.connect('drag-data-delete', self.drag_data_delete)
+
+    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)
+        context.drag_status(gtk.gdk.ACTION_MOVE, time)
+        return True
+
+    def drag_drop(self, treeview, context, x, y, time):
+        treeview.emit_stop_by_name('drag-drop')
+        return True
+
+    def drag_data_get(self, treeview, context, selection, target_id,
+            etime):
+        treeview.emit_stop_by_name('drag-data-get')
+
+        def _func_sel_get(store, path, iter_, data):
+            data.append(path[0])
+        data = []
+        treeselection = treeview.get_selection()
+        treeselection.selected_foreach(_func_sel_get, data)
+        if not data:
+            return
+        selection.set('STRING', 8, ','.join(str(x) for x in data))
+        return True
+
+    def drag_data_received(self, treeview, context, x, y, selection,
+            info, etime):
+        treeview.emit_stop_by_name('drag-data-received')
+        if not selection.data:
+            return
+        store = treeview.get_model()
+
+        data_iters = [store.get_iter((int(i),))
+            for i in selection.data.split(',')]
+        drop_info = treeview.get_dest_row_at_pos(x, y)
+        if drop_info:
+            path, position = drop_info
+            pos = store.get_iter(path)
+        else:
+            pos = store.get_iter((len(store) - 1,))
+            position = gtk.TREE_VIEW_DROP_AFTER
+        if position == gtk.TREE_VIEW_DROP_AFTER:
+            data_iters = reversed(data_iters)
+        for item in data_iters:
+            if position == gtk.TREE_VIEW_DROP_BEFORE:
+                store.move_before(item, pos)
+            else:
+                store.move_after(item, pos)
+        context.drop_finish(False, etime)
+        return True
+
+    def drag_data_delete(self, treeview, context):
+        treeview.emit_stop_by_name('drag-data-delete')
+
+    def get_delimiter(self):
+        return self.csv_delimiter.get_text() or ','
+
+    def get_quotechar(self):
+        return self.csv_quotechar.get_text() or '"'
+
+    def get_encoding(self):
+        return self.csv_enc.get_active_text() or 'utf_8'
+
+    def destroy(self):
+        super(WinCSV, self).destroy()
+        self.dialog.destroy()
+
+    def show(self):
+        self.dialog.show()
+
+    def hide(self):
+        self.dialog.hide()
diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py
index 5ecdbd5..6c0f618 100644
--- a/tryton/gui/window/win_export.py
+++ b/tryton/gui/window/win_export.py
@@ -1,38 +1,37 @@
 # 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 csv
+import os
+import tempfile
+import types
+
 import gtk
 import gobject
 import gettext
+
 import tryton.common as common
-import types
-from tryton.config import TRYTON_ICON
-import csv
-import tempfile
-import os
 from tryton.common import RPCExecute, RPCException
-from tryton.gui.window.nomodal import NoModal
+from tryton.gui.window.win_csv import WinCSV
 
 _ = gettext.gettext
 
 
-class WinExport(NoModal):
+class WinExport(WinCSV):
     "Window export"
 
     def __init__(self, model, ids, context=None):
+        self.ids = ids
+        self.model = model
+        self.context = context
+        self.fields = {}
         super(WinExport, self).__init__()
+        self.dialog.set_title(_('Export to CSV'))
 
-        self.dialog = gtk.Dialog(title=_("Export to CSV"), parent=self.parent,
-            flags=gtk.DIALOG_DESTROY_WITH_PARENT)
-        self.dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
-        self.dialog.set_icon(TRYTON_ICON)
-        self.dialog.connect('response', self.response)
-
-        vbox = gtk.VBox()
+    def add_header(self, box):
         frame_predef_exports = gtk.Frame()
         frame_predef_exports.set_border_width(2)
         frame_predef_exports.set_shadow_type(gtk.SHADOW_NONE)
-        vbox.pack_start(frame_predef_exports, True, True, 0)
+        box.pack_start(frame_predef_exports, True, True, 0)
         viewport_exports = gtk.Viewport()
         scrolledwindow_exports = gtk.ScrolledWindow()
         scrolledwindow_exports.set_policy(gtk.POLICY_AUTOMATIC,
@@ -43,196 +42,51 @@ class WinExport(NoModal):
         viewport_exports.add(scrolledwindow_exports)
         frame_predef_exports.add(viewport_exports)
 
-        hbox = gtk.HBox(True)
-        vbox.pack_start(hbox, True, True, 0)
-
-        frame_all_fields = gtk.Frame()
-        frame_all_fields.set_shadow_type(gtk.SHADOW_NONE)
-        hbox.pack_start(frame_all_fields, True, True, 0)
-        label_all_fields = gtk.Label(_("<b>All fields</b>"))
-        label_all_fields.set_use_markup(True)
-        frame_all_fields.set_label_widget(label_all_fields)
-        viewport_all_fields = gtk.Viewport()
-        scrolledwindow_all_fields = gtk.ScrolledWindow()
-        scrolledwindow_all_fields.set_policy(gtk.POLICY_AUTOMATIC,
-                gtk.POLICY_AUTOMATIC)
-        viewport_all_fields.add(scrolledwindow_all_fields)
-        frame_all_fields.add(viewport_all_fields)
-
-        vbox_buttons = gtk.VBox(False, 10)
-        vbox_buttons.set_border_width(5)
-        hbox.pack_start(vbox_buttons, False, True, 0)
-
-        button_select = gtk.Button(_("_Add"), stock=None, use_underline=True)
-        button_select.set_alignment(0.0, 0.0)
-        img_button = gtk.Image()
-        img_button.set_from_stock('tryton-list-add', gtk.ICON_SIZE_BUTTON)
-        button_select.set_image(img_button)
-        button_select.connect_after('clicked', self.sig_sel)
-        vbox_buttons.pack_start(button_select, False, False, 0)
-
-        button_unselect = gtk.Button(_("_Remove"), stock=None,
-                use_underline=True)
-        button_unselect.set_alignment(0.0, 0.0)
-        img_button = gtk.Image()
-        img_button.set_from_stock('tryton-list-remove', gtk.ICON_SIZE_BUTTON)
-        button_unselect.set_image(img_button)
-        button_unselect.connect_after('clicked', self.sig_unsel)
-        vbox_buttons.pack_start(button_unselect, False, False, 0)
-
-        button_unselect_all = gtk.Button(_("Clear"), stock=None,
-                use_underline=True)
-        button_unselect_all.set_alignment(0.0, 0.0)
-        img_button = gtk.Image()
-        img_button.set_from_stock('tryton-clear', gtk.ICON_SIZE_BUTTON)
-        button_unselect_all.set_image(img_button)
-        button_unselect_all.connect_after('clicked', self.sig_unsel_all)
-        vbox_buttons.pack_start(button_unselect_all, False, False, 0)
-
-        hseparator_buttons = gtk.HSeparator()
-        vbox_buttons.pack_start(hseparator_buttons, False, True, 0)
-
-        button_save_export = gtk.Button(_("Save Export"), stock=None,
-                use_underline=True)
-        button_save_export.set_alignment(0.0, 0.0)
-        img_button = gtk.Image()
-        img_button.set_from_stock('tryton-save', gtk.ICON_SIZE_BUTTON)
-        button_save_export.set_image(img_button)
-        button_save_export.connect_after('clicked', self.addreplace_predef)
-        vbox_buttons.pack_start(button_save_export, False, False, 0)
-
-        button_del_export = gtk.Button(_("Delete Export"), stock=None,
-                use_underline=True)
-        button_del_export.set_alignment(0.0, 0.0)
-        img_button = gtk.Image()
-        img_button.set_from_stock('tryton-delete', gtk.ICON_SIZE_BUTTON)
-        button_del_export.set_image(img_button)
-        button_del_export.connect_after('clicked', self.remove_predef)
-        vbox_buttons.pack_start(button_del_export, False, False, 0)
-
-        frame_export = gtk.Frame()
-        frame_export.set_shadow_type(gtk.SHADOW_NONE)
-        label_export = gtk.Label(_("<b>Fields to export</b>"))
-        label_export.set_use_markup(True)
-        frame_export.set_label_widget(label_export)
-
-        alignment_export = gtk.Alignment(0.5, 0.5, 1, 1)
-        alignment_export.set_padding(0, 0, 12, 0)
-        frame_export.add(alignment_export)
-        viewport_fields_to_export = gtk.Viewport()
-        scrolledwindow_export = gtk.ScrolledWindow()
-        scrolledwindow_export.set_policy(gtk.POLICY_AUTOMATIC,
-                gtk.POLICY_AUTOMATIC)
-        viewport_fields_to_export.add(scrolledwindow_export)
-        alignment_export.add(viewport_fields_to_export)
-        hbox.pack_start(frame_export, True, True, 0)
-
-        frame_options = gtk.Frame()
-        frame_options.set_border_width(2)
-        label_options = gtk.Label(_("<b>Options</b>"))
-        label_options.set_use_markup(True)
-        frame_options.set_label_widget(label_options)
-        vbox.pack_start(frame_options, False, True, 5)
-        hbox_options = gtk.HBox(False, 2)
-        frame_options.add(hbox_options)
-        hbox_options.set_border_width(2)
-
-        combo_saveas = gtk.combo_box_new_text()
-        hbox_options.pack_start(combo_saveas, True, True, 0)
-        combo_saveas.append_text(_("Open"))
-        combo_saveas.append_text(_("Save"))
-        vseparator_options = gtk.VSeparator()
-        hbox_options.pack_start(vseparator_options, False, False, 10)
-
-        checkbox_add_field_names = gtk.CheckButton(_("Add _field names"))
-        checkbox_add_field_names.set_active(True)
-        hbox_options.pack_start(checkbox_add_field_names, False, False, 0)
-
-        button_cancel = gtk.Button("gtk-cancel", stock="gtk-cancel")
-        self.dialog.add_action_widget(button_cancel, gtk.RESPONSE_CANCEL)
-        button_cancel.set_flags(gtk.CAN_DEFAULT)
-
-        button_ok = gtk.Button("gtk-ok", stock="gtk-ok")
-        self.dialog.add_action_widget(button_ok, gtk.RESPONSE_OK)
-        button_ok.set_flags(gtk.CAN_DEFAULT)
-
-        self.dialog.vbox.pack_start(vbox)
-
-        self.ids = ids
-        self.model = model
-        self.context = context
-
-        self.view1 = gtk.TreeView()
-        self.view1.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
-        self.view1.connect('row-expanded', self.on_row_expanded)
-        scrolledwindow_all_fields.add(self.view1)
-        self.view2 = gtk.TreeView()
-        self.view2.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
-        scrolledwindow_export.add(self.view2)
-        self.view1.set_headers_visible(False)
-        self.view2.set_headers_visible(False)
-
-        cell = gtk.CellRendererText()
-        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)
-        self.model2 = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
-
-        self.fields = {}
-
-        self.model_populate(self._get_fields(model))
-
-        self.view1.set_model(self.model1)
-        self.view1.connect('row-activated', self.sig_sel)
-        self.view2.set_model(self.model2)
-        self.view2.connect('row-activated', self.sig_unsel)
-        if sys.platform != 'darwin':
-            self.view2.drag_source_set(
-                gtk.gdk.BUTTON1_MASK | gtk.gdk.BUTTON3_MASK,
-                [('EXPORT_TREE', gtk.TARGET_SAME_WIDGET, 0)],
-                gtk.gdk.ACTION_MOVE)
-            self.view2.drag_dest_set(gtk.DEST_DEFAULT_ALL,
-                [('EXPORT_TREE', gtk.TARGET_SAME_WIDGET, 0)],
-                gtk.gdk.ACTION_MOVE)
-            self.view2.connect('drag-begin', self.drag_begin)
-            self.view2.connect('drag-motion', self.drag_motion)
-            self.view2.connect('drag-drop', self.drag_drop)
-            self.view2.connect("drag-data-get", self.drag_data_get)
-            self.view2.connect('drag-data-received', self.drag_data_received)
-            self.view2.connect('drag-data-delete', self.drag_data_delete)
-
-        self.wid_action = combo_saveas
-        self.wid_write_field_names = checkbox_add_field_names
-        self.wid_action.set_active(0)
-
-        # Creating the predefined export view
         self.pref_export = gtk.TreeView()
         self.pref_export.append_column(gtk.TreeViewColumn(_('Name'),
             gtk.CellRendererText(), text=2))
         scrolledwindow_exports.add(self.pref_export)
-
         self.pref_export.connect("button-press-event", self.export_click)
         self.pref_export.connect("key-press-event", self.export_keypress)
 
-        # Fill the predefined export tree view
         self.predef_model = gtk.ListStore(
                 gobject.TYPE_INT,
                 gobject.TYPE_PYOBJECT,
                 gobject.TYPE_STRING)
         self.fill_predefwin()
 
-        sensible_allocation = self.sensible_widget.get_allocation()
-        self.dialog.set_default_size(int(sensible_allocation.width * 0.9),
-            int(sensible_allocation.height * 0.9))
-        self.dialog.show_all()
-        common.center_window(self.dialog, self.parent, self.sensible_widget)
+    def add_buttons(self, box):
+        button_save_export = gtk.Button(
+            _('_Save Export'), stock=None, use_underline=True)
+        button_save_export.set_alignment(0.0, 0.0)
+        img_button = gtk.Image()
+        img_button.set_from_stock('tryton-save', gtk.ICON_SIZE_BUTTON)
+        button_save_export.set_image(img_button)
+        button_save_export.connect_after('clicked', self.addreplace_predef)
+        box.pack_start(button_save_export, False, False, 0)
 
-        self.register()
+        button_del_export = gtk.Button(
+            _('_Delete Export'), stock=None, use_underline=True)
+        button_del_export.set_alignment(0.0, 0.0)
+        img_button = gtk.Image()
+        img_button.set_from_stock('tryton-delete', gtk.ICON_SIZE_BUTTON)
+        button_del_export.set_image(img_button)
+        button_del_export.connect_after('clicked', self.remove_predef)
+        box.pack_start(button_del_export, False, False, 0)
+
+    def add_chooser(self, box):
+        hbox_csv_export = gtk.HBox()
+        box.pack_start(hbox_csv_export, False, True, 0)
+        self.saveas = gtk.combo_box_new_text()
+        hbox_csv_export.pack_start(self.saveas, True, True, 0)
+        self.saveas.append_text(_("Open"))
+        self.saveas.append_text(_("Save"))
+        self.saveas.set_active(0)
+
+    def add_csv_header_param(self, table):
+        self.add_field_names = gtk.CheckButton(_("Add _field names"))
+        self.add_field_names.set_active(True)
+        table.attach(self.add_field_names, 2, 4, 1, 2)
 
     def model_populate(self, fields, parent_node=None, prefix_field='',
             prefix_name=''):
@@ -295,7 +149,7 @@ class WinExport(NoModal):
             store.remove(store.get_iter(paths[0]))
             store, paths = self.view2.get_selection().get_selected_rows()
 
-    def sig_unsel_all(self, widget=None):
+    def sig_unsel_all(self, *args):
         self.model2.clear()
 
     def fill_predefwin(self):
@@ -417,16 +271,6 @@ class WinExport(NoModal):
             return
         self.model2.append((long_string, name))
 
-    def destroy(self):
-        super(WinExport, self).destroy()
-        self.dialog.destroy()
-
-    def show(self):
-        self.dialog.show()
-
-    def hide(self):
-        self.dialog.hide()
-
     def response(self, dialog, response):
         if response == gtk.RESPONSE_OK:
             fields = []
@@ -436,116 +280,56 @@ class WinExport(NoModal):
                 fields.append(self.model2.get_value(iter, 1))
                 fields2.append(self.model2.get_value(iter, 0))
                 iter = self.model2.iter_next(iter)
-            action = self.wid_action.get_active()
+            action = self.saveas.get_active()
             self.destroy()
             try:
-                result = RPCExecute('model', self.model, 'export_data',
+                data = RPCExecute('model', self.model, 'export_data',
                     self.ids, fields, context=self.context)
             except RPCException:
-                result = []
+                data = []
 
             if action == 0:
                 fileno, fname = tempfile.mkstemp('.csv', 'tryton_')
-                self.export_csv(fname, fields2, result,
-                        self.wid_write_field_names.get_active(), popup=False)
+                self.export_csv(fname, fields2, data, popup=False)
                 os.close(fileno)
                 common.file_open(fname, 'csv')
             else:
                 fname = common.file_selection(_('Save As...'),
                         action=gtk.FILE_CHOOSER_ACTION_SAVE)
                 if fname:
-                    self.export_csv(fname, fields2, result,
-                            self.wid_write_field_names.get_active())
-            return True
+                    self.export_csv(fname, fields2, data)
         else:
             self.destroy()
-            return False
 
-    def export_csv(self, fname, fields, result, write_title=False, popup=True):
+    def export_csv(self, fname, fields, data, popup=True):
+        encoding = self.csv_enc.get_active_text() or 'UTF-8'
+
         try:
-            file_p = open(fname, 'wb+')
-            writer = csv.writer(file_p)
-            if write_title:
+            writer = csv.writer(
+                open(fname, 'wb+'),
+                quotechar=self.get_quotechar(),
+                delimiter=self.get_delimiter())
+            if self.add_field_names.get_active():
                 writer.writerow(fields)
-            for data in result:
+            for line in data:
                 row = []
-                for val in data:
+                for val in line:
                     if isinstance(type(val), types.StringType):
-                        row.append(val.replace('\n', ' ').replace('\t', ' '))
-                    else:
-                        row.append(val)
+                        val = val.replace('\n', ' ').replace('\t', ' ')
+                        val = val.encode(encoding)
+                    row.append(val)
                 writer.writerow(row)
-            file_p.close()
             if popup:
-                if len(result) == 1:
-                    common.message(_('%d record saved!') % len(result))
+                if len(data) == 1:
+                    common.message(_('%d record saved!') % len(data))
                 else:
-                    common.message(_('%d records saved!') % len(result))
+                    common.message(_('%d records saved!') % len(data))
             return True
         except IOError, exception:
             common.warning(_("Operation failed!\nError message:\n%s")
                 % exception, _('Error'))
             return False
 
-    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)
-        context.drag_status(gtk.gdk.ACTION_MOVE, time)
-        return True
-
-    def drag_drop(self, treeview, context, x, y, time):
-        treeview.emit_stop_by_name('drag-drop')
-        return True
-
-    def drag_data_get(self, treeview, context, selection, target_id,
-            etime):
-        treeview.emit_stop_by_name('drag-data-get')
-
-        def _func_sel_get(store, path, iter_, data):
-            data.append(path[0])
-        data = []
-        treeselection = treeview.get_selection()
-        treeselection.selected_foreach(_func_sel_get, data)
-        if not data:
-            return
-        selection.set('STRING', 8, ','.join(str(x) for x in data))
-        return True
-
-    def drag_data_received(self, treeview, context, x, y, selection,
-            info, etime):
-        treeview.emit_stop_by_name('drag-data-received')
-        if not selection.data:
-            return
-        store = treeview.get_model()
-
-        data_iters = [store.get_iter((int(i),))
-            for i in selection.data.split(',')]
-        drop_info = treeview.get_dest_row_at_pos(x, y)
-        if drop_info:
-            path, position = drop_info
-            pos = store.get_iter(path)
-        else:
-            pos = store.get_iter((len(store) - 1,))
-            position = gtk.TREE_VIEW_DROP_AFTER
-        if position == gtk.TREE_VIEW_DROP_AFTER:
-            data_iters = reversed(data_iters)
-        for item in data_iters:
-            if position == gtk.TREE_VIEW_DROP_BEFORE:
-                store.move_before(item, pos)
-            else:
-                store.move_after(item, pos)
-        context.drop_finish(False, etime)
-        return True
-
-    def drag_data_delete(self, treeview, context):
-        treeview.emit_stop_by_name('drag-data-delete')
-
     def export_click(self, treeview, event):
         path_at_pos = treeview.get_path_at_pos(int(event.x), int(event.y))
         if not path_at_pos or event.button != 1:
diff --git a/tryton/gui/window/win_form.py b/tryton/gui/window/win_form.py
index 4a6d9ee..0df9080 100644
--- a/tryton/gui/window/win_form.py
+++ b/tryton/gui/window/win_form.py
@@ -39,6 +39,7 @@ class WinForm(NoModal, InfoBar):
         self.win.set_icon(TRYTON_ICON)
         self.win.set_has_separator(False)
         self.win.set_deletable(False)
+        self.win.connect('delete-event', lambda *a: True)
         self.win.connect('close', self.close)
         self.win.connect('response', self.response)
 
diff --git a/tryton/gui/window/win_import.py b/tryton/gui/window/win_import.py
index b7ddf26..8c76fc6 100644
--- a/tryton/gui/window/win_import.py
+++ b/tryton/gui/window/win_import.py
@@ -1,215 +1,60 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-import gtk
-import gobject
+import csv
 import gettext
+
+import gtk
+
 import tryton.common as common
-import csv
-from tryton.config import TRYTON_ICON
 from tryton.common import RPCExecute, RPCException
-from tryton.gui.window.nomodal import NoModal
+from tryton.gui.window.win_csv import WinCSV
 
 _ = gettext.gettext
 
 
-class WinImport(NoModal):
+class WinImport(WinCSV):
     "Window import"
 
     def __init__(self, model, context):
+        self.model = model
+        self.context = context
+        self.fields_data = {}
+        self.fields = {}
+        self.fields_invert = {}
         super(WinImport, self).__init__()
-        self.dialog = gtk.Dialog(title=_("Import from CSV"),
-            parent=self.parent, flags=gtk.DIALOG_DESTROY_WITH_PARENT)
-        self.dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
-        self.dialog.set_icon(TRYTON_ICON)
-        self.dialog.connect('response', self.response)
-
-        dialog_vbox = gtk.VBox()
-        hbox_mapping = gtk.HBox(True)
-        dialog_vbox.pack_start(hbox_mapping, True, True, 0)
-
-        frame_fields = gtk.Frame()
-        frame_fields.set_shadow_type(gtk.SHADOW_NONE)
-        viewport_fields = gtk.Viewport()
-        scrolledwindow_fields = gtk.ScrolledWindow()
-        scrolledwindow_fields.set_policy(gtk.POLICY_AUTOMATIC,
-                gtk.POLICY_AUTOMATIC)
-        viewport_fields.add(scrolledwindow_fields)
-        frame_fields.add(viewport_fields)
-        label_all_fields = gtk.Label(_("<b>All fields</b>"))
-        label_all_fields.set_use_markup(True)
-        frame_fields.set_label_widget(label_all_fields)
-        hbox_mapping.pack_start(frame_fields, True, True, 0)
+        self.dialog.set_title(_('Import from CSV'))
 
-        vbox_buttons = gtk.VBox()
-        vbox_buttons.set_border_width(5)
-        hbox_mapping.pack_start(vbox_buttons, False, True, 0)
+    def add_header(self, box):
+        pass
 
-        button_add = gtk.Button(_("_Add"), stock=None, use_underline=True)
-        button_add.set_alignment(0.0, 0.0)
-        img_button = gtk.Image()
-        img_button.set_from_stock('tryton-list-add', gtk.ICON_SIZE_BUTTON)
-        button_add.set_image(img_button)
-        button_add.connect_after('clicked', self.sig_sel)
-        vbox_buttons.pack_start(button_add, False, False, 0)
-
-        button_remove = gtk.Button(_("_Remove"), stock=None,
-                use_underline=True)
-        button_remove.set_alignment(0.0, 0.0)
-        img_button = gtk.Image()
-        img_button.set_from_stock('tryton-list-remove', gtk.ICON_SIZE_BUTTON)
-        button_remove.set_image(img_button)
-        button_remove.connect_after('clicked', self.sig_unsel)
-        vbox_buttons.pack_start(button_remove, False, False, 0)
-
-        button_remove_all = gtk.Button(_("Clear"), stock=None,
-                use_underline=True)
-        button_remove_all.set_alignment(0.0, 0.0)
-        img_button = gtk.Image()
-        img_button.set_from_stock('tryton-clear', gtk.ICON_SIZE_BUTTON)
-        button_remove_all.set_image(img_button)
-        button_remove_all.connect_after('clicked', self.sig_unsel_all)
-        vbox_buttons.pack_start(button_remove_all, False, False, 0)
-
-        hseparator_buttons = gtk.HSeparator()
-        vbox_buttons.pack_start(hseparator_buttons, False, False, 3)
-
-        button_autodetect = gtk.Button(_("Auto-Detect"), stock=None,
-                use_underline=True)
+    def add_buttons(self, box):
+        button_autodetect = gtk.Button(
+            _('_Auto-Detect'), stock=None, use_underline=True)
         button_autodetect.set_alignment(0.0, 0.0)
         img_button = gtk.Image()
         img_button.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON)
         button_autodetect.set_image(img_button)
         button_autodetect.connect_after('clicked', self.sig_autodetect)
-        vbox_buttons.pack_start(button_autodetect, False, False, 0)
-
-        frame_import = gtk.Frame()
-        frame_import.set_shadow_type(gtk.SHADOW_NONE)
-        viewport_import = gtk.Viewport()
-        scrolledwindow_import = gtk.ScrolledWindow()
-        scrolledwindow_import.set_policy(gtk.POLICY_AUTOMATIC,
-                gtk.POLICY_AUTOMATIC)
-        viewport_import.add(scrolledwindow_import)
-        frame_import.add(viewport_import)
-        label_fields_import = gtk.Label(_("<b>Fields to import</b>"))
-        label_fields_import.set_use_markup(True)
-        frame_import.set_label_widget(label_fields_import)
-        hbox_mapping.pack_start(frame_import, True, True, 0)
-
-        frame_csv_param = gtk.Frame(None)
-        frame_csv_param.set_shadow_type(gtk.SHADOW_ETCHED_OUT)
-        dialog_vbox.pack_start(frame_csv_param, False, True, 0)
-        alignment_csv_param = gtk.Alignment(0.5, 0.5, 1, 1)
-        alignment_csv_param.set_padding(7, 7, 7, 7)
-        frame_csv_param.add(alignment_csv_param)
+        box.pack_start(button_autodetect, False, False, 0)
 
-        vbox_csv_param = gtk.VBox()
-        alignment_csv_param.add(vbox_csv_param)
+    def add_chooser(self, box):
         hbox_csv_import = gtk.HBox()
-        vbox_csv_param.pack_start(hbox_csv_import, False, True, 4)
+        box.pack_start(hbox_csv_import, False, True, 4)
         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)
-        vbox_csv_param.pack_start(expander_csv_import, False, True, 0)
-        label_import_csv_param = gtk.Label(_("CSV Parameters"))
-        expander_csv_import.set_label_widget(label_import_csv_param)
-        table = gtk.Table(2, 4, False)
-        table.set_border_width(8)
-        table.set_row_spacings(9)
-        table.set_col_spacings(8)
-        expander_csv_import.add(table)
-
-        label_import_csv_sep = gtk.Label(_("Field Separator:"))
-        label_import_csv_sep.set_alignment(1, 0.5)
-        table.attach(label_import_csv_sep, 0, 1, 0, 1)
-        self.import_csv_sep = gtk.Entry()
-        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:"))
-        label_import_csv_del.set_alignment(1, 0.5)
-        table.attach(label_import_csv_del, 2, 3, 0, 1)
-        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:"))
-        label_import_csv_enc.set_alignment(1, 0.5)
-        table.attach(label_import_csv_enc, 0, 1, 1, 2)
-        self.import_csv_enc = gtk.combo_box_new_text()
-        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)
+    def add_csv_header_param(self, table):
+        label_csv_skip = gtk.Label(_('Lines to Skip:'))
+        label_csv_skip.set_alignment(1, 0.5)
+        table.attach(label_csv_skip, 2, 3, 1, 2)
 
-        label_import_csv_skip = gtk.Label(_("Lines to Skip:"))
-        label_import_csv_skip.set_alignment(1, 0.5)
-        table.attach(label_import_csv_skip, 2, 3, 1, 2)
-
-        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")
-        self.dialog.add_action_widget(button_cancel, gtk.RESPONSE_CANCEL)
-        button_cancel.set_flags(gtk.CAN_DEFAULT)
-
-        button_ok = gtk.Button("gtk-ok", stock="gtk-ok")
-        self.dialog.add_action_widget(button_ok, gtk.RESPONSE_OK)
-        button_ok.set_flags(gtk.CAN_DEFAULT)
-
-        self.dialog.vbox.pack_start(dialog_vbox)
-
-        self.model = model
-        self.context = context
-        self.fields_data = {}
-
-        self.view1 = gtk.TreeView()
-        self.view1.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
-        self.view1.connect('row-expanded', self.on_row_expanded)
-        scrolledwindow_fields.add(self.view1)
-        self.view2 = gtk.TreeView()
-        self.view2.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
-        scrolledwindow_import.add(self.view2)
-        self.view1.set_headers_visible(False)
-        self.view2.set_headers_visible(False)
-
-        cell = gtk.CellRendererText()
-        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)
-        self.model2 = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
-
-        self.fields = {}
-        self.fields_invert = {}
-
-        self.model_populate(self._get_fields(model))
-
-        self.view1.set_model(self.model1)
-        self.view2.set_model(self.model2)
-
-        sensible_allocation = self.sensible_widget.get_allocation()
-        self.dialog.set_default_size(int(sensible_allocation.width * 0.9),
-            int(sensible_allocation.height * 0.9))
-        self.dialog.show_all()
-        common.center_window(self.dialog, self.parent, self.sensible_widget)
-
-        self.register()
+        self.csv_skip = gtk.SpinButton(
+            gtk.Adjustment(0, 0, 100, 1, 10), 1, 0)
+        label_csv_skip.set_mnemonic_widget(self.csv_skip)
+        table.attach(self.csv_skip, 3, 4, 1, 2)
 
     def model_populate(self, fields, parent_node=None, prefix_field='',
             prefix_name=''):
@@ -223,10 +68,14 @@ class WinImport(NoModal):
                 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'))
+                # Only One2Many can be nested for import
+                if fields[field]['type'] == 'one2many':
+                    relation = fields[field].get('relation')
+                else:
+                    relation = None
+                self.fields[prefix_field + field] = (name, relation)
                 self.fields_invert[name] = prefix_field + field
-                if fields[field].get('relation'):
+                if relation:
                     self.model1.insert(node, 0, [None, ''])
 
     def _get_fields(self, model):
@@ -253,22 +102,22 @@ class WinImport(NoModal):
         if not fname:
             common.message(_('You must select an import file first!'))
             return True
-        csvsep = self.import_csv_sep.get_text() or None
-        csvdel = self.import_csv_del.get_text() or None
-        csvcode = self.import_csv_enc.get_active_text() or 'UTF-8'
 
-        self.import_csv_skip.set_value(1)
+        self.csv_skip.set_value(1)
         try:
-            data = csv.reader(open(fname, 'rb'), quotechar=csvdel,
-                    delimiter=csvsep)
+            data = csv.reader(
+                open(fname, 'rb'),
+                quotechar=self.get_delimiter(),
+                delimiter=self.get_delimiter())
         except IOError:
             common.warning(_('Error opening CSV file'), _('Error'))
             return True
         self.sig_unsel_all()
+        encoding = self.get_encoding()
         word = ''
         for line in data:
             for word in line:
-                word = word.decode(csvcode)
+                word = word.decode(encoding)
                 if word not in self.fields_invert and word not in self.fields:
                     iter = self.model1.get_iter_first()
                     prefix = ''
@@ -297,7 +146,7 @@ class WinImport(NoModal):
             break
         return True
 
-    def sig_sel(self, widget=None):
+    def sig_sel(self, *args):
         sel = self.view1.get_selection()
         sel.selected_foreach(self._sig_sel_add)
 
@@ -306,25 +155,15 @@ class WinImport(NoModal):
         name = self.fields[store.get_value(iter, 1)][0]
         self.model2.set(num, 0, name, 1, store.get_value(iter, 1))
 
-    def sig_unsel(self, widget=None):
+    def sig_unsel(self, *args):
         store, paths = self.view2.get_selection().get_selected_rows()
         while paths:
             store.remove(store.get_iter(paths[0]))
             store, paths = self.view2.get_selection().get_selected_rows()
 
-    def sig_unsel_all(self, widget=None):
+    def sig_unsel_all(self, *args):
         self.model2.clear()
 
-    def destroy(self):
-        super(WinImport, self).destroy()
-        self.dialog.destroy()
-
-    def show(self):
-        self.dialog.show()
-
-    def hide(self):
-        self.dialog.hide()
-
     def response(self, dialog, response):
         if response == gtk.RESPONSE_OK:
             fields = []
@@ -333,33 +172,29 @@ class WinImport(NoModal):
                 fields.append(self.model2.get_value(iter, 1))
                 iter = self.model2.iter_next(iter)
 
-            csv_data = {
-                'fname': self.import_csv_file.get_filename(),
-                'sep': self.import_csv_sep.get_text(),
-                'del': self.import_csv_del.get_text(),
-                'skip': self.import_csv_skip.get_value(),
-                'combo': self.import_csv_enc.get_active_text() or 'UTF-8'
-            }
             self.destroy()
-            if csv_data['fname']:
-                self.import_csv(csv_data, fields, self.model)
+            fname = self.import_csv_file.get_filename()
+            if fname:
+                self.import_csv(fname, fields)
         else:
             self.destroy()
 
-    def import_csv(self, csv_data, fields, model):
+    def import_csv(self, fname, fields):
         # TODO: make it works with references
-        fname = csv_data['fname']
-        data = list(csv.reader(open(fname, 'rb'), quotechar=csv_data['del'],
-            delimiter=csv_data['sep']))[int(csv_data['skip']):]
-        datas = []
-
-        for line in data:
-            if not line:
+        skip = self.csv_skip.get_value_as_int()
+        encoding = self.get_encoding()
+        reader = csv.reader(
+            open(fname, 'rb'),
+            quotechar=self.get_quotechar(),
+            delimiter=self.get_delimiter())
+        data = []
+        for i, line in enumerate(reader):
+            if i < skip or not line:
                 continue
-            datas.append([x.decode(csv_data['combo']).encode('utf-8')
-                    for x in line])
+            data.append([x.decode(encoding).encode('utf-8') for x in line])
         try:
-            count = RPCExecute('model', model, 'import_data', fields, datas,
+            count = RPCExecute(
+                'model', self.model, 'import_data', fields, data,
                 context=self.context)
         except RPCException:
             return
diff --git a/tryton/gui/window/win_search.py b/tryton/gui/window/win_search.py
index 7e2b698..ed1a6e6 100644
--- a/tryton/gui/window/win_search.py
+++ b/tryton/gui/window/win_search.py
@@ -76,7 +76,7 @@ class WinSearch(NoModal):
 
         self.model_name = model
 
-        self.win.set_size_request(700, 500)
+        self.win.set_default_size(700, 500)
 
         self.register()
         sensible_allocation = self.sensible_widget.get_allocation()
diff --git a/tryton/gui/window/window.py b/tryton/gui/window/window.py
index 5f23790..5d0b27f 100644
--- a/tryton/gui/window/window.py
+++ b/tryton/gui/window/window.py
@@ -21,7 +21,7 @@ class Window(object):
     @staticmethod
     def create(view_ids, model, res_id=False, domain=None,
             context=None, order=None, mode=None, name=False, limit=None,
-            search_value=None, icon=None, tab_domain=None):
+            search_value=None, icon=None, tab_domain=None, context_model=None):
         from tryton.gui import Main
         if context is None:
             context = {}
@@ -30,7 +30,8 @@ class Window(object):
             from form import Form
             win = Form(model, res_id, domain, order=order, mode=mode,
                 view_ids=(view_ids or []), context=context, name=name,
-                limit=limit, search_value=search_value, tab_domain=tab_domain)
+                limit=limit, search_value=search_value, tab_domain=tab_domain,
+                context_model=context_model)
         else:
             from board import Board
             win = Board(model, view_ids and view_ids[0] or None,
diff --git a/tryton/gui/window/wizard.py b/tryton/gui/window/wizard.py
index 6f56e0e..1ab35f2 100644
--- a/tryton/gui/window/wizard.py
+++ b/tryton/gui/window/wizard.py
@@ -292,6 +292,7 @@ class WizardDialog(Wizard, NoModal):
         self.dia.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
         self.dia.set_icon(TRYTON_ICON)
         self.dia.set_deletable(False)
+        self.dia.connect('delete-event', lambda *a: True)
         self.dia.connect('close', self.close)
         self.dia.connect('response', self.response)
 
diff --git a/tryton/ipc.py b/tryton/ipc.py
index 101f69c..7d4136f 100644
--- a/tryton/ipc.py
+++ b/tryton/ipc.py
@@ -20,11 +20,12 @@ class IPCServer(object):
     instance = None
 
     def __init__(self, hostname, port, database):
+        from tryton.common import slugify
         if Server.instance:
             Server.instance.stop()
-        self.hostname = hostname
+        self.hostname = slugify(hostname)
         self.port = port
-        self.database = database
+        self.database = slugify(database)
         self.config = os.path.join(get_config_dir(), '%s@%s@%s' %
                 (self.hostname, self.port, self.database))
         self.tmpdir = tempfile.mkdtemp(prefix='.tryton')
diff --git a/tryton/jsonrpc.py b/tryton/jsonrpc.py
index 56fd4dd..a933f5f 100644
--- a/tryton/jsonrpc.py
+++ b/tryton/jsonrpc.py
@@ -18,6 +18,7 @@ import threading
 import errno
 from functools import partial
 from contextlib import contextmanager
+import string
 
 __all__ = ["ResponseError", "Fault", "ProtocolError", "Transport",
     "ServerProxy", "ServerPool"]
@@ -125,13 +126,14 @@ class JSONParser(object):
 
 
 class JSONUnmarshaller(object):
-    data = ''
+    def __init__(self):
+        self.data = []
 
     def feed(self, data):
-        self.data += data
+        self.data.append(data)
 
     def close(self):
-        return json.loads(self.data, object_hook=object_hook)
+        return json.loads(''.join(self.data), object_hook=object_hook)
 
 
 class Transport(xmlrpclib.Transport, xmlrpclib.SafeTransport):
@@ -139,11 +141,12 @@ class Transport(xmlrpclib.Transport, xmlrpclib.SafeTransport):
     accept_gzip_encoding = True
     encode_threshold = 1400  # common MTU
 
-    def __init__(self, fingerprints=None, ca_certs=None):
+    def __init__(self, fingerprints=None, ca_certs=None, session=None):
         xmlrpclib.Transport.__init__(self)
         self._connection = (None, None)
         self.__fingerprints = fingerprints
         self.__ca_certs = ca_certs
+        self.session = session
 
     def getparser(self):
         target = JSONUnmarshaller()
@@ -155,6 +158,12 @@ class Transport(xmlrpclib.Transport, xmlrpclib.SafeTransport):
             self, host)
         if extra_headers is None:
             extra_headers = []
+        if self.session:
+            auth = base64.encodestring(self.session)
+            auth = string.join(string.split(auth), "")  # get rid of whitespace
+            extra_headers.append(
+                ('Authorization', 'Session ' + auth),
+                )
         extra_headers.append(('Connection', 'keep-alive'))
         return host, extra_headers, x509
 
@@ -248,10 +257,13 @@ class ServerProxy(xmlrpclib.ServerProxy):
     __id = 0
 
     def __init__(self, host, port, database='', verbose=0,
-            fingerprints=None, ca_certs=None):
+            fingerprints=None, ca_certs=None, session=None):
         self.__host = '%s:%s' % (host, port)
-        self.__handler = '/' + database
-        self.__transport = Transport(fingerprints, ca_certs)
+        if database:
+            self.__handler = '/%s/' % database
+        else:
+            self.__handler = '/'
+        self.__transport = Transport(fingerprints, ca_certs, session)
         self.__verbose = verbose
 
     def __request(self, methodname, params):
@@ -309,6 +321,7 @@ class ServerPool(object):
         self._lock = threading.Lock()
         self._pool = []
         self._used = {}
+        self.session = None
 
     def getconn(self):
         with self._lock:
diff --git a/tryton/rpc.py b/tryton/rpc.py
index d5f476a..ee7288c 100644
--- a/tryton/rpc.py
+++ b/tryton/rpc.py
@@ -15,7 +15,6 @@ from tryton.config import CONFIG
 CONNECTION = None
 _USER = None
 _USERNAME = ''
-_SESSION = ''
 _HOST = ''
 _PORT = None
 _DATABASE = ''
@@ -37,8 +36,8 @@ ServerPool = partial(ServerPool, fingerprints=_FINGERPRINTS,
 def db_list(host, port):
     try:
         connection = ServerProxy(host, port)
-        logging.getLogger(__name__).info('common.db.list(None, None)')
-        result = connection.common.db.list(None, None)
+        logging.getLogger(__name__).info('common.db.list()')
+        result = connection.common.db.list()
         logging.getLogger(__name__).debug(repr(result))
         return result
     except Fault, exception:
@@ -50,11 +49,10 @@ def db_list(host, port):
             return None
 
 
-def db_exec(host, port, method, *args):
-    connection = ServerProxy(host, port)
-    logging.getLogger(__name__).info('common.db.%s(None, None, %s)' %
-        (method, args))
-    result = getattr(connection.common.db, method)(None, None, *args)
+def db_exec(host, port, method, database='', *args):
+    connection = ServerProxy(host, port, database=database)
+    logging.getLogger(__name__).info('common.db.%s(%s)' % (method, args))
+    result = getattr(connection.common.db, method)(*args)
     logging.getLogger(__name__).debug(repr(result))
     return result
 
@@ -64,7 +62,7 @@ def server_version(host, port):
         connection = ServerProxy(host, port)
         logging.getLogger(__name__).info(
             'common.server.version(None, None)')
-        result = connection.common.server.version(None, None)
+        result = connection.common.server.version()
         logging.getLogger(__name__).debug(repr(result))
         return result
     except (Fault, socket.error):
@@ -72,7 +70,7 @@ def server_version(host, port):
 
 
 def login(username, password, host, port, database):
-    global CONNECTION, _USER, _USERNAME, _SESSION, _HOST, _PORT, _DATABASE
+    global CONNECTION, _USER, _USERNAME, _HOST, _PORT, _DATABASE
     global _VIEW_CACHE, _TOOLBAR_CACHE, _KEYWORD_CACHE
     _VIEW_CACHE = {}
     _TOOLBAR_CACHE = {}
@@ -88,15 +86,14 @@ def login(username, password, host, port, database):
         logging.getLogger(__name__).debug(repr(result))
     except socket.error:
         _USER = None
-        _SESSION = ''
         return -1
     if not result:
         _USER = None
-        _SESSION = ''
         return -2
     _USER = result[0]
     _USERNAME = username
-    _SESSION = result[1]
+    session = ':'.join(map(str, [username] + result))
+    CONNECTION = ServerPool(host, port, database, session=session)
     _HOST = host
     _PORT = port
     _DATABASE = database
@@ -105,23 +102,21 @@ def login(username, password, host, port, database):
 
 
 def logout():
-    global CONNECTION, _USER, _USERNAME, _SESSION, _HOST, _PORT, _DATABASE
+    global CONNECTION, _USER, _USERNAME, _HOST, _PORT, _DATABASE
     global _VIEW_CACHE, _TOOLBAR_CACHE, _KEYWORD_CACHE
     if IPCServer.instance:
         IPCServer.instance.stop()
     if CONNECTION is not None:
         try:
-            logging.getLogger(__name__).info('common.db.logout(%s, %s)' %
-                (_USER, _SESSION))
+            logging.getLogger(__name__).info('common.db.logout()')
             with CONNECTION() as conn:
-                conn.common.db.logout(_USER, _SESSION)
+                conn.common.db.logout()
         except (Fault, socket.error, httplib.CannotSendRequest):
             pass
         CONNECTION.close()
         CONNECTION = None
     _USER = None
     _USERNAME = ''
-    _SESSION = ''
     _HOST = ''
     _PORT = None
     _DATABASE = ''
@@ -131,9 +126,9 @@ def logout():
 
 
 def _execute(blocking, *args):
-    global CONNECTION, _USER, _SESSION
+    global CONNECTION, _USER
     if CONNECTION is None:
-        raise TrytonServerError('NotLogged')
+        raise TrytonServerError('403')
     key = False
     model = args[1]
     method = args[2]
@@ -152,7 +147,7 @@ def _execute(blocking, *args):
                 return _KEYWORD_CACHE[key]
     try:
         name = '.'.join(args[:3])
-        args = (_USER, _SESSION) + args[3:]
+        args = args[3:]
         logging.getLogger(__name__).info('%s%s' % (name, args))
         with CONNECTION() as conn:
             result = getattr(conn, name)(*args)
-- 
tryton-client



More information about the tryton-debian-vcs mailing list