diff mo/pyArq-Presupuestos.es.po @ 26:16f91684686b default tip

Upgrade to python 3. Keep python 2/3 compatibility
author Miguel Ángel Bárcena Rodríguez <miguelangel@obraencurso.es>
date Tue, 18 Jun 2019 17:50:23 +0200
parents 65e7ae0d0e63
children
line wrap: on
line diff
--- a/mo/pyArq-Presupuestos.es.po	Mon May 20 13:18:33 2019 +0200
+++ b/mo/pyArq-Presupuestos.es.po	Tue Jun 18 17:50:23 2019 +0200
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: pyArq-Presupuestos 0.0.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-27 10:53+0200\n"
+"POT-Creation-Date: 2019-06-18 11:57+0200\n"
 "PO-Revision-Date: 2019-04-27 10:53+0200\n"
 "Last-Translator: Miguel Ángel Bárcena Rodríguez <miguelangel@obraencurso."
 "es>\n"
@@ -21,7 +21,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../Generic/base.py:283
+#: ../Generic/base.py:285
 msgid ""
 "\n"
 "A free program of measurements, budgets and control of construction sites.\n"
@@ -32,7 +32,7 @@
 "construcción.\n"
 "En estado beta de desarrollo, aún no hay una versión plenamente funcional.\n"
 
-#: ../Generic/base.py:288
+#: ../Generic/base.py:290
 msgid ""
 "\n"
 "Usage:\n"
@@ -48,291 +48,286 @@
 "Opciones de ayuda:\n"
 "    -h, --help     Muestra esta ayuda\n"
 
-#: ../Generic/base.py:421
+#: ../Generic/base.py:423
 msgid "Invalid code: $1"
 msgstr "Código no válido: $1"
 
-#: ../Generic/base.py:436
+#: ../Generic/base.py:440
 msgid "Synonyms ($1) must be a list, code: $2"
 msgstr "«Synonyms» ($1) debe ser una lista, código: $2"
 
-#: ../Generic/base.py:440
+#: ../Generic/base.py:446
 msgid "Invalid Code in synomyms list ($1) code: $2"
 msgstr "Código no válido es la lista de sinónimos ($1) código: $2"
 
-#: ../Generic/base.py:471
-msgid "Unit ($1) must be a string: $2"
-msgstr "«Unit» ($1) debe ser una cadena: $2"
+#: ../Generic/base.py:479
+msgid "Unit ($1) must be a text string: $2"
+msgstr "«Unit» ($1) debe ser una cadena de texto: $2"
 
-#: ../Generic/base.py:485
-msgid "Summary ($1) must be a string: $1"
-msgstr "«Summary» ($1) debe ser una cadena: $1"
+#: ../Generic/base.py:495
+msgid "Summary ($1) must be a text string: $1"
+msgstr "«Summary» ($1) debe ser una cadena de texto: $1"
 
-#: ../Generic/base.py:502
+#: ../Generic/base.py:514
 msgid "Prices ($1) must be a list: $2"
 msgstr "«Prices» ($1) debe ser una lista: $2"
 
-#: ../Generic/base.py:523
+#: ../Generic/base.py:537
 msgid "Price ($1) must be a list with two items: $2"
 msgstr "«Price» ($1) debe ser una lista con dos elementos: $2"
 
-#: ../Generic/base.py:528
-msgid "Price must be a float number: $1"
-msgstr "Precio debe ser un número de coma flotante: $1"
+#: ../Generic/base.py:556
+msgid "The record do not have this Price. Code: $1"
+msgstr "El registro no tiene ese precio. Código: $1"
 
-#: ../Generic/base.py:538
-#, python-format
-msgid "The record do not have this Price. Code: %s"
-msgstr "El registro no tiene ese precio. Código: %s"
-
-#: ../Generic/base.py:544
+#: ../Generic/base.py:564
 msgid "The record do not have this Price"
 msgstr "El registro no tiene ese precio"
 
-#: ../Generic/base.py:559
+#: ../Generic/base.py:581
 msgid "Parents ($1) must be a list: $2"
 msgstr "«Parents» ($1) debe ser una lista: $2"
 
-#: ../Generic/base.py:563 ../Generic/base.py:575
+#: ../Generic/base.py:587 ../Generic/base.py:601
 msgid "Invalid parent code ($1) in the record: $2"
 msgstr "Código padre no válido ($1) en el registro: $2"
 
-#: ../Generic/base.py:591
+#: ../Generic/base.py:619
 msgid "children ($1) must be a list, record: $2"
 msgstr "«children» ($1) debe ser una lista, registro: $2"
 
-#: ../Generic/base.py:595
+#: ../Generic/base.py:625
 msgid "child ($1) must be a Decomposition object, record: $2"
 msgstr "«child» ($1) debe ser una objeto «Decomposition», registro $2"
 
-#: ../Generic/base.py:649
-msgid "Text ($1) must be a string, record: $2"
-msgstr "«Text» ($1) debe ser una cadena, registro: $2"
+#: ../Generic/base.py:680
+msgid "Text ($1) must be a text string, record: $2"
+msgstr "«Text» ($1) debe ser una cadena de texto, registro: $2"
 
-#: ../Generic/base.py:662
+#: ../Generic/base.py:695
 msgid "sheet must be a Sheet instance"
 msgstr "«sheet» debe ser una instancia de Sheet"
 
-#: ../Generic/base.py:674
+#: ../Generic/base.py:709
 msgid "files must be a list: $1"
 msgstr "«files» debe ser una lista: $1"
 
-#: ../Generic/base.py:685 ../Generic/base.py:699
+#: ../Generic/base.py:722 ../Generic/base.py:740
 msgid "Incorrect path"
 msgstr "Ruta incorrecta"
 
-#: ../Generic/base.py:690
+#: ../Generic/base.py:728
 msgid "file must be a list or a File object: $1"
 msgstr "«file» debe ser una lista o un objeto «File: $1"
 
-#: ../Generic/base.py:718
+#: ../Generic/base.py:761
 msgid "labels must be a list"
 msgstr "«labels» debe ser una lista"
 
-#: ../Generic/base.py:724
-msgid "label must be a string"
+#: ../Generic/base.py:769
+msgid "label must be a text string"
 msgstr "«label» debe ser una cadena de texto."
 
-#: ../Generic/base.py:733
-msgid "Label must be a string"
+#: ../Generic/base.py:780
+msgid "Label must be a text string"
 msgstr "«Label» debe ser una cadena de texto."
 
-#: ../Generic/base.py:981
+#: ../Generic/base.py:1030
 msgid "Position must be a integer"
 msgstr "«Position» debe ser un número entero"
 
-#: ../Generic/base.py:995
+#: ../Generic/base.py:1046
 msgid "BudgetMeasures atribute must be a list"
 msgstr "El atributo «BudgetMeasures» debe ser una lista"
 
-#: ../Generic/base.py:998
-msgid "BudgetMeasures item must be a Measure "
-msgstr "El atributo «BudgetMeasures» debe ser un objeto «Measure»"
+#: ../Generic/base.py:1051
+msgid "BudgetMeasures item must be a Measure object"
+msgstr "El elemento «BudgetMeasures» debe ser un objeto «Measure»"
 
-#: ../Generic/base.py:1007
+#: ../Generic/base.py:1061
 msgid "Certification atribute must be a list or None"
 msgstr "El atributo «Certification» debe ser una lista o «None»"
 
-#: ../Generic/base.py:1015
+#: ../Generic/base.py:1071
 msgid "Real cost atribute must be a list or None"
 msgstr "El atributo «Real cost» debe ser una lista o «None»"
 
-#: ../Generic/base.py:1023
+#: ../Generic/base.py:1081
 msgid "Cost goals atribute must be a list or None"
 msgstr "El atributo «Cost goals» debe ser una lista o «None»"
 
-#: ../Generic/base.py:1031
+#: ../Generic/base.py:1091
 msgid "Cost Planned atribute must be a list or None"
 msgstr "El atributo «Cost Planned» debe ser una lista o «None»"
 
-#: ../Generic/base.py:1124
+#: ../Generic/base.py:1186
 msgid "Measure must be a float number. Type: $1"
 msgstr "«Measure» debe ser un número de coma flotante. Tipo: $1"
 
-#: ../Generic/base.py:1136
+#: ../Generic/base.py:1200
 msgid "Lines must be a list"
 msgstr "«Lines» debe ser una lista"
 
-#: ../Generic/base.py:1139
+#: ../Generic/base.py:1205
 msgid "Line must be a MeasureLine objetc"
 msgstr "«Line» debe ser un objeto «MeasureLine»"
 
-#: ../Generic/base.py:1150
+#: ../Generic/base.py:1218
 msgid "Factor must be a float number |$1|"
 msgstr "«Factor» debe ser un número de coma flotante |$1|"
 
-#: ../Generic/base.py:1162
+#: ../Generic/base.py:1232
 msgid "Yield must be a float number"
 msgstr "«Yield» debe ser un número de coma flotante"
 
-#: ../Generic/base.py:1173
+#: ../Generic/base.py:1245
 msgid "Fixed must be boolean object"
 msgstr "«Fixed» debe ser un objeto booleano"
 
-#: ../Generic/base.py:1243
+#: ../Generic/base.py:1317
 msgid "Type must be M or A. Type: $1"
 msgstr "«Type» debe ser M o A. Type: $1"
 
-#: ../Generic/base.py:1387
-msgid " Parcial Subtotal must be a float number. Parcial: $1"
+#: ../Generic/base.py:1463
+msgid "Parcial Subtotal must be a float number. Parcial: $1"
 msgstr "«Parcial Subtotal» debe ser un número de coma flotante. Parcial: $1"
 
-#: ../Generic/base.py:1395
-msgid " Acumulated Subtotal must be a float number. Parcial: $1"
+#: ../Generic/base.py:1473
+msgid "Acumulated Subtotal must be a float number. Parcial: $1"
 msgstr " «Acumulate Subtotal» debe ser un número de coma flotante. Parcial: $1"
 
-#: ../Generic/base.py:1431
+#: ../Generic/base.py:1510
 msgid "Invalid measure line type ($1)"
 msgstr "Tipo de línea de medición no válido ($1)"
 
-#: ../Generic/base.py:1437
-msgid "Measure Comment must be a string ($1)"
-msgstr "El comentario de la medición debe ser una cadena ($1)"
-
-#: ../Generic/base.py:1444
+#: ../Generic/base.py:1527
 msgid "Invalid Measure Units ($1)"
 msgstr "Unidades de medición no válidas ($1)"
 
-#: ../Generic/base.py:1457
+#: ../Generic/base.py:1542
 msgid "Invalid Measure length ($1)"
 msgstr "Longitud de medición no válida ($1)"
 
-#: ../Generic/base.py:1470
+#: ../Generic/base.py:1557
 msgid "Invalid Measure Width ($1)"
 msgstr "Anchura de medición no válida ($1)"
 
-#: ../Generic/base.py:1483
+#: ../Generic/base.py:1572
 msgid "Invalid Measure Height ($1)"
 msgstr "Altura de medición no válida ($1)"
 
-#: ../Generic/base.py:1495
-msgid "Formula must be a string ($1)"
+#: ../Generic/base.py:1586
+msgid "Formula must be a text string ($1)"
 msgstr "«Formula» debe ser una cadena de texto ($1)"
 
-#: ../Generic/base.py:1498
-msgid "There is invalid charactersin formula ($1)"
+#: ../Generic/base.py:1591
+msgid "There is invalid characters in formula ($1)"
 msgstr "Hay caracteres no válidos en la fórmula ($1)"
 
-#: ../Generic/base.py:1564 ../Generic/base.py:2618
+#: ../Generic/base.py:1659 ../Generic/base.py:2776
 msgid "'a' value must be a float number"
 msgstr "El valor «a» debe ser un número de coma flotante"
 
-#: ../Generic/base.py:1568 ../Generic/base.py:2622
+#: ../Generic/base.py:1665 ../Generic/base.py:2782
 msgid "'b' value must be a float number"
 msgstr "El valor «b» debe ser un número de coma flotante"
 
-#: ../Generic/base.py:1572 ../Generic/base.py:2626
+#: ../Generic/base.py:1671 ../Generic/base.py:2788
 msgid "'c' value must be a float number"
 msgstr "El valor «c» debe ser un número de coma flotante"
 
-#: ../Generic/base.py:1576 ../Generic/base.py:2630
+#: ../Generic/base.py:1677 ../Generic/base.py:2794
 msgid "'d' value must be a float number"
 msgstr "El valor «d» debe ser un número de coma flotante"
 
-#: ../Generic/base.py:1604 ../Generic/base.py:2658
+#: ../Generic/base.py:1707 ../Generic/base.py:2824
 msgid "Invalid formula"
 msgstr "Fórmula no válida"
 
-#: ../Generic/base.py:1858
+#: ../Generic/base.py:1963
 msgid "sheet_dict must be a dictionay"
 msgstr "«sheet_dict» debe ser un diccionario."
 
-#: ../Generic/base.py:1879 ../Generic/base.py:1886
-msgid "sheet field must be a string"
+#: ../Generic/base.py:1986 ../Generic/base.py:1997
+msgid "sheet field must be a text string"
 msgstr "«sheet field» debe ser una cadena de texto"
 
-#: ../Generic/base.py:1881
+#: ../Generic/base.py:1990
 msgid "section_dict must be a dictionary"
 msgstr "«section_dict» debe ser un dicionario"
 
-#: ../Generic/base.py:1888
-msgid "sheet section must be a string"
+#: ../Generic/base.py:2001
+msgid "sheet section must be a text string"
 msgstr "La seccion del pliego debe ser una cadena de texto"
 
-#: ../Generic/base.py:1890
-msgid "sheet paragraph must be a string"
+#: ../Generic/base.py:2005
+msgid "sheet paragraph must be a text string"
 msgstr "«sheet paragraph» debe ser una cadena de texto"
 
-#: ../Generic/base.py:2177
-msgid "Owner must be a string"
+#: ../Generic/base.py:2295
+msgid "Owner must be a text string"
 msgstr "«Owner» debe ser una cadena de texto."
 
-#: ../Generic/base.py:2193
+#: ../Generic/base.py:2313
 msgid "Invalid Date: $1"
 msgstr "Fecha no válida: $1"
 
-#: ../Generic/base.py:2204
-msgid "Comment must be a string"
-msgstr "«Comment» debe ser una cadena"
+#: ../Generic/base.py:2327
+msgid "Comment must be a text string"
+msgstr "«Comment» debe ser una cadena de texto"
 
-#: ../Generic/base.py:2220
+#: ../Generic/base.py:2345
 msgid "Budget type must be 1, 2, 3 or 4."
 msgstr "El tipo de presupuesto debe ser 1, 2, 3 o 4"
 
-#: ../Generic/base.py:2232
+#: ../Generic/base.py:2359
 msgid "Certificate order must be a integer."
 msgstr "«Certificate order» debe ser un número entero"
 
-#: ../Generic/base.py:2247
+#: ../Generic/base.py:2376
 msgid "Budget certificate Date must be a valid Date."
 msgstr "«Budget certificate Date» debe ser una fecha válida"
 
-#: ../Generic/base.py:2261
+#: ../Generic/base.py:2392
 msgid "Invalid title list format"
 msgstr "Formato de lista de rótulos no válida"
 
-#: ../Generic/base.py:2290
+#: ../Generic/base.py:2423
 msgid "Invalid Index Title"
 msgstr "Índice de rótulo no válido"
 
-#: ../Generic/base.py:2327
+#: ../Generic/base.py:2462
 msgid "Decimal Key error"
 msgstr "Clave de decimales errónea"
 
-#: ../Generic/base.py:2365
+#: ../Generic/base.py:2500
 msgid "Invalid Percentage key"
 msgstr "Clave de porcentajes no válida"
 
-#: ../Generic/base.py:2488
+#: ../Generic/base.py:2619
+msgid "No-estructured measures. Adding root record"
+msgstr "Mediciones no estructuradas. Añadiendo registro raiz"
+
+#: ../Generic/base.py:2624
 msgid "Invalid parent code: $1"
 msgstr "Código del padre inválido: $1"
 
-#: ../Generic/base.py:2491
+#: ../Generic/base.py:2629
 msgid "Invalid child code: $1 $2"
 msgstr "Código de hijo inválido: $1 $2"
 
-#: ../Generic/base.py:2494
-msgid "Invalid position in measure $1, in code $2"
+#: ../Generic/base.py:2634
+msgid "Invalid position in measure $1, in code $2 $3"
 msgstr "Posición no válida en medición $1, en código $2"
 
-#: ../Generic/base.py:2502
+#: ../Generic/base.py:2644
 msgid ""
 "Circular Decomposition, parent code: $1, child code: $2, repeated code: $3"
 msgstr ""
 "Descomposición circular, código padre: $1, código hijo: $2, código repetido: "
 "$3"
 
-#: ../Generic/base.py:2527
+#: ../Generic/base.py:2671
 msgid ""
 "No-estructured measure or empty position. Parent Code: $1, Child code: $2, "
 "Position: $3"
@@ -340,7 +335,7 @@
 "Mediciones no estructuradas o posicion vácia. Código padre: $1, Código hijo: "
 "$2, Posición: $3"
 
-#: ../Generic/base.py:2531
+#: ../Generic/base.py:2678
 msgid ""
 "No-estructured measure or empty position. Repeated child in unspecified "
 "position. It is impossible to determine the position. New child is added in "
@@ -350,7 +345,7 @@
 "posición. Es imposible determinar la posición. Se añade un nuevo hijo en la "
 "descomposicón. Código padre: $1, Código hijo: $2, Posición: $3"
 
-#: ../Generic/base.py:2571 ../Generic/base.py:2583
+#: ../Generic/base.py:2721 ../Generic/base.py:2738
 msgid ""
 "Error: Invalid child position in decomposition. Parent code: $1 Child code: "
 "$2 Position: $3"
@@ -358,84 +353,84 @@
 "Error: Posición del hijo no válida en descomposición. Código padre: $1 "
 "Código hijo: $2 Posición: $3"
 
-#: ../Generic/base.py:2577
+#: ../Generic/base.py:2730
 msgid "Error: Empty child code. Parent code: $1 Position: $2"
 msgstr "Error: Código hijo vacío. Código padre: $1 Posición: $2"
 
-#: ../Generic/base.py:2669
+#: ../Generic/base.py:2837
 msgid "Invalid code"
 msgstr "Código no válido"
 
-#: ../Generic/base.py:2679
+#: ../Generic/base.py:2849
 msgid "Invalid record: $1"
 msgstr "Registro no válido: $1"
 
-#: ../Generic/base.py:2742
+#: ../Generic/base.py:2915
 msgid "Only can be one root record"
 msgstr "Sólo puede haber un registro raíz"
 
-#: ../Generic/base.py:2851 ../Generic/base.py:2857
+#: ../Generic/base.py:3026 ../Generic/base.py:3036
 msgid "This record does not exits"
 msgstr "Este registro no existe"
 
-#: ../Generic/base.py:2854
+#: ../Generic/base.py:3031
 msgid "Path item must be a integer"
 msgstr "El elemento de la ruta debe ser un número entero"
 
-#: ../Generic/base.py:2859
+#: ../Generic/base.py:3040
 msgid "Path must be a not empty tuple: $1"
 msgstr "«Path» debe ser una tupla no vacía: $1"
 
-#: ../Generic/base.py:2926
-msgid "The sheet code must be a string"
+#: ../Generic/base.py:3108
+msgid "The sheet code must be a text string"
 msgstr "El código del pliego debe ser una cadena de texto"
 
-#: ../Generic/base.py:2928
-msgid "The sheet title must be a string"
+#: ../Generic/base.py:3112
+msgid "The sheet title must be a text string"
 msgstr "El título del pliego debe ser una cadena de texto."
 
-#: ../Generic/base.py:2939
+#: ../Generic/base.py:3125
 msgid "The sheet sections must be a dictionary"
 msgstr "La sección del pliego debe ser un dicionario"
 
-#: ../Generic/base.py:2945
-msgid "The field code must be a string"
+#: ../Generic/base.py:3133
+msgid "The field code must be a text string"
 msgstr "El código del ámbito debe ser una cadena de texto"
 
-#: ../Generic/base.py:2947
-msgid "The field title must be a string"
+#: ../Generic/base.py:3137
+msgid "The field title must be a text string"
 msgstr "El título del ámbito debe ser una cadena de texto."
 
-#: ../Generic/base.py:2958
+#: ../Generic/base.py:3150
 msgid "The sheet field must be a dictionary"
 msgstr "El ámbito del pliego debe ser un dicionario."
 
-#: ../Generic/base.py:2964
-msgid "The paragraph code must be a string"
+#: ../Generic/base.py:3158
+msgid "The paragraph code must be a text string"
 msgstr "El código del parrafo debe ser una cadena de texto."
 
-#: ../Generic/base.py:2966
-msgid "The paragraph text must be a string"
+#: ../Generic/base.py:3162
+msgid "The paragraph text must be a text string"
 msgstr "El texto del parrafo debe ser una cadena de texto"
 
-#: ../Generic/base.py:2977
+#: ../Generic/base.py:3175
 msgid "The paragraph dict must be a dictionary"
 msgstr "El dicionario del parrafo debe ser un diccionario"
 
-#: ../Generic/base.py:2983 ../Generic/base.py:3008 ../Generic/base.py:3147
-#: ../Generic/base.py:3171 ../Generic/base.py:3193
-msgid "The record_code code must be a string"
+#: ../Generic/base.py:3184 ../Generic/base.py:3217 ../Generic/base.py:3385
+#: ../Generic/base.py:3414 ../Generic/base.py:3442
+msgid "The record_code code must be a text string"
 msgstr "«record_code» debe ser una cadena de texto"
 
-#: ../Generic/base.py:2985
-msgid "The field must be a string"
+#: ../Generic/base.py:3188
+msgid "The field must be a text string"
 msgstr "El ámbito debe ser una cadena de texto."
 
-#: ../Generic/base.py:2987
+#: ../Generic/base.py:3192
 msgid "The section dict must be a dictionary"
 msgstr "El dicionario de la seccion debe ser un dicionario."
 
-#: ../Generic/base.py:2991
+#: ../Generic/base.py:3198
 msgid ""
 "Error: The budget do not have this record code and can not be added the "
 "sheet text in the field $1. Record Code: $2"
@@ -443,11 +438,11 @@
 "Error: El presupuesto no tiene ese código de registro y no puede añadirse el "
 "texto del pliego en el ámbito $1. Código del registro: $2"
 
-#: ../Generic/base.py:3011
-msgid "The filename must be a string"
+#: ../Generic/base.py:3221
+msgid "The filename must be a text string"
 msgstr "El nombre del fichero debe ser una cadena de texto."
 
-#: ../Generic/base.py:3015
+#: ../Generic/base.py:3226
 msgid ""
 "Error: The budget do not have the record code $1 and can not be added the "
 "file: $2"
@@ -455,67 +450,63 @@
 "Error: El presupuesto no tiene el código de registro $1 y no puede añadirse "
 "el fichero: $2"
 
-#: ../Generic/base.py:3026
-msgid "The company code must be a string"
+#: ../Generic/base.py:3237
+msgid "The company code must be a text string"
 msgstr "El código de la entidad debe ser una cadena de texto."
 
-#: ../Generic/base.py:3028
-msgid "The summary must be a string"
-msgstr "El resumen debe ser una cadena de texto"
-
-#: ../Generic/base.py:3030 ../Generic/base.py:3058
-msgid "The name must be a string"
+#: ../Generic/base.py:3245 ../Generic/base.py:3283
+msgid "The name must be a text string"
 msgstr "El nombre debe ser una cadena de texto."
 
-#: ../Generic/base.py:3032
+#: ../Generic/base.py:3249
 msgid "The name must be a list"
 msgstr "El nombre debe ser una lista"
 
-#: ../Generic/base.py:3036
+#: ../Generic/base.py:3255
 msgid "The office must be a list"
 msgstr "«The office» debe ser una lista"
 
-#: ../Generic/base.py:3038
+#: ../Generic/base.py:3259
 msgid "The office must be a 10 items list"
 msgstr "«The office» debe ser una lista de 10 elementos"
 
-#: ../Generic/base.py:3041
-msgid "This office item must be a string"
+#: ../Generic/base.py:3264
+msgid "This office item must be a text string"
 msgstr "El elemento de la oficina debe ser una cadena de texto."
 
-#: ../Generic/base.py:3045
+#: ../Generic/base.py:3269
 msgid "This office item must be a list"
 msgstr "Este elemento de la oficina debe ser una lista"
 
-#: ../Generic/base.py:3060
-msgid "The web must be a string"
+#: ../Generic/base.py:3287
+msgid "The web must be a text string"
 msgstr "La web debe ser una cadena de texto."
 
-#: ../Generic/base.py:3062
-msgid "The email must be a string"
+#: ../Generic/base.py:3291
+msgid "The email must be a text string"
 msgstr "El email debe ser una cadena de texto."
 
-#: ../Generic/base.py:3074
-msgid "The tecnical info code must be a string"
+#: ../Generic/base.py:3305
+msgid "The tecnical info code must be a text string"
 msgstr "La información técnica debe ser una cadena de texto."
 
-#: ../Generic/base.py:3076
-msgid "The tecnical info description must be a string"
+#: ../Generic/base.py:3309
+msgid "The tecnical info description must be a text string"
 msgstr "La descripción de la información técnica debe ser una cadena de texto"
 
-#: ../Generic/base.py:3079
-msgid "The tecnical info unit must be a string"
+#: ../Generic/base.py:3313
+msgid "The tecnical info unit must be a text string"
 msgstr "La unidad de la información técnica debe ser una cadena de texto."
 
-#: ../Generic/base.py:3130
-msgid "The label must be a string"
+#: ../Generic/base.py:3366
+msgid "The label must be a text string"
 msgstr "La etiqueta debe ser una cadena de texto."
 
-#: ../Generic/base.py:3149
-msgid "The parametric select comment must be a string"
+#: ../Generic/base.py:3389
+msgid "The parametric select comment must be a text string"
 msgstr "El comentario de selección paramétrico debe ser una cadena de texto"
 
-#: ../Generic/base.py:3152
+#: ../Generic/base.py:3393
 msgid ""
 "Error: The budget do not have the record code $1 and can not be added the "
 "Parametric select comment: $2"
@@ -523,7 +514,7 @@
 "Error: El presupuesto no tiene el código de registro $1 y no puede añadirse "
 "el comentario de selección paramétrico: $2"
 
-#: ../Generic/base.py:3159
+#: ../Generic/base.py:3401
 msgid ""
 "Error: The Record $1 is not a Parametric Record and can not have Parametric "
 "comment"
@@ -531,11 +522,11 @@
 "Error: El registro $1 no es un registro paramétrico y no puede tener "
 "comentario paramétrico."
 
-#: ../Generic/base.py:3173
-msgid "The summary record must be a string"
+#: ../Generic/base.py:3418
+msgid "The summary record must be a text string"
 msgstr "El resumen del registro debe ser una cadena de texto"
 
-#: ../Generic/base.py:3175
+#: ../Generic/base.py:3422
 msgid ""
 "Error: The budget do not have the record code $1 and can not be seted the "
 "summary: $2"
@@ -543,7 +534,7 @@
 "Error: El presupuesto no tiene el codigo de registro $1 y no puede fijarse "
 "el resumen: $2"
 
-#: ../Generic/base.py:3181
+#: ../Generic/base.py:3429
 msgid ""
 "Error: The Record $1 is not a Parametric Record and can not have Parametric "
 "summary"
@@ -551,11 +542,11 @@
 "Error: El registro $1 no es un registro paramétrico y no puede tener resumen "
 "paramétrico."
 
-#: ../Generic/base.py:3195
-msgid "The text record must be a string"
+#: ../Generic/base.py:3446
+msgid "The text record must be a text string"
 msgstr "El texto del registro debe ser una cadena de texto"
 
-#: ../Generic/base.py:3197
+#: ../Generic/base.py:3450
 msgid ""
 "Error: The budget do not have the record code $1 and can not be seted the "
 "text: $2"
@@ -563,7 +554,7 @@
 "Error: El presupuesto no tiene el codigo de registro $1 y no puede fijarse "
 "el texto: $2"
 
-#: ../Generic/base.py:3203
+#: ../Generic/base.py:3457
 msgid ""
 "Error: The Record $1 is not a Parametric Record and can not have Parametric "
 "text"
@@ -571,15 +562,19 @@
 "Error: El registro $1 no es un registro paramétrico y no puede tener texto "
 "paramétrico."
 
-#: ../Generic/base.py:3726
+#: ../Generic/base.py:3981
 msgid "Invalid Hierarchy ($1) The hierarchy must be -1, 0, 1, 2"
 msgstr "Categoría no válida ($1) La categoria debe ser -1, 0, 1 or 2"
 
-#: ../Generic/base.py:3738
+#: ../Generic/base.py:3987
+msgid "Hierarchy temporarily set to an empty string"
+msgstr ""
+
+#: ../Generic/base.py:3997
 msgid "Invalid type ($1),the type must be (empty string,0,1,2,3)"
 msgstr "Tipo no válido ($1), el tipo debe ser (cadena vacía, 0, 1, 2, 3)"
 
-#: ../Generic/base.py:3749
+#: ../Generic/base.py:4011
 msgid ""
 "Invalid subtype ($1), The subtype must one in (empty string, EA, EU, EC, EF, "
 "OB, PA, PU, H, Q, %, MC, MCr, MM, MS, ME, MCu, MAl, ML, M)"
@@ -587,28 +582,28 @@
 "Subtipo no válido ($1), el subtipo debe ser uno de (cadena vacía, EA, EU, "
 "EC, EF, OB, PA, PU, H, Q, %, MC, MCr, MM, MS, ME, MCu, MAl, ML, M)"
 
-#: ../Generic/fiebdc.py:150
-msgid "Invalid code, it must be a unicode string"
-msgstr "Código no válido, debe ser una cadena unicode"
+#: ../Generic/fiebdc.py:156
+msgid "Invalid code, it must be a text string"
+msgstr "Código no válido, debe ser una cadena de texto"
 
-#: ../Generic/fiebdc.py:157
+#: ../Generic/fiebdc.py:164
 msgid "The code '$1' have invalid characters, replaced by '$2'."
 msgstr "El código «$1» tiene caracteres inválidos, reemplazado por «$2»."
 
-#: ../Generic/fiebdc.py:160
-msgid "The code '$1' have invalid characters and can not be encoded in utf8."
+#: ../Generic/fiebdc.py:169
+msgid "The code '$1' have invalid characters and can not be encoded in utf-8."
 msgstr ""
 "El código «$1» tiene caracteres inválidos y no puede ser codificado en utf8."
 
-#: ../Generic/fiebdc.py:187
+#: ../Generic/fiebdc.py:206
 msgid "The code '$1' contains special characters repeated."
 msgstr "El código «$1» contiene caractectes especiales repetidos."
 
-#: ../Generic/fiebdc.py:391
+#: ../Generic/fiebdc.py:411
 msgid "FIEBDC. Unknow record: $1"
 msgstr "FIEBDC. Registro desconocido: $1"
 
-#: ../Generic/fiebdc.py:410
+#: ../Generic/fiebdc.py:432
 msgid ""
 "The 'V' record (Property and Version) must be the first record in the file "
 "but it is the number: $1"
@@ -616,27 +611,27 @@
 "El registro «V» (Propiedad y  versión) debe ser el primer registro en el "
 "archivo pero es el número: $1"
 
-#: ../Generic/fiebdc.py:413
+#: ../Generic/fiebdc.py:437
 msgid "The default values were taken and this V record is ignored"
 msgstr "El valor por amisión ha sido tomado y el registro V es ignorado"
 
-#: ../Generic/fiebdc.py:447
+#: ../Generic/fiebdc.py:472
 msgid "FIEBDC format: $1"
 msgstr "FIEBDC formato: $1"
 
-#: ../Generic/fiebdc.py:457
+#: ../Generic/fiebdc.py:484
 msgid "FIEBDC file generated by $1"
 msgstr "FIEBDC fichero generado por $1"
 
-#: ../Generic/fiebdc.py:798
+#: ../Generic/fiebdc.py:825
 msgid "Record C without a valid code"
 msgstr "Registro C sin un código válido"
 
-#: ../Generic/fiebdc.py:876 ../Generic/fiebdc.py:888 ../Generic/fiebdc.py:916
+#: ../Generic/fiebdc.py:904 ../Generic/fiebdc.py:917 ../Generic/fiebdc.py:946
 msgid "Incorrect type ($1) in the code $2"
 msgstr "Tipo incorrecto ($1) en el código $2"
 
-#: ../Generic/fiebdc.py:970
+#: ../Generic/fiebdc.py:1001
 msgid ""
 "ValueError loadig the descomposition of the record $1, the factor of the "
 "child $2 must be a float number and can not be $3, seted default value 1.0"
@@ -645,7 +640,7 @@
 "hijo $2 debe ser un número de coma flotante y no puede ser $3, fijado el "
 "valor por omisión 1.0"
 
-#: ../Generic/fiebdc.py:981
+#: ../Generic/fiebdc.py:1013
 msgid ""
 "ValueError loading the descomposition of the record $1, the yield of the "
 "child $2, must be a float number and cannot be $3,  seted default value 1.0"
@@ -654,25 +649,25 @@
 "del hijo $2, debe ser un número de coma flotante y no puede ser $3, fijado "
 "el valor por omisión 1.0"
 
-#: ../Generic/fiebdc.py:1070
+#: ../Generic/fiebdc.py:1102
 msgid "Invalid codes in $1 record, codes $2"
 msgstr "Códigos no válidos en registro $1, códigos $2"
 
-#: ../Generic/fiebdc.py:1074
+#: ../Generic/fiebdc.py:1107
 msgid "Empty child code in $1 record, codes: $2"
 msgstr "Código de hijo vacío en el registro $1, códigos: $2"
 
-#: ../Generic/fiebdc.py:1094
+#: ../Generic/fiebdc.py:1128
 msgid "Invalid path in $1 record, codes $2"
 msgstr "Camino no válido en el registro $1, códigos $2"
 
-#: ../Generic/fiebdc.py:1105
+#: ../Generic/fiebdc.py:1140
 msgid "Invalid Total Measure value in $1 record, codes $2. Total fixed to 0."
 msgstr ""
 "El Total de la medición no es válido en el registro $1, códigos $2. Total "
 "fijado a 0."
 
-#: ../Generic/fiebdc.py:1126
+#: ../Generic/fiebdc.py:1162
 msgid ""
 "The comment is not a formula or its have invalid characters, in the $1 "
 "record, codes $2"
@@ -680,294 +675,330 @@
 "El comentario no es una fórmula o tiene caracteres inválidos, en el registro "
 "$1, códigos $2"
 
-#: ../Generic/fiebdc.py:1152
+#: ../Generic/fiebdc.py:1189
 msgid "The measure values are not float numbers, code $1"
 msgstr "«Measure» debe ser un número de coma flotante. Tipo: $1"
 
-#: ../Generic/fiebdc.py:1452 ../Generic/fiebdc.py:1717
+#: ../Generic/fiebdc.py:1493 ../Generic/fiebdc.py:1761
 msgid "The file $1 do not exist"
 msgstr "El archivo $1 no existe"
 
-#: ../Generic/fiebdc.py:1823 ../Generic/fiebdc.py:1830
+#: ../Generic/fiebdc.py:1869 ../Generic/fiebdc.py:1877
 msgid "PyArq hates parametric DLLs"
 msgstr "PyArq odia las DLLs paramétricas"
 
-#: ../Generic/fiebdc.py:2028
+#: ../Generic/fiebdc.py:1985
+msgid "Parametric: code:  $1"
+msgstr "Registro parametrico: código:  $1"
+
+#: ../Generic/fiebdc.py:1988
+msgid "******* Desconocido *** : $1"
+msgstr "******* Desconocido *** : $1"
+
+#: ../Generic/fiebdc.py:2103
 msgid "Loading file $1"
 msgstr "Cargando archivo $1"
 
-#: ../Generic/fiebdc.py:2049
+#: ../Generic/fiebdc.py:2125
 msgid "FIEBDC character encoding: $1"
 msgstr "FIEBDC codificación de caracteres: $1"
 
-#: ../Generic/fiebdc.py:2053
+#: ../Generic/fiebdc.py:2129
 msgid ""
 "This Character encoding do not exist in FIEBDC3! Default Character encoding: "
 "$1"
 msgstr "¡Esta codificación no existe en FIEBDC3! Codificación por omisión: $1"
 
-#: ../Generic/fiebdc.py:2058
+#: ../Generic/fiebdc.py:2134
 msgid ""
 "This V record dot have a character encoding! Default character encoding: $1"
 msgstr "¡Este registro V no define codificación! Codificación por omisión: $1"
 
-#: ../Generic/fiebdc.py:2063
+#: ../Generic/fiebdc.py:2139
 msgid "Not 'V' record in File! Default character encoding: $1"
 msgstr "¡No hay registro «V» en el archivo! Codificación por omisión: $1"
 
-#: ../Generic/fiebdc.py:2111
+#: ../Generic/fiebdc.py:2187
 msgid "$1 unsuported record type O: Comercial Relationship"
 msgstr "$1 tipo de registro no soportado O: Releción comercial"
 
-#: ../Generic/fiebdc.py:2114
+#: ../Generic/fiebdc.py:2191
 msgid "This file is not a valid FIBDC3 file"
 msgstr "El archivo no es un archivo FIEBDC3 válido"
 
-#: ../Generic/fiebdc.py:2127
+#: ../Generic/fiebdc.py:2205
 msgid "Testing budget ..."
 msgstr "Comprobando presupuesto ..."
 
-#: ../Generic/fiebdc.py:2146
+#: ../Generic/fiebdc.py:2225
 msgid "End Test"
 msgstr "Comprobación finalizada"
 
-#: ../Generic/fiebdc.py:2230 ../Gtk/gui.py:1038
+#: ../Generic/fiebdc.py:2312 ../Gtk/gui.py:1074
 msgid "Process terminated"
 msgstr "Proceso cancelado"
 
-#: ../Generic/fiebdc.py:2312
+#: ../Generic/fiebdc.py:2396
 msgid "Time to load: $1 seconds"
 msgstr "Tiempo de carga: $1 segundos"
 
-#: ../Generic/fiebdc.py:2314
+#: ../Generic/fiebdc.py:2398
 msgid "Records/Valid Records: $1/$2"
 msgstr "Registro/Registros válidos: $1/$2"
 
-#: ../Gtk/gui.py:83 ../Gtk/gui.py:89
+#: ../Generic/utils.py:154
+msgid "Not a text string, code: $1, type: $2"
+msgstr "No es una cadena de texto, código: $1, tipo: $2"
+
+#: ../Generic/utils.py:168
+msgid "Unicode Error, code: $1"
+msgstr "Unicode Error, código: $1"
+
+#: ../Generic/utils.py:173
+msgid "Not in cp850, code: $1"
+msgstr "No en cp850, código: $1"
+
+#: ../Generic/utils.py:182
+msgid "Control characters in code: $1"
+msgstr "Carácteres de control en el código: $1"
+
+#: ../Generic/utils.py:190
+msgid "# in code: $1"
+msgstr "# en Código: $1"
+
+#: ../Generic/utils.py:197
+msgid "Empty code"
+msgstr "Código vacio"
+
+#: ../Gtk/gui.py:103 ../Gtk/gui.py:110
 msgid "The icon file does not exist. '$1'"
 msgstr "El archivo de icono no existe. «$1»"
 
-#: ../Gtk/gui.py:95
+#: ../Gtk/gui.py:117
 msgid "pyArq-Presupuestos running on $1"
 msgstr "pyArq-Presupuestos ejecutandose en $1"
 
-#: ../Gtk/gui.py:176
+#: ../Gtk/gui.py:200
 msgid "_New window"
 msgstr "Ventana _Nueva"
 
-#: ../Gtk/gui.py:177
+#: ../Gtk/gui.py:201
 msgid "_Close window"
 msgstr "_Cerrar ventana"
 
-#: ../Gtk/gui.py:182
+#: ../Gtk/gui.py:206
 msgid "About"
 msgstr "Acerca de"
 
-#: ../Gtk/gui.py:185
+#: ../Gtk/gui.py:209
 msgid "_Quit application"
 msgstr "_Cerrar aplicación"
 
-#: ../Gtk/gui.py:195
+#: ../Gtk/gui.py:219
 msgid "_Import Fiebdc"
 msgstr "_Importar Fiebdc"
 
-#: ../Gtk/gui.py:199 ../Gtk/gui.py:400 ../Gtk/gui.py:955
+#: ../Gtk/gui.py:224 ../Gtk/gui.py:426 ../Gtk/gui.py:990
 msgid "_Close tab"
 msgstr "_Cerrar pestaña"
 
-#: ../Gtk/gui.py:203
+#: ../Gtk/gui.py:228
 msgid "_File"
 msgstr "_Archivo"
 
-#: ../Gtk/gui.py:205
+#: ../Gtk/gui.py:230
 msgid "_Back"
 msgstr "A_tras"
 
-#: ../Gtk/gui.py:208
+#: ../Gtk/gui.py:233
 msgid "_Forward"
 msgstr "A_delante"
 
-#: ../Gtk/gui.py:211
+#: ../Gtk/gui.py:236
 msgid "_Up Item"
 msgstr "Concepto _Superior"
 
-#: ../Gtk/gui.py:214
+#: ../Gtk/gui.py:239
 msgid "_Root"
 msgstr "_Raiz"
 
-#: ../Gtk/gui.py:217
+#: ../Gtk/gui.py:242
 msgid "_Go"
 msgstr "_Ir"
 
-#: ../Gtk/gui.py:391 ../Gtk/gui.py:392
+#: ../Gtk/gui.py:417 ../Gtk/gui.py:418
 msgid "Import Fiebdc"
 msgstr "Importar Fiebdc"
 
-#: ../Gtk/gui.py:401 ../Gtk/gui.py:956
+#: ../Gtk/gui.py:427 ../Gtk/gui.py:991
 msgid "Close tab"
 msgstr "Cerrar pestaña"
 
-#: ../Gtk/gui.py:413 ../Gtk/gui.py:414
+#: ../Gtk/gui.py:439 ../Gtk/gui.py:440
 msgid "Back"
 msgstr "Atras"
 
-#: ../Gtk/gui.py:422 ../Gtk/gui.py:423
+#: ../Gtk/gui.py:449 ../Gtk/gui.py:450
 msgid "Forward"
 msgstr "Adelante"
 
-#: ../Gtk/gui.py:431 ../Gtk/gui.py:432
+#: ../Gtk/gui.py:458 ../Gtk/gui.py:459
 msgid "Up Item"
 msgstr "Concepto Superior"
 
-#: ../Gtk/gui.py:440 ../Gtk/gui.py:441
+#: ../Gtk/gui.py:467 ../Gtk/gui.py:468
 msgid "Root"
 msgstr "Raiz"
 
-#: ../Gtk/gui.py:655
+#: ../Gtk/gui.py:684
 msgid "The page is not in the page list"
 msgstr "La pestaña no está en la lista de pestañas"
 
-#: ../Gtk/gui.py:792 ../Gtk/gui.py:793
+#: ../Gtk/gui.py:823 ../Gtk/gui.py:824
 msgid "Open File"
 msgstr "Abrir archivo"
 
-#: ../Gtk/gui.py:794
+#: ../Gtk/gui.py:825
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: ../Gtk/gui.py:833
+#: ../Gtk/gui.py:868
 msgid "The file must have 'bc3' extension"
 msgstr "El archivo debe tener extensión «bc3»"
 
-#: ../Gtk/gui.py:991
+#: ../Gtk/gui.py:1027
 msgid "Time: 0s"
 msgstr "Tiempo: 0s"
 
-#: ../Gtk/gui.py:1104
+#: ../Gtk/gui.py:1140
 msgid "Time: $1"
 msgstr "Tiempo: $1"
 
-#: ../Gtk/gui.py:1455
+#: ../Gtk/gui.py:1492
 msgid "The value must be a list"
 msgstr "El valor debe ser una lista"
 
-#: ../Gtk/gui.py:1458
+#: ../Gtk/gui.py:1497
 msgid "Incorrect len"
 msgstr "Longuitud incorrecta"
 
-#: ../Gtk/gui.py:1486
+#: ../Gtk/gui.py:1528
 msgid "Incorrect item $1"
 msgstr "Elemento incorrecto $1"
 
-#: ../Gtk/gui.py:1502
+#: ../Gtk/gui.py:1546
 msgid "The budget does not have the path record: $1"
 msgstr "El presupuesto no tiene el registro con camino: $1"
 
-#: ../Gtk/gui.py:1865
+#: ../Gtk/gui.py:1911
 msgid "Decomposition"
 msgstr "Descomposición"
 
-#: ../Gtk/gui.py:1866 ../Gtk/gui.py:2895
+#: ../Gtk/gui.py:1912 ../Gtk/gui.py:2956
 msgid "Description"
 msgstr "Descripción"
 
-#: ../Gtk/gui.py:1867 ../Gtk/gui.py:2897
+#: ../Gtk/gui.py:1913 ../Gtk/gui.py:2960
 msgid "Measure"
 msgstr "Medición"
 
-#: ../Gtk/gui.py:1868
+#: ../Gtk/gui.py:1914
 msgid "Sheet of Conditions"
 msgstr "Pliego de condicones"
 
-#: ../Gtk/gui.py:1869
+#: ../Gtk/gui.py:1915
 msgid "Files"
 msgstr "Archivos"
 
-#: ../Gtk/gui.py:1870
+#: ../Gtk/gui.py:1916
 msgid "Companies"
 msgstr "Entidades"
 
-#: ../Gtk/gui.py:1950
+#: ../Gtk/gui.py:1964
+msgid "Invalid type of View: $1"
+msgstr "Tipo invalido de vista: $1"
+
+#: ../Gtk/gui.py:1998
 msgid "Split View Left/Right"
 msgstr "Partir vista Izquierda/Derecha"
 
-#: ../Gtk/gui.py:1960
+#: ../Gtk/gui.py:2008
 msgid "Split View Top/Bottom"
 msgstr "Partir vista Arriba/Abajo"
 
-#: ../Gtk/gui.py:1968
+#: ../Gtk/gui.py:2017
 msgid "Disconnect view"
 msgstr "Desconectar vista"
 
-#: ../Gtk/gui.py:1971
+#: ../Gtk/gui.py:2021
 msgid "Connect view"
 msgstr "Concectar vista"
 
-#: ../Gtk/gui.py:1984 ../Gtk/gui.py:2081
+#: ../Gtk/gui.py:2034 ../Gtk/gui.py:2131
 msgid "Close view"
 msgstr "Cerrar vista"
 
-#: ../Gtk/gui.py:2073
+#: ../Gtk/gui.py:2123
 msgid "Split view Left/Right"
 msgstr "Partir vista Izquierda/Derecha"
 
-#: ../Gtk/gui.py:2077
+#: ../Gtk/gui.py:2127
 msgid "Split view Top/Bottom"
 msgstr "Partir vista Arriba/Abajo"
 
-#: ../Gtk/gui.py:2112
+#: ../Gtk/gui.py:2163
 msgid "Connect View"
 msgstr "Conectar vista"
 
-#: ../Gtk/gui.py:2118
+#: ../Gtk/gui.py:2169
 msgid "Disconnect View"
 msgstr "Desconectar vista"
 
-#: ../Gtk/gui.py:2248
+#: ../Gtk/gui.py:2299
 msgid "The item must be a widget object."
 msgstr "El elemento debe ser un objeto «widget»."
 
-#: ../Gtk/gui.py:2256
+#: ../Gtk/gui.py:2309
 msgid "Invalid orientation."
 msgstr "Orientación no válida"
 
-#: ../Gtk/gui.py:2628 ../Gtk/gui.py:3256 ../Gtk/gui.py:4674
+#: ../Gtk/gui.py:2683 ../Gtk/gui.py:3321 ../Gtk/gui.py:4756
 msgid "Argument must be a Budget object"
 msgstr "El argumento debe ser un objeto «Budget»"
 
-#: ../Gtk/gui.py:2892 ../Gtk/gui.py:4739
+#: ../Gtk/gui.py:2952 ../Gtk/gui.py:4823
 msgid "Code"
 msgstr "Código"
 
-#: ../Gtk/gui.py:2893
+#: ../Gtk/gui.py:2954
 msgid "Unit"
 msgstr "Unidad"
 
-#: ../Gtk/gui.py:2899
+#: ../Gtk/gui.py:2962
 msgid "Price"
 msgstr "Precio"
 
-#: ../Gtk/gui.py:2901
+#: ../Gtk/gui.py:2964
 msgid "Amount"
 msgstr "Importe"
 
-#: ../Gtk/gui.py:2912 ../Gtk/gui.py:3528
+#: ../Gtk/gui.py:2975 ../Gtk/gui.py:3598
 msgid "Invalid path"
 msgstr "Ruta no válida"
 
-#: ../Gtk/gui.py:3261
+#: ../Gtk/gui.py:3328
 msgid "Record path must be a tuple"
 msgstr "La posición del registro debe ser una tupla"
 
-#: ../Gtk/gui.py:3509 ../Gtk/gui.py:4754 ../Gtk/gui.py:5066
+#: ../Gtk/gui.py:3579 ../Gtk/gui.py:4838 ../Gtk/gui.py:5154
 msgid "Type"
 msgstr "Tipo"
 
-#: ../Gtk/gui.py:3510
+#: ../Gtk/gui.py:3580
 msgid "Comment"
 msgstr "Comentario"
 
-#: ../Gtk/gui.py:3511
+#: ../Gtk/gui.py:3581
 msgid ""
 "N\n"
 "(a)"
@@ -975,7 +1006,7 @@
 "N\n"
 "(a)"
 
-#: ../Gtk/gui.py:3512
+#: ../Gtk/gui.py:3582
 msgid ""
 "Length\n"
 "(b)"
@@ -983,7 +1014,7 @@
 "Longitud\n"
 "(b)"
 
-#: ../Gtk/gui.py:3513
+#: ../Gtk/gui.py:3583
 msgid ""
 "Width\n"
 "(c)"
@@ -991,7 +1022,7 @@
 "Anchura\n"
 "(c)"
 
-#: ../Gtk/gui.py:3514
+#: ../Gtk/gui.py:3584
 msgid ""
 "Height\n"
 "(d)"
@@ -999,11 +1030,11 @@
 "Altura\n"
 "(d)"
 
-#: ../Gtk/gui.py:3515
+#: ../Gtk/gui.py:3585
 msgid "Formula"
 msgstr "Fórmula"
 
-#: ../Gtk/gui.py:3516
+#: ../Gtk/gui.py:3586
 #, python-format
 msgid ""
 "Parcial\n"
@@ -1012,79 +1043,79 @@
 "Parcial\n"
 "[%s]"
 
-#: ../Gtk/gui.py:3517
+#: ../Gtk/gui.py:3587
 msgid "Subtotal"
 msgstr "Subtotal"
 
-#: ../Gtk/gui.py:3537
+#: ../Gtk/gui.py:3609
 msgid "measure must be a Measure object. Type: $1"
 msgstr "«measure» debe ser un objeto «Measure». Tipo: $1"
 
-#: ../Gtk/gui.py:3835 ../Gtk/gui.py:3856
+#: ../Gtk/gui.py:3909 ../Gtk/gui.py:3931
 msgid "Description text of the record $1"
 msgstr "Texto descriptivo del registro $1"
 
-#: ../Gtk/gui.py:4010
+#: ../Gtk/gui.py:4086
 msgid "Sheet of Conditions of the record $1"
 msgstr "Pliego de condiciones del registro $1"
 
-#: ../Gtk/gui.py:4031
+#: ../Gtk/gui.py:4108
 msgid "Field"
 msgstr "Ámbito"
 
-#: ../Gtk/gui.py:4054
+#: ../Gtk/gui.py:4132
 msgid "Section"
 msgstr "Sección"
 
-#: ../Gtk/gui.py:4214
+#: ../Gtk/gui.py:4295
 msgid "Sheet2 of Conditions of the record $1"
 msgstr "Pliego2 de condiciones del registro $1"
 
-#: ../Gtk/gui.py:4740
+#: ../Gtk/gui.py:4824
 msgid "Code that define the company"
 msgstr "Código que define la entidad"
 
-#: ../Gtk/gui.py:4741
+#: ../Gtk/gui.py:4825
 msgid "Summary"
 msgstr "Resumen"
 
-#: ../Gtk/gui.py:4742
+#: ../Gtk/gui.py:4826
 msgid "Summary of the company name"
 msgstr "Resumen del nombre de la entidad"
 
-#: ../Gtk/gui.py:4743 ../Gtk/gui.py:4759
+#: ../Gtk/gui.py:4827 ../Gtk/gui.py:4843
 msgid "Name"
 msgstr "Nombre"
 
-#: ../Gtk/gui.py:4744
+#: ../Gtk/gui.py:4828
 msgid "Complete name"
 msgstr "Nombre completo"
 
-#: ../Gtk/gui.py:4745
+#: ../Gtk/gui.py:4829
 msgid "CIF"
 msgstr "CIF"
 
-#: ../Gtk/gui.py:4746
+#: ../Gtk/gui.py:4830
 msgid "Fiscal identifier number"
 msgstr "Número de identificación fiscal"
 
-#: ../Gtk/gui.py:4747
+#: ../Gtk/gui.py:4831
 msgid "Web"
 msgstr "Web"
 
-#: ../Gtk/gui.py:4748
+#: ../Gtk/gui.py:4832
 msgid "Company web page"
 msgstr "Página web de la entidad"
 
-#: ../Gtk/gui.py:4749
+#: ../Gtk/gui.py:4833
 msgid "Email"
 msgstr "Email"
 
-#: ../Gtk/gui.py:4750
+#: ../Gtk/gui.py:4834
 msgid "Company email"
 msgstr "Correo electrónico de la entidad"
 
-#: ../Gtk/gui.py:4755
+#: ../Gtk/gui.py:4839
 msgid ""
 "Type of Office:\n"
 "                           C: Central office\n"
@@ -1096,134 +1127,143 @@
 "                           D: Delegación\n"
 "                           R: Representante"
 
-#: ../Gtk/gui.py:4760
+#: ../Gtk/gui.py:4844
 msgid "Office name"
 msgstr "Nombre de la oficina"
 
-#: ../Gtk/gui.py:4761
+#: ../Gtk/gui.py:4845
 msgid "Address"
 msgstr "Dirección"
 
-#: ../Gtk/gui.py:4762
+#: ../Gtk/gui.py:4846
 msgid "Postal code"
 msgstr "Código postal"
 
-#: ../Gtk/gui.py:4763
+#: ../Gtk/gui.py:4847
 msgid "Town"
 msgstr "Ciudad"
 
-#: ../Gtk/gui.py:4764
+#: ../Gtk/gui.py:4848
 msgid "Province"
 msgstr "Provincia"
 
-#: ../Gtk/gui.py:4765
+#: ../Gtk/gui.py:4849
 msgid "Country"
 msgstr "Ciudad"
 
-#: ../Gtk/gui.py:4766
+#: ../Gtk/gui.py:4850
 msgid "Phone"
 msgstr "Teléfono"
 
-#: ../Gtk/gui.py:4767
+#: ../Gtk/gui.py:4851
 msgid "Phone numbers of the office"
 msgstr "Teléfono de la officina"
 
-#: ../Gtk/gui.py:4768
+#: ../Gtk/gui.py:4852
 msgid "Fax"
 msgstr "Fax"
 
-#: ../Gtk/gui.py:4769
+#: ../Gtk/gui.py:4853
 msgid "Fax numbers of the office"
 msgstr "Fax de la oficina"
 
-#: ../Gtk/gui.py:4770
+#: ../Gtk/gui.py:4854
 msgid "Contact person"
 msgstr "Persona de contacto"
 
-#: ../Gtk/gui.py:4771
+#: ../Gtk/gui.py:4855
 msgid "Contact persons in the office"
 msgstr "Persona de contacto en la oficina"
 
-#: ../Gtk/gui.py:4775
+#: ../Gtk/gui.py:4859
 msgid "Unknow Option Type"
 msgstr "Tipo de opcion desconocida"
 
-#: ../Gtk/gui.py:5002
+#: ../Gtk/gui.py:5090
 msgid "Boolean"
 msgstr "Booleano"
 
-#: ../Gtk/gui.py:5003
+#: ../Gtk/gui.py:5091
 msgid "Integer"
 msgstr "Entero"
 
-#: ../Gtk/gui.py:5004
+#: ../Gtk/gui.py:5092
 msgid "Text"
 msgstr "Texto"
 
-#: ../Gtk/gui.py:5005
+#: ../Gtk/gui.py:5093
 msgid "Color"
 msgstr "Color"
 
-#: ../Gtk/gui.py:5006
+#: ../Gtk/gui.py:5094
 msgid "List"
 msgstr "Lista"
 
-#: ../Gtk/gui.py:5040
+#: ../Gtk/gui.py:5128
 msgid "Option name"
 msgstr "Nombre de Opción"
 
-#: ../Gtk/gui.py:5053
+#: ../Gtk/gui.py:5141
 msgid "Value"
 msgstr "Valor"
 
-#: ../Gtk/gui.py:5094
+#: ../Gtk/gui.py:5182
 msgid "Description:"
 msgstr "Descripción:"
 
-#: ../Gtk/gui.py:5258
+#: ../Gtk/gui.py:5343
 msgid "Option values must be strings"
 msgstr "Los valores de la opción deben ser cadenas"
 
-#: ../Gtk/gui.py:5260
+#: ../Gtk/gui.py:5345
 msgid "Option must be a tuple with 4 items"
 msgstr "La opcion debe ser una tupla de 4 elementos"
 
-#: ../Gtk/gui.py:5262
+#: ../Gtk/gui.py:5347
 msgid "Option list must be a list"
 msgstr "La lista de opciones debe ser una lista lista"
 
-#: ../Gtk/gui.py:5282
+#: ../Gtk/gui.py:5367
 msgid "Icorrect type, must be boolean"
 msgstr "Tipo erroneo, debe ser booleano"
 
-#: ../Gtk/gui.py:5287
+#: ../Gtk/gui.py:5372
 msgid "Icorrect type, must be integer"
 msgstr "Tipo erroneo, debe ser un número entero"
 
-#: ../Gtk/gui.py:5300
+#: ../Gtk/gui.py:5385
 msgid "Icorrect type, must be string"
 msgstr "Tipo erroneo, debe ser una cadena de texto"
 
-#: ../Gtk/gui.py:5313
+#: ../Gtk/gui.py:5398
 msgid "Icorrect type, must be list"
 msgstr "Tipo erroneo, debe ser una lista"
 
-#: ../Gtk/gui.py:5317
+#: ../Gtk/gui.py:5402
 msgid "Icorrect type, must be a parseable color"
 msgstr "Tipo erroneo, debe ser un color parseable"
 
-#: ../Gtk/gui.py:5325
+#: ../Gtk/gui.py:5410
 msgid "Type must be boolean, integer, string or color"
 msgstr "El tipo debe ser booleano, entero, cadena de texto o color"
 
-#: ../Gtk/gui.py:5328
+#: ../Gtk/gui.py:5413
 msgid "Value must be in the option dict"
 msgstr "El valor debe estar en el diccionario de opciones"
 
-#: ../Gtk/gui.py:5331
+#: ../Gtk/gui.py:5416
 msgid "Values must be a dict"
 msgstr "El valor debe ser un dicionario"
 
+#~ msgid "Price must be a float number: $1"
+#~ msgstr "Precio debe ser un número de coma flotante: $1"
+
+#~ msgid "Measure Comment must be a string ($1)"
+#~ msgstr "El comentario de la medición debe ser una cadena ($1)"
+
+#~ msgid "The summary must be a string"
+#~ msgstr "El resumen debe ser una cadena de texto"
+
 #~ msgid "Incorrent Base version"
 #~ msgstr "Versión de la Base incorrecta"