commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r9021 - in trunk/gnue-forms: . doc doc/man po src


From: reinhard
Subject: [gnue] r9021 - in trunk/gnue-forms: . doc doc/man po src
Date: Thu, 9 Nov 2006 09:34:11 -0600 (CST)

Author: reinhard
Date: 2006-11-09 09:33:59 -0600 (Thu, 09 Nov 2006)
New Revision: 9021

Modified:
   trunk/gnue-forms/NEWS
   trunk/gnue-forms/doc/gnue-forms.dtd
   trunk/gnue-forms/doc/man/gnue-forms.1
   trunk/gnue-forms/po/de.po
   trunk/gnue-forms/po/es_ES.po
   trunk/gnue-forms/po/es_MX.po
   trunk/gnue-forms/po/fr.po
   trunk/gnue-forms/po/hu.po
   trunk/gnue-forms/po/lt.po
   trunk/gnue-forms/po/nl.po
   trunk/gnue-forms/po/ro.po
   trunk/gnue-forms/po/ru.po
   trunk/gnue-forms/src/__init__.py
Log:
Released 0.6-alpha1.

Modified: trunk/gnue-forms/NEWS
===================================================================
--- trunk/gnue-forms/NEWS       2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/NEWS       2006-11-09 15:33:59 UTC (rev 9021)
@@ -1,3 +1,25 @@
+New features/changes in version 0.6.0: (????-??-??)
+* Completely reworked
+* [qt3] new user interface
+* Dynamic layout
+* Grids
+
+New features/changes in version 0.5.16: (2006-09-12)
+* [wx26] Block mouse wheel event in dropdowns under MSW
+* Call POST-CHANGE trigger immediately on checkbox clicks
+* Fixed looking up of non-string foreign keys
+
+New features/changes in version 0.5.15: (2006-08-24)
+* [wx26] Added clipboard handling
+* [wx26] Fixed hiding the splash screen when main form is a dialog
+* [wx26] Fixed focus handling for dropdowns
+* Fix for a bug that made GFField.resetForeignKey unusable
+* Select the whole text when focus hits an entry
+* Query for "False" values with checkboxes
+* Query for empty values in dropdowns
+* Case insensitive query
+* Fixed traceback when moving the scrollbar while a button has the foucs
+
 New features/changes in version 0.5.14: (2006-03-27)
 * [wx26] New user interface driver
 * Allow user defined keystroke handlers

Modified: trunk/gnue-forms/doc/gnue-forms.dtd
===================================================================
--- trunk/gnue-forms/doc/gnue-forms.dtd 2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/doc/gnue-forms.dtd 2006-11-09 15:33:59 UTC (rev 9021)
@@ -1,4 +1,4 @@
-<!-- GNUe-Forms DTD (Version 0.5.14) -->
+<!-- GNUe-Forms DTD (Version 0.6-alpha1) -->
 
 <!--
      Copyright 2001-2005 Free Software Foundation
@@ -51,16 +51,16 @@
      interface will show to the user. -->
 <!ELEMENT form (connection*, datasource*, dialog*, import-datasource*, 
                 import-dialog*, import-layout?, import-logic?, layout, logic, 
-                menu*, options*, parameter*)>
-<!-- name: A unique name or ID for the form. -->
-<!ATTLIST form name ID #IMPLIED>
-<!-- readonly: If set to {Y}, then no modifications to data by the end user 
+                menu*, options*, parameter*, toolbar*)>
+  <!-- name: A unique name or ID for the form. -->
+  <!ATTLIST form name ID #IMPLIED>
+  <!-- readonly: If set to {Y}, then no modifications to data by the end user 
        will be allowed. The form will become a query-only form. -->
-<!ATTLIST form readonly %boolean;>
-<!-- style: Display as normal or dialog-style window. -->
-<!ATTLIST form style (dialog | normal) "normal">
-<!-- title: The title of the form. -->
-<!ATTLIST form title %text; "Untitled Form">
+  <!ATTLIST form readonly %boolean;>
+  <!-- style: Display as normal or dialog-style window. -->
+  <!ATTLIST form style (dialog | normal) "normal">
+  <!-- title: The title of the form. -->
+  <!ATTLIST form title %text; "Untitled Form">
 
 
 <!-- ====================== -->
@@ -68,206 +68,209 @@
 <!-- ====================== -->
 <!-- TODO -->
 <!ELEMENT connection EMPTY>
-<!-- name: TODO -->
-<!ATTLIST connection name ID #REQUIRED>
-<!-- provider: TODO -->
-<!ATTLIST connection provider %name; #REQUIRED>
-<!-- comment: TODO -->
-<!ATTLIST connection comment %text; #IMPLIED>
-<!-- dbname: TODO -->
-<!ATTLIST connection dbname %text; #IMPLIED>
-<!-- host: TODO -->
-<!ATTLIST connection host %text; #IMPLIED>
-<!-- service: TODO -->
-<!ATTLIST connection service %text; #IMPLIED>
+  <!-- name: TODO -->
+  <!ATTLIST connection name ID #REQUIRED>
+  <!-- provider: TODO -->
+  <!ATTLIST connection provider %name; #REQUIRED>
+  <!-- comment: TODO -->
+  <!ATTLIST connection comment %text; #IMPLIED>
+  <!-- dbname: TODO -->
+  <!ATTLIST connection dbname %text; #IMPLIED>
+  <!-- host: TODO -->
+  <!ATTLIST connection host %text; #IMPLIED>
+  <!-- service: TODO -->
+  <!ATTLIST connection service %text; #IMPLIED>
 
 <!-- A datasource provides a link to a database table or some similar data 
      store. -->
 <!ELEMENT datasource (condition*, sortorder*, sql*, staticset*)>
-<!-- name: Unique name of the datasource. -->
-<!ATTLIST datasource name ID #REQUIRED>
-<!-- cache: Cache this number of records -->
-<!ATTLIST datasource cache %whole; "5">
-<!-- connection: The name of the connection as in connections.conf that points 
-       to a valid database. -->
-<!ATTLIST datasource connection %name; #IMPLIED>
-<!-- DEPRECATED: The "database" attribute of "datasource" has been deprecated 
-                 [Use {connection} attribute instead] -->
-<!ATTLIST datasource database %name; #IMPLIED>
-<!-- detaillink: If this datasource is the child in a master/detail 
+  <!-- name: Unique name of the datasource. -->
+  <!ATTLIST datasource name ID #REQUIRED>
+  <!-- cache: Cache this number of records -->
+  <!ATTLIST datasource cache %whole; "5">
+  <!-- connection: The name of the connection as in connections.conf that 
+       points to a valid database. -->
+  <!ATTLIST datasource connection %name; #IMPLIED>
+  <!-- DEPRECATED: The "database" attribute of "datasource" has been 
+                 deprecated [Use {connection} attribute instead] -->
+  <!ATTLIST datasource database %name; #IMPLIED>
+  <!-- detaillink: If this datasource is the child in a master/detail 
        relationship, this property contains a comma-separated list of the this 
        (child's) datasource's field(s) used for linking. -->
-<!ATTLIST datasource detaillink %text; #IMPLIED>
-<!-- detailmax: If this datasource is the child in a master/detail 
+  <!ATTLIST datasource detaillink %text; #IMPLIED>
+  <!-- detailmax: If this datasource is the child in a master/detail 
        relationship, this property specifies the maximum number of child 
        records that can be created. Usually, this is either omitted (for 
        one-to-many relationships) or 1 (for one-to-one relationships). -->
-<!ATTLIST datasource detailmax %whole; #IMPLIED>
-<!-- detailmin: If this datasource is the child in a master/detail 
+  <!ATTLIST datasource detailmax %whole; #IMPLIED>
+  <!-- detailmin: If this datasource is the child in a master/detail 
        relationship, this property specifies the minimum number of child 
        records that must be present for a commit to be valid. Usually, this is 
        0 (for one-to-many relationships) or 1 (for one-to-one relationships). 
        -->
-<!ATTLIST datasource detailmin %whole; "0">
-<!-- distinct: TODO -->
-<!ATTLIST datasource distinct %boolean;>
-<!-- explicitfields: TODO -->
-<!ATTLIST datasource explicitfields %text; #IMPLIED>
-<!-- master: If this datasource is the child in a master/detail relationship, 
-       this property contains the name of the master datasource. -->
-<!ATTLIST datasource master %name; #IMPLIED>
-<!-- masterlink: If this datasource is the child in a master/detail 
+  <!ATTLIST datasource detailmin %whole; "0">
+  <!-- distinct: TODO -->
+  <!ATTLIST datasource distinct %boolean;>
+  <!-- explicitfields: TODO -->
+  <!ATTLIST datasource explicitfields %text; #IMPLIED>
+  <!-- master: If this datasource is the child in a master/detail 
+       relationship, this property contains the name of the master datasource. 
+       -->
+  <!ATTLIST datasource master %name; #IMPLIED>
+  <!-- masterlink: If this datasource is the child in a master/detail 
        relationship, this property contains a comma-separated list of the 
        master datasource's field(s) used for linking. -->
-<!ATTLIST datasource masterlink %text; #IMPLIED>
-<!-- DEPRECATED: The "order_by" attribute of "datasource" has been deprecated 
-                 [Use {sortorder} tag instead] -->
-<!ATTLIST datasource order_by %text; #IMPLIED>
-<!-- prequery: If true, the datasource is populated on form startup. If false 
-       (default), the form starts out with an empty record until the user or a 
-       trigger queries the database. -->
-<!ATTLIST datasource prequery %boolean;>
-<!-- primarykey: Comma-separated list of the fields that make up the primary 
+  <!ATTLIST datasource masterlink %text; #IMPLIED>
+  <!-- DEPRECATED: The "order_by" attribute of "datasource" has been 
+                 deprecated [Use {sortorder} tag instead] -->
+  <!ATTLIST datasource order_by %text; #IMPLIED>
+  <!-- prequery: If true, the datasource is populated on form startup. If 
+       false (default), the form starts out with an empty record until the 
+       user or a trigger queries the database. -->
+  <!ATTLIST datasource prequery %boolean;>
+  <!-- primarykey: Comma-separated list of the fields that make up the primary 
        key. -->
-<!ATTLIST datasource primarykey %text; #IMPLIED>
-<!-- primarykeyseq: Name of the sequence used to populate a primary key (only 
-       applies to relational backends that support sequences; requires a 
+  <!ATTLIST datasource primarykey %text; #IMPLIED>
+  <!-- primarykeyseq: Name of the sequence used to populate a primary key 
+       (only applies to relational backends that support sequences; requires a 
        single {primarykey} value. -->
-<!ATTLIST datasource primarykeyseq %text; #IMPLIED>
-<!-- requery: Requery a record after posting it; requires {primarykey} support 
-       and a non-null primary key value at the time of update (whether via a 
-       trigger or by the use of {primarykeyseq}. -->
-<!ATTLIST datasource requery %boolean;>
-<!-- table: The table in the database this datasource will point to. -->
-<!ATTLIST datasource table %name; "">
-<!ATTLIST datasource type %name; "object">
+  <!ATTLIST datasource primarykeyseq %text; #IMPLIED>
+  <!-- requery: Requery a record after posting it; requires {primarykey} 
+       support and a non-null primary key value at the time of update (whether 
+       via a trigger or by the use of {primarykeyseq}. -->
+  <!ATTLIST datasource requery %boolean;>
+  <!-- table: The table in the database this datasource will point to. -->
+  <!ATTLIST datasource table %name; "">
+  <!ATTLIST datasource type %name; "object">
 
 <!-- Top-level element that encloses all the logic and visuals that the user 
      interface will show to the user. -->
 <!ELEMENT dialog (connection*, datasource*, import-datasource*, 
                   import-layout?, import-logic?, layout, logic, options*, 
                   parameter*)>
-<!-- name: A unique name or ID for the form. -->
-<!ATTLIST dialog name ID #IMPLIED>
-<!-- readonly: If set to {Y}, then no modifications to data by the end user 
+  <!-- name: A unique name or ID for the form. -->
+  <!ATTLIST dialog name ID #IMPLIED>
+  <!-- readonly: If set to {Y}, then no modifications to data by the end user 
        will be allowed. The form will become a query-only form. -->
-<!ATTLIST dialog readonly %boolean;>
-<!-- style: Display as normal or dialog-style window. -->
-<!ATTLIST dialog style (dialog | normal) "dialog">
-<!-- title: The title of the form. -->
-<!ATTLIST dialog title %text; "Untitled Form">
+  <!ATTLIST dialog readonly %boolean;>
+  <!-- style: Display as normal or dialog-style window. -->
+  <!ATTLIST dialog style (dialog | normal) "dialog">
+  <!-- title: The title of the form. -->
+  <!ATTLIST dialog title %text; "Untitled Form">
 
 <!-- A datasource provides a link to a database table or some similar data 
      store. -->
 <!ELEMENT import-datasource EMPTY>
-<!-- name: Unique name of the datasource. -->
-<!ATTLIST import-datasource name ID #REQUIRED>
-<!ATTLIST import-datasource library %name; #REQUIRED>
-<!-- cache: Cache this number of records -->
-<!ATTLIST import-datasource cache %whole; "5">
-<!-- connection: The name of the connection as in connections.conf that points 
-       to a valid database. -->
-<!ATTLIST import-datasource connection %name; #IMPLIED>
-<!-- DEPRECATED: The "database" attribute of "import-datasource" has been 
+  <!-- name: Unique name of the datasource. -->
+  <!ATTLIST import-datasource name ID #REQUIRED>
+  <!ATTLIST import-datasource library %name; #REQUIRED>
+  <!-- cache: Cache this number of records -->
+  <!ATTLIST import-datasource cache %whole; "5">
+  <!-- connection: The name of the connection as in connections.conf that 
+       points to a valid database. -->
+  <!ATTLIST import-datasource connection %name; #IMPLIED>
+  <!-- DEPRECATED: The "database" attribute of "import-datasource" has been 
                  deprecated [Use {connection} attribute instead] -->
-<!ATTLIST import-datasource database %name; #IMPLIED>
-<!-- detaillink: If this datasource is the child in a master/detail 
+  <!ATTLIST import-datasource database %name; #IMPLIED>
+  <!-- detaillink: If this datasource is the child in a master/detail 
        relationship, this property contains a comma-separated list of the this 
        (child's) datasource's field(s) used for linking. -->
-<!ATTLIST import-datasource detaillink %text; #IMPLIED>
-<!-- detailmax: If this datasource is the child in a master/detail 
+  <!ATTLIST import-datasource detaillink %text; #IMPLIED>
+  <!-- detailmax: If this datasource is the child in a master/detail 
        relationship, this property specifies the maximum number of child 
        records that can be created. Usually, this is either omitted (for 
        one-to-many relationships) or 1 (for one-to-one relationships). -->
-<!ATTLIST import-datasource detailmax %whole; #IMPLIED>
-<!-- detailmin: If this datasource is the child in a master/detail 
+  <!ATTLIST import-datasource detailmax %whole; #IMPLIED>
+  <!-- detailmin: If this datasource is the child in a master/detail 
        relationship, this property specifies the minimum number of child 
        records that must be present for a commit to be valid. Usually, this is 
        0 (for one-to-many relationships) or 1 (for one-to-one relationships). 
        -->
-<!ATTLIST import-datasource detailmin %whole; "0">
-<!-- distinct: TODO -->
-<!ATTLIST import-datasource distinct %boolean;>
-<!-- explicitfields: TODO -->
-<!ATTLIST import-datasource explicitfields %text; #IMPLIED>
-<!-- master: If this datasource is the child in a master/detail relationship, 
-       this property contains the name of the master datasource. -->
-<!ATTLIST import-datasource master %name; #IMPLIED>
-<!-- masterlink: If this datasource is the child in a master/detail 
+  <!ATTLIST import-datasource detailmin %whole; "0">
+  <!-- distinct: TODO -->
+  <!ATTLIST import-datasource distinct %boolean;>
+  <!-- explicitfields: TODO -->
+  <!ATTLIST import-datasource explicitfields %text; #IMPLIED>
+  <!-- master: If this datasource is the child in a master/detail 
+       relationship, this property contains the name of the master datasource. 
+       -->
+  <!ATTLIST import-datasource master %name; #IMPLIED>
+  <!-- masterlink: If this datasource is the child in a master/detail 
        relationship, this property contains a comma-separated list of the 
        master datasource's field(s) used for linking. -->
-<!ATTLIST import-datasource masterlink %text; #IMPLIED>
-<!-- DEPRECATED: The "order_by" attribute of "import-datasource" has been 
+  <!ATTLIST import-datasource masterlink %text; #IMPLIED>
+  <!-- DEPRECATED: The "order_by" attribute of "import-datasource" has been 
                  deprecated [Use {sortorder} tag instead] -->
-<!ATTLIST import-datasource order_by %text; #IMPLIED>
-<!-- prequery: If true, the datasource is populated on form startup. If false 
-       (default), the form starts out with an empty record until the user or a 
-       trigger queries the database. -->
-<!ATTLIST import-datasource prequery %boolean;>
-<!-- primarykey: Comma-separated list of the fields that make up the primary 
+  <!ATTLIST import-datasource order_by %text; #IMPLIED>
+  <!-- prequery: If true, the datasource is populated on form startup. If 
+       false (default), the form starts out with an empty record until the 
+       user or a trigger queries the database. -->
+  <!ATTLIST import-datasource prequery %boolean;>
+  <!-- primarykey: Comma-separated list of the fields that make up the primary 
        key. -->
-<!ATTLIST import-datasource primarykey %text; #IMPLIED>
-<!-- primarykeyseq: Name of the sequence used to populate a primary key (only 
-       applies to relational backends that support sequences; requires a 
+  <!ATTLIST import-datasource primarykey %text; #IMPLIED>
+  <!-- primarykeyseq: Name of the sequence used to populate a primary key 
+       (only applies to relational backends that support sequences; requires a 
        single {primarykey} value. -->
-<!ATTLIST import-datasource primarykeyseq %text; #IMPLIED>
-<!-- requery: Requery a record after posting it; requires {primarykey} support 
-       and a non-null primary key value at the time of update (whether via a 
-       trigger or by the use of {primarykeyseq}. -->
-<!ATTLIST import-datasource requery %boolean;>
-<!-- table: The table in the database this datasource will point to. -->
-<!ATTLIST import-datasource table %name; "">
-<!ATTLIST import-datasource type %name; "object">
+  <!ATTLIST import-datasource primarykeyseq %text; #IMPLIED>
+  <!-- requery: Requery a record after posting it; requires {primarykey} 
+       support and a non-null primary key value at the time of update (whether 
+       via a trigger or by the use of {primarykeyseq}. -->
+  <!ATTLIST import-datasource requery %boolean;>
+  <!-- table: The table in the database this datasource will point to. -->
+  <!ATTLIST import-datasource table %name; "">
+  <!ATTLIST import-datasource type %name; "object">
 
 <!-- Top-level element that encloses all the logic and visuals that the user 
      interface will show to the user. -->
 <!ELEMENT import-dialog EMPTY>
-<!ATTLIST import-dialog library %name; #REQUIRED>
-<!-- name: A unique name or ID for the form. -->
-<!ATTLIST import-dialog name ID #IMPLIED>
-<!-- readonly: If set to {Y}, then no modifications to data by the end user 
+  <!ATTLIST import-dialog library %name; #REQUIRED>
+  <!-- name: A unique name or ID for the form. -->
+  <!ATTLIST import-dialog name ID #IMPLIED>
+  <!-- readonly: If set to {Y}, then no modifications to data by the end user 
        will be allowed. The form will become a query-only form. -->
-<!ATTLIST import-dialog readonly %boolean;>
-<!-- style: Display as normal or dialog-style window. -->
-<!ATTLIST import-dialog style (dialog | normal) "dialog">
-<!-- title: The title of the form. -->
-<!ATTLIST import-dialog title %text; "Untitled Form">
+  <!ATTLIST import-dialog readonly %boolean;>
+  <!-- style: Display as normal or dialog-style window. -->
+  <!ATTLIST import-dialog style (dialog | normal) "dialog">
+  <!-- title: The title of the form. -->
+  <!ATTLIST import-dialog title %text; "Untitled Form">
 
 <!-- Separation layer that contains all the visual elements on the form. -->
 <!ELEMENT import-layout EMPTY>
-<!ATTLIST import-layout library %name; #REQUIRED>
-<!-- tabbed: Informs the UI subsystem to display a form's pages as notebook 
+  <!ATTLIST import-layout library %name; #REQUIRED>
+  <!-- name: A unique name or ID for the form. -->
+  <!ATTLIST import-layout name ID #IMPLIED>
+  <!-- tabbed: Informs the UI subsystem to display a form's pages as notebook 
        tabs. Allowed values are {left}, {right}, {bottom}, {top}. If the UI 
        driver in use does not support the chosen tab position (or tabs at 
        all,) then the UI driver may choose another tab position. -->
-<!ATTLIST import-layout tabbed (bottom | left | none | right | top) "none">
+  <!ATTLIST import-layout tabbed (bottom | left | none | right | top) "none">
 
 <!-- Separation layer that contains "Business logic": blocks, fields, 
      block-level and field-level triggers. -->
 <!ELEMENT import-logic EMPTY>
-<!ATTLIST import-logic library %name; #REQUIRED>
+  <!ATTLIST import-logic library %name; #REQUIRED>
 
 <!-- Separation layer that contains all the visual elements on the form. -->
 <!ELEMENT layout (import-page*, page+)>
-<!-- tabbed: Informs the UI subsystem to display a form's pages as notebook 
+  <!-- name: A unique name or ID for the form. -->
+  <!ATTLIST layout name ID #IMPLIED>
+  <!-- tabbed: Informs the UI subsystem to display a form's pages as notebook 
        tabs. Allowed values are {left}, {right}, {bottom}, {top}. If the UI 
        driver in use does not support the chosen tab position (or tabs at 
        all,) then the UI driver may choose another tab position. -->
-<!ATTLIST layout tabbed (bottom | left | none | right | top) "none">
+  <!ATTLIST layout tabbed (bottom | left | none | right | top) "none">
 
 <!-- Separation layer that contains "Business logic": blocks, fields, 
      block-level and field-level triggers. -->
-<!ELEMENT logic (block+, import-block*)>
+<!ELEMENT logic (block*, import-block*)>
 
-<!ELEMENT menu EMPTY>
-<!ATTLIST menu name ID #REQUIRED>
-<!ATTLIST menu enabled %boolean;>
-<!ATTLIST menu event %text; #IMPLIED>
-<!ATTLIST menu label %name; #IMPLIED>
-<!ATTLIST menu leader %text; #IMPLIED>
-<!ATTLIST menu location %text; #IMPLIED>
-<!ATTLIST menu trigger %name; #IMPLIED>
-<!ATTLIST menu type %name; #IMPLIED>
+<!-- A menu or submenu containing menu items and/or submenus -->
+<!ELEMENT menu (menu*, menuitem*)>
+  <!-- name: Name of this element -->
+  <!ATTLIST menu name ID #REQUIRED>
+  <!-- label: Text to use if this is a submenu -->
+  <!ATTLIST menu label %text; #IMPLIED>
 
 <!-- TODO -->
 <!ELEMENT options (author?, description?, name?, option*, tip?, title?, 
@@ -276,33 +279,38 @@
 <!-- A form can get parameters from the outer world or a calling form, and can 
      pass values back too in these parameters. -->
 <!ELEMENT parameter EMPTY>
-<!-- name: Unique name of the parameter. -->
-<!ATTLIST parameter name ID #REQUIRED>
-<!-- default: Default value of the parameter, if the user does not provide a 
+  <!-- name: Unique name of the parameter. -->
+  <!ATTLIST parameter name ID #REQUIRED>
+  <!-- default: Default value of the parameter, if the user does not provide a 
        value for it. -->
-<!ATTLIST parameter default %text; #IMPLIED>
-<!-- description: Provide some textual information to describe the parameter 
+  <!ATTLIST parameter default %text; #IMPLIED>
+  <!-- description: Provide some textual information to describe the parameter 
        better. -->
-<!ATTLIST parameter description %text; #IMPLIED>
-<!-- required: Is it obligatory to provide this parameter to run the form? -->
-<!ATTLIST parameter required %boolean;>
-<!-- type: TODO -->
-<!ATTLIST parameter type %name; "char">
+  <!ATTLIST parameter description %text; #IMPLIED>
+  <!-- required: Is it obligatory to provide this parameter to run the form? 
+       -->
+  <!ATTLIST parameter required %boolean;>
+  <!-- type: TODO -->
+  <!ATTLIST parameter type %name; "char">
 
+<!-- A toolbar containing tool buttons -->
+<!ELEMENT toolbar (toolbutton*)>
+  <!-- name: Name of this element -->
+  <!ATTLIST toolbar name ID #REQUIRED>
 
+
 <!-- ============================ -->
 <!-- Child elements of datasource -->
 <!-- ============================ -->
-<!ELEMENT condition (and*, between*, eq*, ge*, gt*, le*, like*, lt*, ne*, 
-                     negate*, not*, notbetween*, notlike*, notnull*, null*, 
-                     or*)>
+<!ELEMENT condition (and*, between*, eq*, exist*, ge*, gt*, le*, like*, lt*, 
+                     ne*, not*, notbetween*, notlike*, notnull*, null*, or*)>
 
 <!ELEMENT sortorder (sortfield*)>
 
 <!ELEMENT sql EMPTY>
 
 <!ELEMENT staticset (staticsetrow*)>
-<!ATTLIST staticset fields %text; #REQUIRED>
+  <!ATTLIST staticset fields %text; #REQUIRED>
 
 
 <!-- ======================== -->
@@ -310,37 +318,37 @@
 <!-- ======================== -->
 <!-- Encapsulates visual elements to be displayed on a page. -->
 <!ELEMENT import-page EMPTY>
-<!ATTLIST import-page library %name; #REQUIRED>
-<!-- caption: For {tabbed} or {popup} pages, this contains the caption to use 
-       for the page. -->
-<!ATTLIST import-page caption %text; #IMPLIED>
-<!-- name: A unique ID for the widget. This is only useful when importing 
+  <!ATTLIST import-page library %name; #REQUIRED>
+  <!-- caption: For {tabbed} or {popup} pages, this contains the caption to 
+       use for the page. -->
+  <!ATTLIST import-page caption %text; #IMPLIED>
+  <!-- name: A unique ID for the widget. This is only useful when importing 
        pages from a library. -->
-<!ATTLIST import-page name ID #IMPLIED>
-<!-- style: The type of page. -->
-<!ATTLIST import-page style %name; #FIXED "normal">
-<!-- transparent: If set, then you can tab out of the page via next- or 
+  <!ATTLIST import-page name ID #IMPLIED>
+  <!-- style: The type of page. -->
+  <!ATTLIST import-page style %name; #FIXED "normal">
+  <!-- transparent: If set, then you can tab out of the page via next- or 
        previous-field events. Makes navigation in mutlipage forms easier. If 
        false, focus stays within a page until user explicitly moves to another 
        page -->
-<!ATTLIST import-page transparent %boolean;>
+  <!ATTLIST import-page transparent %boolean;>
 
 <!-- Encapsulates visual elements to be displayed on a page. -->
-<!ELEMENT page (box*, button*, component*, entry*, image*, import-button*, 
-                label*, scrollbar*, tree*)>
-<!-- caption: For {tabbed} or {popup} pages, this contains the caption to use 
-       for the page. -->
-<!ATTLIST page caption %text; #IMPLIED>
-<!-- name: A unique ID for the widget. This is only useful when importing 
+<!ELEMENT page (box*, button*, component*, entry*, grid*, hbox*, image*, 
+                import-button*, label*, scrollbar*, vbox*)>
+  <!-- caption: For {tabbed} or {popup} pages, this contains the caption to 
+       use for the page. -->
+  <!ATTLIST page caption %text; #IMPLIED>
+  <!-- name: A unique ID for the widget. This is only useful when importing 
        pages from a library. -->
-<!ATTLIST page name ID #IMPLIED>
-<!-- style: The type of page. -->
-<!ATTLIST page style %name; #FIXED "normal">
-<!-- transparent: If set, then you can tab out of the page via next- or 
+  <!ATTLIST page name ID #IMPLIED>
+  <!-- style: The type of page. -->
+  <!ATTLIST page style %name; #FIXED "normal">
+  <!-- transparent: If set, then you can tab out of the page via next- or 
        previous-field events. Makes navigation in mutlipage forms easier. If 
        false, focus stays within a page until user explicitly moves to another 
        page -->
-<!ATTLIST page transparent %boolean;>
+  <!ATTLIST page transparent %boolean;>
 
 
 <!-- ======================= -->
@@ -349,222 +357,281 @@
 <!-- A block contains instructions on how Forms should interact with a 
      datasource. -->
 <!ELEMENT block (field*, import-field*)>
-<!-- name: A unique ID (name) for the widget. No blocks can share the same 
+  <!-- name: A unique ID (name) for the widget. No blocks can share the same 
        name without causing namespace collisions in user triggers. -->
-<!ATTLIST block name ID #REQUIRED>
-<!-- autoClear: If set, then the block is cleared/emptied on a commit. -->
-<!ATTLIST block autoClear %boolean;>
-<!-- autoCommit: If set, then the datasource will automatically commit changes 
-       when trying to navigate out of the current record. -->
-<!ATTLIST block autoCommit %boolean;>
-<!-- autoCreate: If set, then if you attempt to go to the next record while at 
-       the last record, a new record is created. -->
-<!ATTLIST block autoCreate %boolean;>
-<!-- autoNextRecord: If set, then if you tab at the end of a block, you will 
+  <!ATTLIST block name ID #REQUIRED>
+  <!-- autoClear: If set, then the block is cleared/emptied on a commit. -->
+  <!ATTLIST block autoClear %boolean;>
+  <!-- autoCommit: If set, then the datasource will automatically commit 
+       changes when trying to navigate out of the current record. -->
+  <!ATTLIST block autoCommit %boolean;>
+  <!-- autoCreate: If set, then if you attempt to go to the next record while 
+       at the last record, a new record is created. -->
+  <!ATTLIST block autoCreate %boolean;>
+  <!-- autoNextRecord: If set, then if you tab at the end of a block, you will 
        be taken to the next record. If the current record is empty and 
        transparent is true, then you will be taken to the next block -->
-<!ATTLIST block autoNextRecord %boolean;>
-<!-- datasource: The name of a datasource (defined in by a {<datasource>} tag) 
-       that provides this block with it's data. -->
-<!ATTLIST block datasource IDREF #IMPLIED>
-<!-- deletable: Can records be deleted? -->
-<!ATTLIST block deletable %boolean;>
-<!-- editable: Can records be edited/created? -->
-<!ATTLIST block editable (N | Y | new | update) "Y">
-<!-- navigable: Can this block be navigated? -->
-<!ATTLIST block navigable %boolean;>
-<!-- queryable: Can records be queried? -->
-<!ATTLIST block queryable %boolean;>
-<!-- DEPRECATED: The "restrictDelete" attribute of "block" has been deprecated 
-                 [Use deletable="N"] -->
-<!-- restrictDelete: If set then the user will be unable to request that a 
+  <!ATTLIST block autoNextRecord %boolean;>
+  <!-- datasource: The name of a datasource (defined in by a {<datasource>} 
+       tag) that provides this block with it's data. -->
+  <!ATTLIST block datasource IDREF #IMPLIED>
+  <!-- deletable: Can records be deleted? -->
+  <!ATTLIST block deletable %boolean;>
+  <!-- editable: Can records be edited/created? -->
+  <!ATTLIST block editable (N | Y | new | update) "Y">
+  <!-- navigable: Can this block be navigated? -->
+  <!ATTLIST block navigable %boolean;>
+  <!-- queryable: Can records be queried? -->
+  <!ATTLIST block queryable %boolean;>
+  <!-- DEPRECATED: The "restrictDelete" attribute of "block" has been 
+                 deprecated [Use deletable="N"] -->
+  <!-- restrictDelete: If set then the user will be unable to request that a 
        record be deleted via the user interface. -->
-<!ATTLIST block restrictDelete %boolean;>
-<!-- DEPRECATED: The "restrictInsert" attribute of "block" has been deprecated 
-                 [Use editable="update"] -->
-<!-- restrictInsert: If set then the user will be unable to request that new 
+  <!ATTLIST block restrictDelete %boolean;>
+  <!-- DEPRECATED: The "restrictInsert" attribute of "block" has been 
+                 deprecated [Use editable="update"] -->
+  <!-- restrictInsert: If set then the user will be unable to request that new 
        records be inserted into the block. -->
-<!ATTLIST block restrictInsert %boolean;>
-<!-- rowSpacer: Adjusts the vertical gap of this number of rows between 
+  <!ATTLIST block restrictInsert %boolean;>
+  <!-- rowSpacer: Adjusts the vertical gap of this number of rows between 
        duplicated widgets. Serves the same purpose as some of the gap 
        attributes on individual widgets. -->
-<!ATTLIST block rowSpacer %whole; #IMPLIED>
-<!-- rows: Any widgets inside the block will display this number of copies in 
-       a verticle column. Simulates a grid entry system. -->
-<!ATTLIST block rows %whole; #IMPLIED>
-<!-- transparent: If set, then you can tab out of the block via next- or 
+  <!ATTLIST block rowSpacer %whole; #IMPLIED>
+  <!-- rows: Any widgets inside the block will display this number of copies 
+       in a verticle column. Simulates a grid entry system. -->
+  <!ATTLIST block rows %whole; #IMPLIED>
+  <!-- startup: State in which the block will be on form startup. 'Empty' 
+       means the block is filled with a single empty record, 'full' means the 
+       block is populated with the result of a full query. -->
+  <!ATTLIST block startup (empty | full) "empty">
+  <!-- transparent: If set, then you can tab out of the block via next- or 
        previous-field events. Makes navigation in multiblock forms easier. If 
        false, focus stays within a block until user explicitly moves to 
        another block. Note that a block's {autoNextRecord}setting affects 
        {transparent} behavior -->
-<!ATTLIST block transparent %boolean;>
+  <!ATTLIST block transparent %boolean;>
 
 <!-- A block contains instructions on how Forms should interact with a 
      datasource. -->
 <!ELEMENT import-block EMPTY>
-<!-- name: A unique ID (name) for the widget. No blocks can share the same 
+  <!-- name: A unique ID (name) for the widget. No blocks can share the same 
        name without causing namespace collisions in user triggers. -->
-<!ATTLIST import-block name ID #REQUIRED>
-<!ATTLIST import-block library %name; #REQUIRED>
-<!-- autoClear: If set, then the block is cleared/emptied on a commit. -->
-<!ATTLIST import-block autoClear %boolean;>
-<!-- autoCommit: If set, then the datasource will automatically commit changes 
-       when trying to navigate out of the current record. -->
-<!ATTLIST import-block autoCommit %boolean;>
-<!-- autoCreate: If set, then if you attempt to go to the next record while at 
-       the last record, a new record is created. -->
-<!ATTLIST import-block autoCreate %boolean;>
-<!-- autoNextRecord: If set, then if you tab at the end of a block, you will 
+  <!ATTLIST import-block name ID #REQUIRED>
+  <!ATTLIST import-block library %name; #REQUIRED>
+  <!-- autoClear: If set, then the block is cleared/emptied on a commit. -->
+  <!ATTLIST import-block autoClear %boolean;>
+  <!-- autoCommit: If set, then the datasource will automatically commit 
+       changes when trying to navigate out of the current record. -->
+  <!ATTLIST import-block autoCommit %boolean;>
+  <!-- autoCreate: If set, then if you attempt to go to the next record while 
+       at the last record, a new record is created. -->
+  <!ATTLIST import-block autoCreate %boolean;>
+  <!-- autoNextRecord: If set, then if you tab at the end of a block, you will 
        be taken to the next record. If the current record is empty and 
        transparent is true, then you will be taken to the next block -->
-<!ATTLIST import-block autoNextRecord %boolean;>
-<!-- datasource: The name of a datasource (defined in by a {<datasource>} tag) 
-       that provides this block with it's data. -->
-<!ATTLIST import-block datasource IDREF #IMPLIED>
-<!-- deletable: Can records be deleted? -->
-<!ATTLIST import-block deletable %boolean;>
-<!-- editable: Can records be edited/created? -->
-<!ATTLIST import-block editable (N | Y | new | update) "Y">
-<!-- navigable: Can this block be navigated? -->
-<!ATTLIST import-block navigable %boolean;>
-<!-- queryable: Can records be queried? -->
-<!ATTLIST import-block queryable %boolean;>
-<!-- DEPRECATED: The "restrictDelete" attribute of "import-block" has been 
+  <!ATTLIST import-block autoNextRecord %boolean;>
+  <!-- datasource: The name of a datasource (defined in by a {<datasource>} 
+       tag) that provides this block with it's data. -->
+  <!ATTLIST import-block datasource IDREF #IMPLIED>
+  <!-- deletable: Can records be deleted? -->
+  <!ATTLIST import-block deletable %boolean;>
+  <!-- editable: Can records be edited/created? -->
+  <!ATTLIST import-block editable (N | Y | new | update) "Y">
+  <!-- navigable: Can this block be navigated? -->
+  <!ATTLIST import-block navigable %boolean;>
+  <!-- queryable: Can records be queried? -->
+  <!ATTLIST import-block queryable %boolean;>
+  <!-- DEPRECATED: The "restrictDelete" attribute of "import-block" has been 
                  deprecated [Use deletable="N"] -->
-<!-- restrictDelete: If set then the user will be unable to request that a 
+  <!-- restrictDelete: If set then the user will be unable to request that a 
        record be deleted via the user interface. -->
-<!ATTLIST import-block restrictDelete %boolean;>
-<!-- DEPRECATED: The "restrictInsert" attribute of "import-block" has been 
+  <!ATTLIST import-block restrictDelete %boolean;>
+  <!-- DEPRECATED: The "restrictInsert" attribute of "import-block" has been 
                  deprecated [Use editable="update"] -->
-<!-- restrictInsert: If set then the user will be unable to request that new 
+  <!-- restrictInsert: If set then the user will be unable to request that new 
        records be inserted into the block. -->
-<!ATTLIST import-block restrictInsert %boolean;>
-<!-- rowSpacer: Adjusts the vertical gap of this number of rows between 
+  <!ATTLIST import-block restrictInsert %boolean;>
+  <!-- rowSpacer: Adjusts the vertical gap of this number of rows between 
        duplicated widgets. Serves the same purpose as some of the gap 
        attributes on individual widgets. -->
-<!ATTLIST import-block rowSpacer %whole; #IMPLIED>
-<!-- rows: Any widgets inside the block will display this number of copies in 
-       a verticle column. Simulates a grid entry system. -->
-<!ATTLIST import-block rows %whole; #IMPLIED>
-<!-- transparent: If set, then you can tab out of the block via next- or 
+  <!ATTLIST import-block rowSpacer %whole; #IMPLIED>
+  <!-- rows: Any widgets inside the block will display this number of copies 
+       in a verticle column. Simulates a grid entry system. -->
+  <!ATTLIST import-block rows %whole; #IMPLIED>
+  <!-- startup: State in which the block will be on form startup. 'Empty' 
+       means the block is filled with a single empty record, 'full' means the 
+       block is populated with the result of a full query. -->
+  <!ATTLIST import-block startup (empty | full) "empty">
+  <!-- transparent: If set, then you can tab out of the block via next- or 
        previous-field events. Makes navigation in multiblock forms easier. If 
        false, focus stays within a block until user explicitly moves to 
        another block. Note that a block's {autoNextRecord}setting affects 
        {transparent} behavior -->
-<!ATTLIST import-block transparent %boolean;>
+  <!ATTLIST import-block transparent %boolean;>
 
 
+<!-- ====================== -->
+<!-- Child elements of menu -->
+<!-- ====================== -->
+<!-- A menu item that fires a trigger when selected -->
+<!ELEMENT menuitem EMPTY>
+  <!-- name: Name of this element -->
+  <!ATTLIST menuitem name ID #REQUIRED>
+  <!-- action: Name of the trigger to run whenever this menu item is selected 
+       -->
+  <!ATTLIST menuitem action IDREF #IMPLIED>
+  <!-- action_off: Name of the trigger to run whenever this menu item is 
+       switched to off -->
+  <!ATTLIST menuitem action_off IDREF #IMPLIED>
+  <!-- description: Text to display in the status bar for this menu item -->
+  <!ATTLIST menuitem description %text; #IMPLIED>
+  <!-- enabled: Determines whether this menu item will be enabled by default 
+       -->
+  <!ATTLIST menuitem enabled %boolean;>
+  <!-- icon: Icon to display besides this menu item -->
+  <!ATTLIST menuitem icon %name; #IMPLIED>
+  <!-- label: Text to use for this menu item -->
+  <!ATTLIST menuitem label %text; #IMPLIED>
+  <!-- state: Determines whether this menu item will be switched on by default 
+       -->
+  <!ATTLIST menuitem state %boolean;>
+
+
 <!-- ========================= -->
 <!-- Child elements of options -->
 <!-- ========================= -->
 <!-- TODO -->
 <!ELEMENT author EMPTY>
-<!-- name: TODO -->
-<!ATTLIST author name %name; #FIXED "author">
-<!-- value: TODO -->
-<!ATTLIST author value %text; #IMPLIED>
+  <!-- name: TODO -->
+  <!ATTLIST author name %name; #FIXED "author">
+  <!-- value: TODO -->
+  <!ATTLIST author value %text; #IMPLIED>
 
 <!-- TODO -->
 <!ELEMENT description EMPTY>
-<!-- name: TODO -->
-<!ATTLIST description name %name; #FIXED "description">
-<!-- value: TODO -->
-<!ATTLIST description value %text; #IMPLIED>
+  <!-- name: TODO -->
+  <!ATTLIST description name %name; #FIXED "description">
+  <!-- value: TODO -->
+  <!ATTLIST description value %text; #IMPLIED>
 
 <!-- TODO -->
 <!ELEMENT name EMPTY>
-<!-- name: TODO -->
-<!ATTLIST name name %name; #FIXED "name">
-<!-- value: TODO -->
-<!ATTLIST name value %text; #IMPLIED>
+  <!-- name: TODO -->
+  <!ATTLIST name name %name; #FIXED "name">
+  <!-- value: TODO -->
+  <!ATTLIST name value %text; #IMPLIED>
 
 <!-- TODO -->
 <!ELEMENT option EMPTY>
-<!-- name: TODO -->
-<!ATTLIST option name %name; #REQUIRED>
-<!-- value: TODO -->
-<!ATTLIST option value %text; #IMPLIED>
+  <!-- name: TODO -->
+  <!ATTLIST option name %name; #REQUIRED>
+  <!-- value: TODO -->
+  <!ATTLIST option value %text; #IMPLIED>
 
 <!-- TODO -->
 <!ELEMENT tip EMPTY>
-<!-- name: TODO -->
-<!ATTLIST tip name %name; #FIXED "tip">
-<!-- value: TODO -->
-<!ATTLIST tip value %text; #IMPLIED>
+  <!-- name: TODO -->
+  <!ATTLIST tip name %name; #FIXED "tip">
+  <!-- value: TODO -->
+  <!ATTLIST tip value %text; #IMPLIED>
 
 <!-- DEPRECATED: Use of the <title> element has been deprecated [Use the 
                  <form> attribute "title" instead.] -->
 <!-- TODO -->
 <!ELEMENT title EMPTY>
-<!-- name: TODO -->
-<!ATTLIST title name %name; #FIXED "title">
-<!-- value: TODO -->
-<!ATTLIST title value %text; #IMPLIED>
+  <!-- name: TODO -->
+  <!ATTLIST title name %name; #FIXED "title">
+  <!-- value: TODO -->
+  <!ATTLIST title value %text; #IMPLIED>
 
 <!-- TODO -->
 <!ELEMENT version EMPTY>
-<!-- name: TODO -->
-<!ATTLIST version name %name; #FIXED "version">
-<!-- value: TODO -->
-<!ATTLIST version value %text; #IMPLIED>
+  <!-- name: TODO -->
+  <!ATTLIST version name %name; #FIXED "version">
+  <!-- value: TODO -->
+  <!ATTLIST version value %text; #IMPLIED>
 
 
+<!-- ========================= -->
+<!-- Child elements of toolbar -->
+<!-- ========================= -->
+<!-- A button on a toolbar -->
+<!ELEMENT toolbutton EMPTY>
+  <!-- name: Name of this element -->
+  <!ATTLIST toolbutton name ID #REQUIRED>
+  <!-- action: Name of the trigger to run whenever this button is clicked -->
+  <!ATTLIST toolbutton action IDREF #IMPLIED>
+  <!-- action_off: Name of the trigger to run whenever this button is switched 
+       to off -->
+  <!ATTLIST toolbutton action_off IDREF #IMPLIED>
+  <!-- description: Text to display in a tooltip window -->
+  <!ATTLIST toolbutton description %text; #IMPLIED>
+  <!-- enabled: Determines whether this button will be enabled by default -->
+  <!ATTLIST toolbutton enabled %boolean;>
+  <!-- icon: Icon to display on the button -->
+  <!ATTLIST toolbutton icon %name; #IMPLIED>
+  <!-- label: Text to display on the button -->
+  <!ATTLIST toolbutton label %text; #IMPLIED>
+  <!-- state: Determines whether this button will be switched on by default 
+       -->
+  <!ATTLIST toolbutton state %boolean;>
+
+
 <!-- =========================== -->
 <!-- Child elements of condition -->
 <!-- =========================== -->
 <!-- Implements logical AND relation. -->
-<!ELEMENT and (and*, between*, conditions*, eq*, ge*, gt*, le*, like*, lt*, 
-               ne*, negate*, not*, notbetween*, notlike*, notnull*, null*, 
-               or*)>
+<!ELEMENT and (and*, between*, eq*, exist*, ge*, gt*, le*, like*, lt*, ne*, 
+               not*, notbetween*, notlike*, notnull*, null*, or*)>
 
 <!-- Implements a {field} BETWEEN {value1} {value2} condition. -->
-<!ELEMENT between (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, 
-                   mul*, sub*, upper*)>
+<!ELEMENT between (add*, cconst*, cfield*, cparam*, div*, lower*, mul*, 
+                   negate*, sub*, upper*)>
 
 <!-- Implements a {field} = {value} condition. -->
-<!ELEMENT eq (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, mul*, 
+<!ELEMENT eq (add*, cconst*, cfield*, cparam*, div*, lower*, mul*, negate*, 
               sub*, upper*)>
 
+<!-- Implements an exist condition. -->
+<!ELEMENT exist (and*, between*, eq*, exist*, ge*, gt*, le*, like*, lt*, ne*, 
+                 not*, notbetween*, notlike*, notnull*, null*, or*)>
+  <!ATTLIST exist detaillink %text; #REQUIRED>
+  <!ATTLIST exist masterlink %text; #REQUIRED>
+  <!ATTLIST exist table %name; #REQUIRED>
+
 <!-- Implements a {field} >= {value} condition. -->
-<!ELEMENT ge (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, mul*, 
+<!ELEMENT ge (add*, cconst*, cfield*, cparam*, div*, lower*, mul*, negate*, 
               sub*, upper*)>
 
 <!-- Implements a {field} > {value} condition. -->
-<!ELEMENT gt (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, mul*, 
+<!ELEMENT gt (add*, cconst*, cfield*, cparam*, div*, lower*, mul*, negate*, 
               sub*, upper*)>
 
 <!-- Implements a {field} <= {value} condition. -->
-<!ELEMENT le (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, mul*, 
+<!ELEMENT le (add*, cconst*, cfield*, cparam*, div*, lower*, mul*, negate*, 
               sub*, upper*)>
 
 <!-- Implements a {field} LIKE {value} condition. -->
-<!ELEMENT like (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, mul*, 
-                sub*, upper*)>
+<!ELEMENT like (cconst*, cfield*, cparam*, lower*, upper*)>
 
 <!-- Implements a {field} < {value} condition. -->
-<!ELEMENT lt (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, mul*, 
+<!ELEMENT lt (add*, cconst*, cfield*, cparam*, div*, lower*, mul*, negate*, 
               sub*, upper*)>
 
 <!-- Implements a {field} <> {value} condition. -->
-<!ELEMENT ne (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, mul*, 
+<!ELEMENT ne (add*, cconst*, cfield*, cparam*, div*, lower*, mul*, negate*, 
               sub*, upper*)>
 
-<!-- Implements numerical negation. -->
-<!ELEMENT negate (and*, between*, conditions*, eq*, ge*, gt*, le*, like*, lt*, 
-                  ne*, negate*, not*, notbetween*, notlike*, or*)>
-
 <!-- Implements logical NOT relation. -->
-<!ELEMENT not (and*, between*, conditions*, eq*, ge*, gt*, le*, like*, lt*, 
-               ne*, negate*, not*, notbetween*, notlike*, notnull*, null*, 
-               or*)>
+<!ELEMENT not (and*, between*, eq*, exist*, ge*, gt*, le*, like*, lt*, ne*, 
+               not*, notbetween*, notlike*, notnull*, null*, or*)>
 
 <!-- Implements a {field} NOT BETWEEN {value1} {value2} condition. -->
-<!ELEMENT notbetween (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, 
-                      mul*, sub*, upper*)>
+<!ELEMENT notbetween (add*, cconst*, cfield*, cparam*, div*, lower*, mul*, 
+                      negate*, sub*, upper*)>
 
 <!-- Implements a {field} NOT LIKE {value} condition. -->
-<!ELEMENT notlike (add*, cconst*, cfield*, cparam*, div*, exist*, lower*, 
-                   mul*, sub*, upper*)>
+<!ELEMENT notlike (cconst*, cfield*, cparam*, lower*, upper*)>
 
 <!-- Implements a {field} IS NOT NULL condition. -->
 <!ELEMENT notnull (cfield*)>
@@ -573,22 +640,22 @@
 <!ELEMENT null (cfield*)>
 
 <!-- Implements logical OR relation. -->
-<!ELEMENT or (and*, between*, conditions*, eq*, ge*, gt*, le*, like*, lt*, 
-              ne*, negate*, not*, notbetween*, notlike*, notnull*, null*, 
-              or*)>
+<!ELEMENT or (and*, between*, eq*, exist*, ge*, gt*, le*, like*, lt*, ne*, 
+              not*, notbetween*, notlike*, notnull*, null*, or*)>
 
 
 <!-- =========================== -->
 <!-- Child elements of sortorder -->
 <!-- =========================== -->
 <!ELEMENT sortfield EMPTY>
-<!-- name: The name of the field by which the datasource will be ordered. -->
-<!ATTLIST sortfield name ID #REQUIRED>
-<!-- descending: Selects if the ordering is done in ascending (default) or in 
-       descending order. -->
-<!ATTLIST sortfield descending %boolean;>
-<!-- ignorecase: Selects wether the ordering is case-sensitive or not. -->
-<!ATTLIST sortfield ignorecase %boolean;>
+  <!-- name: The name of the field by which the datasource will be ordered. 
+       -->
+  <!ATTLIST sortfield name ID #REQUIRED>
+  <!-- descending: Selects if the ordering is done in ascending (default) or 
+       in descending order. -->
+  <!ATTLIST sortfield descending %boolean;>
+  <!-- ignorecase: Selects wether the ordering is case-sensitive or not. -->
+  <!ATTLIST sortfield ignorecase %boolean;>
 
 
 <!-- =========================== -->
@@ -602,378 +669,430 @@
 <!-- ====================== -->
 <!-- A box is a visual element that draws a box around other visual elements, 
      thus providing logical separation for them. -->
-<!ELEMENT box EMPTY>
-<!-- focusorder: Defines what order the focus moves through entries. -->
-<!ATTLIST box focusorder %whole; #IMPLIED>
-<!-- label: An optional text label that will be displayed on the border. -->
-<!ATTLIST box label %text; #IMPLIED>
-<!-- name: The unique name of the box. -->
-<!ATTLIST box name ID #IMPLIED>
+<!ELEMENT box (box*, button*, component*, entry*, grid*, hbox*, image*, 
+               import-button*, label*, scrollbar*, vbox*)>
+  <!-- focusorder: Defines what order the focus moves through entries. -->
+  <!ATTLIST box focusorder %whole; #IMPLIED>
+  <!-- label: An optional text label that will be displayed on the border. -->
+  <!ATTLIST box label %text; #IMPLIED>
+  <!-- name: The unique name of the box. -->
+  <!ATTLIST box name ID #IMPLIED>
 
 <!-- A visual element with text placed on it, that the user can push or click, 
      and that event can run a bound trigger. -->
 <!ELEMENT button EMPTY>
-<!-- block: The (optional) name of the block that this ties to. If a button is 
-       associated with a block, then the button honors the block's rows= 
+  <!-- action: Action to be executed when the button is fired -->
+  <!ATTLIST button action %name; #IMPLIED>
+  <!-- block: The (optional) name of the block that this ties to. If a button 
+       is associated with a block, then the button honors the block's rows= 
        value. -->
-<!ATTLIST button block IDREF #IMPLIED>
-<!-- focusorder: Defines what order the focus moves through entries. -->
-<!ATTLIST button focusorder %whole; #IMPLIED>
-<!-- label: The text that should appear on the button -->
-<!ATTLIST button label %name; #IMPLIED>
-<!-- name: A unique ID for the widget. Useful for importable buttons. -->
-<!ATTLIST button name ID #IMPLIED>
-<!-- navigable: Can this button be navigated? -->
-<!ATTLIST button navigable %boolean;>
+  <!ATTLIST button block IDREF #IMPLIED>
+  <!-- focusorder: Defines what order the focus moves through entries. -->
+  <!ATTLIST button focusorder %whole; #IMPLIED>
+  <!-- label: The text that should appear on the button -->
+  <!ATTLIST button label %name; #IMPLIED>
+  <!-- name: A unique ID for the widget. Useful for importable buttons. -->
+  <!ATTLIST button name ID #IMPLIED>
+  <!-- navigable: Can this button be navigated? -->
+  <!ATTLIST button navigable %boolean;>
+  <!-- rowSpacer: Overriders the rowSpace setting defined at the block level. 
+       -->
+  <!ATTLIST button rowSpacer %whole; #IMPLIED>
+  <!-- rows: Overrides the rows setting defined at the block level. -->
+  <!ATTLIST button rows %whole; #IMPLIED>
 
 <!-- TODO -->
 <!ELEMENT component EMPTY>
-<!-- block: The name of the block that this ties to. -->
-<!ATTLIST component block IDREF #REQUIRED>
-<!-- field: The name of the field that this ties to. -->
-<!ATTLIST component field IDREF #REQUIRED>
-<!-- mimetype: TODO -->
-<!ATTLIST component mimetype %name; #REQUIRED>
-<!-- focusorder: Defines what order the focus moves through entries. -->
-<!ATTLIST component focusorder %whole; #IMPLIED>
-<!-- name: The unique name of the component. -->
-<!ATTLIST component name ID #IMPLIED>
-<!-- type: TODO -->
-<!ATTLIST component type (Base64 | URL) "URL">
+  <!-- block: The name of the block that this ties to. -->
+  <!ATTLIST component block IDREF #REQUIRED>
+  <!-- field: The name of the field that this ties to. -->
+  <!ATTLIST component field IDREF #REQUIRED>
+  <!-- mimetype: TODO -->
+  <!ATTLIST component mimetype %name; #REQUIRED>
+  <!-- focusorder: Defines what order the focus moves through entries. -->
+  <!ATTLIST component focusorder %whole; #IMPLIED>
+  <!-- name: The unique name of the component. -->
+  <!ATTLIST component name ID #IMPLIED>
+  <!-- type: TODO -->
+  <!ATTLIST component type (Base64 | URL) "URL">
 
 <!-- An {entry} is the visual counterpart to a {field}, it defines how the 
      data in a field will be displayed and how it can be edited. -->
 <!ELEMENT entry EMPTY>
-<!-- block: The name of the block that this ties to. -->
-<!ATTLIST entry block IDREF #REQUIRED>
-<!-- field: The name of the field that this ties to. -->
-<!ATTLIST entry field IDREF #REQUIRED>
-<!-- displaymask: Defines how the field data will be formatted for display. 
+  <!-- field: The name of the field that this ties to. -->
+  <!ATTLIST entry field IDREF #REQUIRED>
+  <!-- block: The name of the block that this ties to. -->
+  <!ATTLIST entry block IDREF #IMPLIED>
+  <!-- displaymask: Defines how the field data will be formatted for display. 
        -->
-<!ATTLIST entry displaymask %text; #IMPLIED>
-<!-- focusorder: Defines what order the focus moves through entries. -->
-<!ATTLIST entry focusorder %whole; #IMPLIED>
-<!-- formatmask: TODO -->
-<!ATTLIST entry formatmask %text; #IMPLIED>
-<!-- hidden: If "Y", the entry widget will not be displayed on the form. This 
-       is useful for fields the user doesn't need to know about that you wish 
-       to update via triggers. -->
-<!ATTLIST entry hidden %boolean;>
-<!-- inputmask: Defines how the user will edit a field's value. -->
-<!ATTLIST entry inputmask %text; #IMPLIED>
-<!-- label: The optional label displayed next to checkbox. -->
-<!ATTLIST entry label %text; #IMPLIED>
-<!-- name: The unique ID of the entry. -->
-<!ATTLIST entry name ID #IMPLIED>
-<!-- navigable: If false, the user will be unable to navigate to this entry. 
+  <!ATTLIST entry displaymask %text; #IMPLIED>
+  <!-- focusorder: Defines what order the focus moves through entries. -->
+  <!ATTLIST entry focusorder %whole; #IMPLIED>
+  <!-- formatmask: TODO -->
+  <!ATTLIST entry formatmask %text; #IMPLIED>
+  <!-- hidden: If "Y", the entry widget will not be displayed on the form. 
+       This is useful for fields the user doesn't need to know about that you 
+       wish to update via triggers. -->
+  <!ATTLIST entry hidden %boolean;>
+  <!-- inputmask: Defines how the user will edit a field's value. -->
+  <!ATTLIST entry inputmask %text; #IMPLIED>
+  <!-- label: The optional label displayed next to checkbox. -->
+  <!ATTLIST entry label %text; #IMPLIED>
+  <!-- name: The unique ID of the entry. -->
+  <!ATTLIST entry name ID #IMPLIED>
+  <!-- navigable: If false, the user will be unable to navigate to this entry. 
        Triggers can still alter the value though. -->
-<!ATTLIST entry navigable %boolean;>
-<!-- rowSpacer: Overrides the rowSpacer setting at the block level. -->
-<!ATTLIST entry rowSpacer %whole; #IMPLIED>
-<!-- rows: Overrides the rows setting defined at the block level. -->
-<!ATTLIST entry rows %whole; #IMPLIED>
-<!-- style: The style of entry widget requested. Currently either {text}, 
+  <!ATTLIST entry navigable %boolean;>
+  <!-- rowSpacer: Overrides the rowSpacer setting at the block level. -->
+  <!ATTLIST entry rowSpacer %whole; #IMPLIED>
+  <!-- rows: Overrides the rows setting defined at the block level. -->
+  <!ATTLIST entry rows %whole; #IMPLIED>
+  <!-- style: The style of entry widget requested. Currently either {text}, 
        {label}, {checkbox}, {listbox}, or {dropdown}. To use {listbox} or 
        {dropdown} you are required to use both the {fk_source}, {fk_key}, and 
        {fk_description} attributes. The {label} style implies the {readonly} 
        attribute. -->
-<!ATTLIST entry style (checkbox | default | dropdown | label | listbox | 
-                       password) "default">
+  <!ATTLIST entry style (auto | checkbox | default | dropdown | label | 
+                         listbox | multiline | password) "auto">
 
+<!-- A grid is a layout container grouping fields into repeating rows. -->
+<!ELEMENT grid EMPTY>
+  <!-- block: The block for this grid. -->
+  <!ATTLIST grid block %name; #IMPLIED>
+  <!-- name: The unique ID of the grid. -->
+  <!ATTLIST grid name ID #IMPLIED>
+  <!-- rows: Overrides the rows setting defined at the block level. -->
+  <!ATTLIST grid rows %whole; #IMPLIED>
+
+<!-- A box is a visual element that draws a box around other visual elements, 
+     thus providing logical separation for them. -->
+<!ELEMENT hbox (button*, component*, entry*, grid*, hbox*, image*, 
+                import-button*, label*, scrollbar*, vbox*)>
+  <!-- block: The {block} to which this scrollbar scrolls. -->
+  <!ATTLIST hbox block IDREF #IMPLIED>
+  <!-- label: An optional text label that will be displayed on the border. -->
+  <!ATTLIST hbox label %text; #IMPLIED>
+  <!-- name: The unique name of the box. -->
+  <!ATTLIST hbox name ID #IMPLIED>
+
 <!-- Displays an image. -->
 <!ELEMENT image EMPTY>
-<!-- block: The name of the block that this ties to. -->
-<!ATTLIST image block IDREF #REQUIRED>
-<!-- field: The name of the field that this ties to. -->
-<!ATTLIST image field IDREF #REQUIRED>
-<!-- editable: Only allow this object to be edited if it is currently empty. 
+  <!-- block: The name of the block that this ties to. -->
+  <!ATTLIST image block IDREF #REQUIRED>
+  <!-- field: The name of the field that this ties to. -->
+  <!ATTLIST image field IDREF #REQUIRED>
+  <!-- editable: Only allow this object to be edited if it is currently empty. 
        -->
-<!ATTLIST image editable (N | Y | new | null | update) "Y">
-<!-- fit: Defines how the image will fill the space provided for it (crop 
+  <!ATTLIST image editable (N | Y | new | null | update) "Y">
+  <!-- fit: Defines how the image will fill the space provided for it (crop 
        parts outside borders, or stretch width/height/both to fit into given 
        boundaries). -->
-<!ATTLIST image fit (auto | both | height | none | width) "none">
-<!-- focusorder: Defines what order the focus moves through entries. -->
-<!ATTLIST image focusorder %whole; #IMPLIED>
-<!-- name: The unique name of the image. -->
-<!ATTLIST image name ID #IMPLIED>
-<!-- type: The type of image reference. Can be {URL} for a url reference, or 
+  <!ATTLIST image fit (auto | both | height | none | width) "none">
+  <!-- focusorder: Defines what order the focus moves through entries. -->
+  <!ATTLIST image focusorder %whole; #IMPLIED>
+  <!-- label: Label displayed next or above to the image -->
+  <!ATTLIST image label %text; #IMPLIED>
+  <!-- name: The unique name of the image. -->
+  <!ATTLIST image name ID #IMPLIED>
+  <!-- type: The type of image reference. Can be {URL} for a url reference, or 
        {PIL} for an embedded image. -->
-<!ATTLIST image type (PIL | URL) "URL">
+  <!ATTLIST image type (PIL | URL) "URL">
 
 <!-- A visual element with text placed on it, that the user can push or click, 
      and that event can run a bound trigger. -->
 <!ELEMENT import-button EMPTY>
-<!ATTLIST import-button library %name; #REQUIRED>
-<!-- block: The (optional) name of the block that this ties to. If a button is 
-       associated with a block, then the button honors the block's rows= 
+  <!ATTLIST import-button library %name; #REQUIRED>
+  <!-- action: Action to be executed when the button is fired -->
+  <!ATTLIST import-button action %name; #IMPLIED>
+  <!-- block: The (optional) name of the block that this ties to. If a button 
+       is associated with a block, then the button honors the block's rows= 
        value. -->
-<!ATTLIST import-button block IDREF #IMPLIED>
-<!-- focusorder: Defines what order the focus moves through entries. -->
-<!ATTLIST import-button focusorder %whole; #IMPLIED>
-<!-- label: The text that should appear on the button -->
-<!ATTLIST import-button label %name; #IMPLIED>
-<!-- name: A unique ID for the widget. Useful for importable buttons. -->
-<!ATTLIST import-button name ID #IMPLIED>
-<!-- navigable: Can this button be navigated? -->
-<!ATTLIST import-button navigable %boolean;>
+  <!ATTLIST import-button block IDREF #IMPLIED>
+  <!-- focusorder: Defines what order the focus moves through entries. -->
+  <!ATTLIST import-button focusorder %whole; #IMPLIED>
+  <!-- label: The text that should appear on the button -->
+  <!ATTLIST import-button label %name; #IMPLIED>
+  <!-- name: A unique ID for the widget. Useful for importable buttons. -->
+  <!ATTLIST import-button name ID #IMPLIED>
+  <!-- navigable: Can this button be navigated? -->
+  <!ATTLIST import-button navigable %boolean;>
+  <!-- rowSpacer: Overriders the rowSpace setting defined at the block level. 
+       -->
+  <!ATTLIST import-button rowSpacer %whole; #IMPLIED>
+  <!-- rows: Overrides the rows setting defined at the block level. -->
+  <!ATTLIST import-button rows %whole; #IMPLIED>
 
 <!-- Displays static text -->
 <!ELEMENT label EMPTY>
-<!-- text: The text to be displayed. -->
-<!ATTLIST label text %text; #REQUIRED>
-<!-- alignment: The justification of the label. Can be one of the following: 
+  <!-- text: The text to be displayed. -->
+  <!ATTLIST label text %text; #REQUIRED>
+  <!-- alignment: The justification of the label. Can be one of the following: 
        {left}, {right}, or {center}. Requires that the {width} attribute be 
        set. -->
-<!ATTLIST label alignment (center | left | right) "left">
-<!-- name: The unique ID of the label. -->
-<!ATTLIST label name ID #IMPLIED>
-<!-- rowSpacer: Overriders the rowSpace setting defined at the block level. 
+  <!ATTLIST label alignment (center | left | right) "left">
+  <!-- for: If this label is for a specific object, name it here. -->
+  <!ATTLIST label for IDREF #IMPLIED>
+  <!-- name: The unique ID of the label. -->
+  <!ATTLIST label name ID #IMPLIED>
+  <!-- rowSpacer: Overriders the rowSpace setting defined at the block level. 
        -->
-<!ATTLIST label rowSpacer %whole; #IMPLIED>
-<!-- rows: Overrides the rows setting defined at the block level. -->
-<!ATTLIST label rows %whole; #IMPLIED>
+  <!ATTLIST label rowSpacer %whole; #IMPLIED>
+  <!-- rows: Overrides the rows setting defined at the block level. -->
+  <!ATTLIST label rows %whole; #IMPLIED>
 
 <!-- A scrollbar is a visual element that lets the user move vertically layout 
      elements linked to it. -->
 <!ELEMENT scrollbar EMPTY>
-<!-- block: The {block} to which this scrollbar scrolls. -->
-<!ATTLIST scrollbar block IDREF #REQUIRED>
-<!-- name: The unique name of the scrollbar. -->
-<!ATTLIST scrollbar name ID #IMPLIED>
-<!-- scrollrows: Defaults to the rows setting defined at the block level. -->
-<!ATTLIST scrollbar scrollrows %whole; #IMPLIED>
-
-<!-- Tree/List-View of a table -->
-<!ELEMENT tree (column*, leaf*)>
-<!-- block: The name of the block the tree ties to. -->
-<!ATTLIST tree block IDREF #REQUIRED>
-<!-- fld_desc: The visible text of the TreeViewItem -->
-<!ATTLIST tree fld_desc %name; #REQUIRED>
-<!-- fld_id: The field containing the TreeViewItem ID -->
-<!ATTLIST tree fld_id %name; #REQUIRED>
-<!-- fld_parentid: The field containing the TreeViewItem parent -->
-<!ATTLIST tree fld_parentid %name; #REQUIRED>
-<!-- fld_tblhint: The field containing the table-hint for leaves -->
-<!ATTLIST tree fld_tblhint %name; #REQUIRED>
-<!-- name: Unique name of the tree. -->
-<!ATTLIST tree name ID #IMPLIED>
-<!-- rowSpacer: Overriders the rowSpace setting defined at the block level. 
+  <!-- block: The {block} to which this scrollbar scrolls. -->
+  <!ATTLIST scrollbar block IDREF #REQUIRED>
+  <!-- name: The unique name of the scrollbar. -->
+  <!ATTLIST scrollbar name ID #IMPLIED>
+  <!-- scrollrows: Defaults to the rows setting defined at the block level. 
        -->
-<!ATTLIST tree rowSpacer %whole; #IMPLIED>
-<!-- rows: Overrides the rows setting defined at the block level. -->
-<!ATTLIST tree rows %whole; #IMPLIED>
+  <!ATTLIST scrollbar scrollrows %whole; #IMPLIED>
 
+<!-- A box is a visual element that draws a box around other visual elements, 
+     thus providing logical separation for them. -->
+<!ELEMENT vbox (button*, component*, entry*, grid*, hbox*, image*, 
+                import-button*, label*, scrollbar*, vbox*)>
+  <!-- block: The {block} to which this scrollbar scrolls. -->
+  <!ATTLIST vbox block IDREF #IMPLIED>
+  <!-- label: An optional text label that will be displayed on the border. -->
+  <!ATTLIST vbox label %text; #IMPLIED>
+  <!-- name: The unique name of the box. -->
+  <!ATTLIST vbox name ID #IMPLIED>
 
+
 <!-- ======================= -->
 <!-- Child elements of block -->
 <!-- ======================= -->
 <!-- A field represents a column in the database table designated by the 
      block. -->
 <!ELEMENT field EMPTY>
-<!-- name: The unique ID of the entry. Referenced in master/detail setups as 
+  <!-- name: The unique ID of the entry. Referenced in master/detail setups as 
        well as triggers. -->
-<!ATTLIST field name ID #REQUIRED>
-<!-- case: Convert the value to uppercase/lowercase or leave it as it is. -->
-<!ATTLIST field case (lower | mixed | upper) "mixed">
-<!-- default: The default value for this field when a new record is created. 
+  <!ATTLIST field name ID #REQUIRED>
+  <!-- autoquery: If {Y} then any changes in this field will cause the form to 
+       automatically query and populate itself with matching records. If {New} 
+       it will only automatically query if the form is currenly completely 
+       empty. If {N} then no automatic query will be performed. -->
+  <!ATTLIST field autoquery (N | Y | new) "N">
+  <!-- case: Convert the value to uppercase/lowercase or leave it as it is. 
+       Applies only to fields with a datatype of 'string'. -->
+  <!ATTLIST field case (lower | mixed | upper) "mixed">
+  <!-- datatype: The type of data stored in this field. -->
+  <!ATTLIST field datatype (boolean | date | datetime | number | text | time) 
+                            "text">
+  <!-- default: The default value for this field when a new record is created. 
        If the field is visible the user can override the value. -->
-<!ATTLIST field default %text; #IMPLIED>
-<!-- defaultToLast: If {Y}, then new records will default to the last value 
+  <!ATTLIST field default %text; #IMPLIED>
+  <!-- defaultToLast: If {Y}, then new records will default to the last value 
        the user entered for this field. If no new values have been entered, 
        then defaults back to the normal {default} setting. -->
-<!ATTLIST field defaultToLast %boolean;>
-<!-- editable: Only allow this object to be edited if it is currently empty. 
+  <!ATTLIST field defaultToLast %boolean;>
+  <!-- editable: Only allow this object to be edited if it is currently empty. 
        -->
-<!ATTLIST field editable (N | Y | new | null | update) "Y">
-<!-- field: The name of the field in the datasource to which this widget is 
+  <!ATTLIST field editable (N | Y | new | null | update) "Y">
+  <!-- field: The name of the field in the datasource to which this widget is 
        tied. -->
-<!ATTLIST field field %name; #IMPLIED>
-<!-- fk_description: The description used if a style of dropdown is selected. 
-       This field's value is displayed in the dropdown but the foreign_key 
-       value is actually stored in the field. This allows you to display 
-       something like the full name of a US state but only store it's 2 
-       character abbreviation. -->
-<!ATTLIST field fk_description %name; #IMPLIED>
-<!-- fk_key: The table column (field) in the foreign key source table that the 
-       foreign key links to. -->
-<!ATTLIST field fk_key %name; #IMPLIED>
-<!-- fk_refresh: Decides when the foreign key should be refreshed. -->
-<!ATTLIST field fk_refresh (change | commit | startup) "startup">
-<!-- fk_source: Source table that the foreign key links to. -->
-<!ATTLIST field fk_source IDREF #IMPLIED>
-<!-- ignoreCaseOnQuery: If "Y", the entry widget ignores the case of the 
-       information entered into the query mask. -->
-<!ATTLIST field ignoreCaseOnQuery %boolean;>
-<!-- ltrim: Trim extraneous space at beginning of user input. -->
-<!ATTLIST field ltrim %boolean;>
-<!-- maxLength: The maximum number of characters the user is allowed to enter 
-       into the entry. -->
-<!ATTLIST field maxLength %whole; #IMPLIED>
-<!-- DEPRECATED: The "max_length" attribute of "field" has been deprecated 
-                 [Use maxLength] -->
-<!-- max_length: The maximum number of characters the user is allowed to enter 
-       into the entry. -->
-<!ATTLIST field max_length %whole; #IMPLIED>
-<!-- minLength: The minimum number of characters the user must enter into the 
-       entry. -->
-<!ATTLIST field minLength %whole; "0">
-<!-- DEPRECATED: The "min_length" attribute of "field" has been deprecated 
+  <!ATTLIST field field %name; #IMPLIED>
+  <!-- fk_description: The description used if a style of dropdown is 
+       selected. This field's value is displayed in the dropdown but the 
+       foreign_key value is actually stored in the field. This allows you to 
+       display something like the full name of a US state but only store it's 
+       2 character abbreviation. -->
+  <!ATTLIST field fk_description %name; #IMPLIED>
+  <!-- fk_key: The table column (field) in the foreign key source table that 
+       the foreign key links to. -->
+  <!ATTLIST field fk_key %name; #IMPLIED>
+  <!-- fk_refresh: Decides when the foreign key should be refreshed. -->
+  <!ATTLIST field fk_refresh (change | commit | startup) "startup">
+  <!-- fk_source: Source table that the foreign key links to. -->
+  <!ATTLIST field fk_source IDREF #IMPLIED>
+  <!-- length: Maximum length of data stored in this field. Applies only to 
+       fields with a datatype of 'string' or 'number'. For numbers, this is 
+       the total number of digits, including the fractional digits. -->
+  <!ATTLIST field length %whole; #IMPLIED>
+  <!-- ltrim: Trim extraneous space at beginning of user input. -->
+  <!ATTLIST field ltrim %boolean;>
+  <!-- DEPRECATED: The "maxLength" attribute of "field" has been deprecated 
+                 [Use length] -->
+  <!ATTLIST field maxLength %whole; #IMPLIED>
+  <!-- DEPRECATED: The "max_length" attribute of "field" has been deprecated 
+                 [Use length] -->
+  <!-- max_length: The maximum number of characters the user is allowed to 
+       enter into the entry. -->
+  <!ATTLIST field max_length %whole; #IMPLIED>
+  <!-- minLength: The minimum number of characters the user must enter into 
+       the entry. -->
+  <!ATTLIST field minLength %whole; "0">
+  <!-- DEPRECATED: The "min_length" attribute of "field" has been deprecated 
                  [Use minLength] -->
-<!-- min_length: The minimum number of characters the user must enter into the 
-       entry. -->
-<!ATTLIST field min_length %whole; "0">
-<!-- queryDefault: The field will be populated with this value automatically 
+  <!-- min_length: The minimum number of characters the user must enter into 
+       the entry. -->
+  <!ATTLIST field min_length %whole; "0">
+  <!-- queryDefault: The field will be populated with this value automatically 
        when a query is requested. If the field is visible the user can still 
        override the value. -->
-<!ATTLIST field queryDefault %text; #IMPLIED>
-<!-- queryable: Is this object queryable? -->
-<!ATTLIST field queryable %boolean;>
-<!-- readonly: It defined the user will be unable to alter the contents of 
-       this entry. Triggers can still alter the value. -->
-<!ATTLIST field readonly %boolean;>
-<!-- required: This object cannot have an empty value prior to a commit. -->
-<!ATTLIST field required %boolean;>
-<!-- rtrim: Trim extraneous space at end of user input. -->
-<!ATTLIST field rtrim %boolean;>
-<!-- sloppyQuery: When set, whatever value the user enters for the query mask 
-       is rewritten with % between each character. Thus {example} would be 
-       queried as {%e%x%a%m%p%l%e%} -->
-<!ATTLIST field sloppyQuery %text; #IMPLIED>
-<!-- typecast: The type of data the entry widget will accept. Possible values 
-       are {text}, {number}, {date}. -->
-<!ATTLIST field typecast (date | number | text) "text">
-<!-- DEPRECATED: The "value" attribute of "field" has been deprecated [Use 
+  <!ATTLIST field queryDefault %text; #IMPLIED>
+  <!-- query_casesensitive: If "N", the entry widget ignores the case of the 
+       information entered into the query mask. -->
+  <!ATTLIST field query_casesensitive %boolean;>
+  <!-- queryable: Is this object queryable? -->
+  <!ATTLIST field queryable %boolean;>
+  <!-- DEPRECATED: The "readonly" attribute of "field" has been deprecated 
+                 [Use editable="N" instead.] -->
+  <!ATTLIST field readonly %boolean;>
+  <!-- required: If set, empty values can not be stored in this field. -->
+  <!ATTLIST field required %boolean;>
+  <!-- rtrim: Trim extraneous space at end of user input. -->
+  <!ATTLIST field rtrim %boolean;>
+  <!-- scale: Number of fractional digits. Applies only to fields with a 
+       datatype of 'number'. -->
+  <!ATTLIST field scale %whole; #IMPLIED>
+  <!-- sloppyQuery: When set, whatever value the user enters for the query 
+       mask is rewritten with % between each character. Thus {example} would 
+       be queried as {%e%x%a%m%p%l%e%} -->
+  <!ATTLIST field sloppyQuery %text; #IMPLIED>
+  <!-- DEPRECATED: The "typecast" attribute of "field" has been deprecated 
+                 [Use "type".] -->
+  <!ATTLIST field typecast %name; #IMPLIED>
+  <!-- DEPRECATED: The "value" attribute of "field" has been deprecated [Use 
                  default="..." instead] -->
-<!-- value: Deprecated -->
-<!ATTLIST field value %text; #IMPLIED>
+  <!-- value: Deprecated -->
+  <!ATTLIST field value %text; #IMPLIED>
 
 <!-- A field represents a column in the database table designated by the 
      block. -->
 <!ELEMENT import-field EMPTY>
-<!-- name: The unique ID of the entry. Referenced in master/detail setups as 
+  <!-- name: The unique ID of the entry. Referenced in master/detail setups as 
        well as triggers. -->
-<!ATTLIST import-field name ID #REQUIRED>
-<!ATTLIST import-field library %name; #REQUIRED>
-<!-- case: Convert the value to uppercase/lowercase or leave it as it is. -->
-<!ATTLIST import-field case (lower | mixed | upper) "mixed">
-<!-- default: The default value for this field when a new record is created. 
+  <!ATTLIST import-field name ID #REQUIRED>
+  <!ATTLIST import-field library %name; #REQUIRED>
+  <!-- autoquery: If {Y} then any changes in this field will cause the form to 
+       automatically query and populate itself with matching records. If {New} 
+       it will only automatically query if the form is currenly completely 
+       empty. If {N} then no automatic query will be performed. -->
+  <!ATTLIST import-field autoquery (N | Y | new) "N">
+  <!-- case: Convert the value to uppercase/lowercase or leave it as it is. 
+       Applies only to fields with a datatype of 'string'. -->
+  <!ATTLIST import-field case (lower | mixed | upper) "mixed">
+  <!-- datatype: The type of data stored in this field. -->
+  <!ATTLIST import-field datatype (boolean | date | datetime | number | text | 
+                                   time) "text">
+  <!-- default: The default value for this field when a new record is created. 
        If the field is visible the user can override the value. -->
-<!ATTLIST import-field default %text; #IMPLIED>
-<!-- defaultToLast: If {Y}, then new records will default to the last value 
+  <!ATTLIST import-field default %text; #IMPLIED>
+  <!-- defaultToLast: If {Y}, then new records will default to the last value 
        the user entered for this field. If no new values have been entered, 
        then defaults back to the normal {default} setting. -->
-<!ATTLIST import-field defaultToLast %boolean;>
-<!-- editable: Only allow this object to be edited if it is currently empty. 
+  <!ATTLIST import-field defaultToLast %boolean;>
+  <!-- editable: Only allow this object to be edited if it is currently empty. 
        -->
-<!ATTLIST import-field editable (N | Y | new | null | update) "Y">
-<!-- field: The name of the field in the datasource to which this widget is 
+  <!ATTLIST import-field editable (N | Y | new | null | update) "Y">
+  <!-- field: The name of the field in the datasource to which this widget is 
        tied. -->
-<!ATTLIST import-field field %name; #IMPLIED>
-<!-- fk_description: The description used if a style of dropdown is selected. 
-       This field's value is displayed in the dropdown but the foreign_key 
-       value is actually stored in the field. This allows you to display 
-       something like the full name of a US state but only store it's 2 
-       character abbreviation. -->
-<!ATTLIST import-field fk_description %name; #IMPLIED>
-<!-- fk_key: The table column (field) in the foreign key source table that the 
-       foreign key links to. -->
-<!ATTLIST import-field fk_key %name; #IMPLIED>
-<!-- fk_refresh: Decides when the foreign key should be refreshed. -->
-<!ATTLIST import-field fk_refresh (change | commit | startup) "startup">
-<!-- fk_source: Source table that the foreign key links to. -->
-<!ATTLIST import-field fk_source IDREF #IMPLIED>
-<!-- ignoreCaseOnQuery: If "Y", the entry widget ignores the case of the 
-       information entered into the query mask. -->
-<!ATTLIST import-field ignoreCaseOnQuery %boolean;>
-<!-- ltrim: Trim extraneous space at beginning of user input. -->
-<!ATTLIST import-field ltrim %boolean;>
-<!-- maxLength: The maximum number of characters the user is allowed to enter 
-       into the entry. -->
-<!ATTLIST import-field maxLength %whole; #IMPLIED>
-<!-- DEPRECATED: The "max_length" attribute of "import-field" has been 
-                 deprecated [Use maxLength] -->
-<!-- max_length: The maximum number of characters the user is allowed to enter 
-       into the entry. -->
-<!ATTLIST import-field max_length %whole; #IMPLIED>
-<!-- minLength: The minimum number of characters the user must enter into the 
-       entry. -->
-<!ATTLIST import-field minLength %whole; "0">
-<!-- DEPRECATED: The "min_length" attribute of "import-field" has been 
+  <!ATTLIST import-field field %name; #IMPLIED>
+  <!-- fk_description: The description used if a style of dropdown is 
+       selected. This field's value is displayed in the dropdown but the 
+       foreign_key value is actually stored in the field. This allows you to 
+       display something like the full name of a US state but only store it's 
+       2 character abbreviation. -->
+  <!ATTLIST import-field fk_description %name; #IMPLIED>
+  <!-- fk_key: The table column (field) in the foreign key source table that 
+       the foreign key links to. -->
+  <!ATTLIST import-field fk_key %name; #IMPLIED>
+  <!-- fk_refresh: Decides when the foreign key should be refreshed. -->
+  <!ATTLIST import-field fk_refresh (change | commit | startup) "startup">
+  <!-- fk_source: Source table that the foreign key links to. -->
+  <!ATTLIST import-field fk_source IDREF #IMPLIED>
+  <!-- length: Maximum length of data stored in this field. Applies only to 
+       fields with a datatype of 'string' or 'number'. For numbers, this is 
+       the total number of digits, including the fractional digits. -->
+  <!ATTLIST import-field length %whole; #IMPLIED>
+  <!-- ltrim: Trim extraneous space at beginning of user input. -->
+  <!ATTLIST import-field ltrim %boolean;>
+  <!-- DEPRECATED: The "maxLength" attribute of "import-field" has been 
+                 deprecated [Use length] -->
+  <!ATTLIST import-field maxLength %whole; #IMPLIED>
+  <!-- DEPRECATED: The "max_length" attribute of "import-field" has been 
+                 deprecated [Use length] -->
+  <!-- max_length: The maximum number of characters the user is allowed to 
+       enter into the entry. -->
+  <!ATTLIST import-field max_length %whole; #IMPLIED>
+  <!-- minLength: The minimum number of characters the user must enter into 
+       the entry. -->
+  <!ATTLIST import-field minLength %whole; "0">
+  <!-- DEPRECATED: The "min_length" attribute of "import-field" has been 
                  deprecated [Use minLength] -->
-<!-- min_length: The minimum number of characters the user must enter into the 
-       entry. -->
-<!ATTLIST import-field min_length %whole; "0">
-<!-- queryDefault: The field will be populated with this value automatically 
+  <!-- min_length: The minimum number of characters the user must enter into 
+       the entry. -->
+  <!ATTLIST import-field min_length %whole; "0">
+  <!-- queryDefault: The field will be populated with this value automatically 
        when a query is requested. If the field is visible the user can still 
        override the value. -->
-<!ATTLIST import-field queryDefault %text; #IMPLIED>
-<!-- queryable: Is this object queryable? -->
-<!ATTLIST import-field queryable %boolean;>
-<!-- readonly: It defined the user will be unable to alter the contents of 
-       this entry. Triggers can still alter the value. -->
-<!ATTLIST import-field readonly %boolean;>
-<!-- required: This object cannot have an empty value prior to a commit. -->
-<!ATTLIST import-field required %boolean;>
-<!-- rtrim: Trim extraneous space at end of user input. -->
-<!ATTLIST import-field rtrim %boolean;>
-<!-- sloppyQuery: When set, whatever value the user enters for the query mask 
-       is rewritten with % between each character. Thus {example} would be 
-       queried as {%e%x%a%m%p%l%e%} -->
-<!ATTLIST import-field sloppyQuery %text; #IMPLIED>
-<!-- typecast: The type of data the entry widget will accept. Possible values 
-       are {text}, {number}, {date}. -->
-<!ATTLIST import-field typecast (date | number | text) "text">
-<!-- DEPRECATED: The "value" attribute of "import-field" has been deprecated 
+  <!ATTLIST import-field queryDefault %text; #IMPLIED>
+  <!-- query_casesensitive: If "N", the entry widget ignores the case of the 
+       information entered into the query mask. -->
+  <!ATTLIST import-field query_casesensitive %boolean;>
+  <!-- queryable: Is this object queryable? -->
+  <!ATTLIST import-field queryable %boolean;>
+  <!-- DEPRECATED: The "readonly" attribute of "import-field" has been 
+                 deprecated [Use editable="N" instead.] -->
+  <!ATTLIST import-field readonly %boolean;>
+  <!-- required: If set, empty values can not be stored in this field. -->
+  <!ATTLIST import-field required %boolean;>
+  <!-- rtrim: Trim extraneous space at end of user input. -->
+  <!ATTLIST import-field rtrim %boolean;>
+  <!-- scale: Number of fractional digits. Applies only to fields with a 
+       datatype of 'number'. -->
+  <!ATTLIST import-field scale %whole; #IMPLIED>
+  <!-- sloppyQuery: When set, whatever value the user enters for the query 
+       mask is rewritten with % between each character. Thus {example} would 
+       be queried as {%e%x%a%m%p%l%e%} -->
+  <!ATTLIST import-field sloppyQuery %text; #IMPLIED>
+  <!-- DEPRECATED: The "typecast" attribute of "import-field" has been 
+                 deprecated [Use "type".] -->
+  <!ATTLIST import-field typecast %name; #IMPLIED>
+  <!-- DEPRECATED: The "value" attribute of "import-field" has been deprecated 
                  [Use default="..." instead] -->
-<!-- value: Deprecated -->
-<!ATTLIST import-field value %text; #IMPLIED>
+  <!-- value: Deprecated -->
+  <!ATTLIST import-field value %text; #IMPLIED>
 
 
-<!-- ===================== -->
-<!-- Child elements of and -->
-<!-- ===================== -->
-<!-- DEPRECATED: Use of the <conditions> element has been deprecated [Use the 
-                 <condition> tag instead.] -->
-<!ELEMENT conditions (conditions*)>
-
-
 <!-- ========================= -->
 <!-- Child elements of between -->
 <!-- ========================= -->
 <!-- Implements addition. -->
-<!ELEMENT add (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+<!ELEMENT add (add*, cconst*, cfield*, cparam*, div*, mul*, negate*, sub*)>
 
 <!-- Defines a constant value in a condition. -->
 <!ELEMENT cconst EMPTY>
-<!ATTLIST cconst value %text; #REQUIRED>
-<!ATTLIST cconst type %text; #IMPLIED>
+  <!ATTLIST cconst value %text; #REQUIRED>
+  <!ATTLIST cconst type %text; #IMPLIED>
 
 <!-- Defines a database table's field in a condition. -->
 <!ELEMENT cfield EMPTY>
-<!ATTLIST cfield name %name; #REQUIRED>
+  <!ATTLIST cfield name %name; #REQUIRED>
 
 <!-- Defines a parameter value in a condition. -->
 <!ELEMENT cparam EMPTY>
-<!ATTLIST cparam name ID #REQUIRED>
+  <!ATTLIST cparam name ID #REQUIRED>
 
 <!-- Implements division. -->
-<!ELEMENT div (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+<!ELEMENT div (add*, cconst*, cfield*, cparam*, div*, mul*, negate*, sub*)>
 
-<!-- Implements an exist condition. -->
-<!ELEMENT exist EMPTY>
-<!ATTLIST exist detaillink %text; #REQUIRED>
-<!ATTLIST exist masterlink %text; #REQUIRED>
-<!ATTLIST exist table %name; #REQUIRED>
-
 <!-- Implements lower({value}). -->
 <!ELEMENT lower (cfield*)>
 
 <!-- Implements multiplication. -->
-<!ELEMENT mul (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+<!ELEMENT mul (add*, cconst*, cfield*, cparam*, div*, mul*, negate*, sub*)>
 
+<!-- Implements numerical negation. -->
+<!ELEMENT negate (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
 <!-- Implements subtraction. -->
-<!ELEMENT sub (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+<!ELEMENT sub (add*, cconst*, cfield*, cparam*, div*, mul*, negate*, sub*)>
 
 <!-- Implements upper({value}). -->
 <!ELEMENT upper (cfield*)>
@@ -983,45 +1102,10 @@
 <!-- Child elements of staticsetrow -->
 <!-- ============================== -->
 <!ELEMENT staticsetfield EMPTY>
-<!ATTLIST staticsetfield name %text; #REQUIRED>
-<!ATTLIST staticsetfield value %text; #REQUIRED>
+  <!ATTLIST staticsetfield name %text; #REQUIRED>
+  <!ATTLIST staticsetfield value %text; #REQUIRED>
 
 
-<!-- ====================== -->
-<!-- Child elements of tree -->
-<!-- ====================== -->
-<!ELEMENT column EMPTY>
-<!-- name: Column info for leaves/trees -->
-<!ATTLIST column name ID #REQUIRED>
-<!-- align: Contents alignment: left/right/center -->
-<!ATTLIST column align %name; #REQUIRED>
-<!-- field: Field to get column text from -->
-<!ATTLIST column field %name; #IMPLIED>
-
-<!-- Leaf information of a tree view -->
-<!ELEMENT leaf (colsrc*)>
-<!-- block: Block used for db operations -->
-<!ATTLIST leaf block IDREF #REQUIRED>
-<!-- fld_desc: TODO -->
-<!ATTLIST leaf fld_desc %name; #REQUIRED>
-<!-- fld_id: TODO -->
-<!ATTLIST leaf fld_id %name; #REQUIRED>
-<!-- tblhint: Table of this leaf -->
-<!ATTLIST leaf tblhint %name; #REQUIRED>
-<!-- name: Leaf of the Tree Widget -->
-<!ATTLIST leaf name ID #IMPLIED>
-
-
-<!-- ====================== -->
-<!-- Child elements of leaf -->
-<!-- ====================== -->
-<!ELEMENT colsrc EMPTY>
-<!-- covers: Specifies the column this belongs to -->
-<!ATTLIST colsrc covers ID #REQUIRED>
-<!-- field: Field to get column text from -->
-<!ATTLIST colsrc field %name; #IMPLIED>
-
-
 <!-- This DTD was created by gnuedtd
-     Updated: 2006-03-27 11:00:01   -->
+     Updated: 2006-11-09 16:32:07   -->
 

Modified: trunk/gnue-forms/doc/man/gnue-forms.1
===================================================================
--- trunk/gnue-forms/doc/man/gnue-forms.1       2006-11-09 15:30:25 UTC (rev 
9020)
+++ trunk/gnue-forms/doc/man/gnue-forms.1       2006-11-09 15:33:59 UTC (rev 
9021)
@@ -1,4 +1,4 @@
-.TH GNUE\-FORMS 1 "27 March 2006" "GNUe Forms"
+.TH GNUE\-FORMS 1 "09 November 2006" "GNUe Forms"
 .SH NAME
 gnue\-forms \- GNUe Forms
 .SH SYNOPSIS
@@ -15,13 +15,13 @@
 .B GENERAL OPTIONS
 .TP
 .TP
-.B \-\-connections <loc>
-Specifies the location of the connection definition file. <loc> may 
-specify a file name (/usr/local/gnue/etc/connections.conf),or a URL 
-location (http://localhost/connections.conf).If this option is not 
-specified, the environent variable GNUE_CONNECTIONS is checked.If 
-neither of them is set, "/home/reinhard/gnue/etc/connections.conf" 
-is used as a default.
+.B \-\-connections <location>
+Specifies the location of the connection definition file. <location> 
+may specify a file name (/usr/local/gnue/etc/connections.conf),or a 
+URL location (http://localhost/connections.conf).If this option is 
+not specified, the environent variable GNUE_CONNECTIONS is checked.
+If neither of them is set, "/home/reinhard/gnue/etc/connections.
+conf" is used as a default.
 .TP
 .B \-\-debug-file <filename>
 Sends all debugging messages to a specified file (e.g., 

Modified: trunk/gnue-forms/po/de.po
===================================================================
--- trunk/gnue-forms/po/de.po   2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/de.po   2006-11-09 15:33:59 UTC (rev 9021)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUe-Forms 0.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: 2006-03-03 08:56+0100\n"
 "Last-Translator: Reinhard M�ller <address@hidden>\n"
 "Language-Team: \n"
@@ -45,476 +45,804 @@
 msgid "Unable to load UI driver: %s"
 msgstr "UI Treiber konnte nicht geladen werden: %s"
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "Keine Formular-Definitionsdatei angegeben."
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
 msgstr "Die folgenden Benutzeroberfl�chen werden von GNUe Forms unterst�tzt:"
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr "Um eine allgemeine Hilfe zu sehen, verwenden Sie die Option '--help'."
 
-#: GFClient.py:226
+#: GFClient.py:231
 msgid "User interface command line options:"
 msgstr "Kommandozeilenargumente f�r Benutzeroberfl�chen:"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
-msgstr "Minimale Feldl�nge %d"
+# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "Das Formular ist schreibgesch�tzt"
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
-msgstr "Fehler im Trigger:\n"
+#: GFForm.py:1227 GFForm.py:1244
+msgid "Recordnumber"
+msgstr "Datensatznummer"
 
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
-msgstr ""
-"Die Daten sind noch nicht gespeichert. Bitte speichern oder verwerfen Sie "
-"die �nderungen um fortzufahren."
+#: GFForm.py:1231
+msgid "Jump to record"
+msgstr "Springe zu Datensatz"
 
-#: GFForm.py:592
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "Ung�ltiger numerischer Wert eingegeben."
+
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr "Bitte geben Sie die Suchkriterien ein."
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr "Abfrage abgebrochen."
 
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr "Das Formular ist nicht im Anfrage-Modus."
-
-#: GFForm.py:655
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-"Fehler bei der Datenbankabfrage:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr "Abfrage lieferte kein Ergebnis."
 
-#: GFForm.py:666
+#: GFForm.py:1409
 msgid "Query successful."
 msgstr "Abfrage erfolgreich."
 
-# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "Das Formular ist schreibgesch�tzt"
+#: GFForm.py:1870
+#, fuzzy
+msgid "Save changes?"
+msgstr "&�nderungen speichern"
 
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr "Formular-Trigger lieferte einen Fehler"
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr "Block-Trigger lieferte einen Fehler"
-
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
-msgid "You cannot do that in query mode."
-msgstr "Diese Aktion ist im Abfrage-Modus nicht erlaubt."
-
-#: GFInstance.py:60
+#: GFInstance.py:53
 msgid "Unable to open file: %s"
 msgstr "Datei kann nicht ge�ffnet werden: %s"
 
-#: GFInstance.py:354
-msgid "There are no navigable widgets in this form. Unable to display."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+msgstr "Block '%(block)s' enth�lt keine Datenquelle '%(datasource)s'"
+
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
 msgstr ""
-"Das Formular enth�lt keine navigierbaren Elemente. Es kann nicht angezeigt "
-"werden."
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "Ung�ltiger numerischer Wert eingegeben."
+#: GFObjects/GFField.py:46
+#, fuzzy
+msgid "Datasource '%(name)s' not found"
+msgstr "Datenquelle '%s' nicht gefunden"
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "Die aktuellen Daten sind gespeichert."
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "Das Feld '%(field)s' enth�lt einen ung�ltigen Wert '%(value)s'"
 
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "In diesem Block ist das L�schen nicht zul�ssig"
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
+msgstr ""
 
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "In diesem Block ist das Einf�gen nicht zul�ssig"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
+msgstr ""
 
-#: GFInstance.py:1019
-msgid "Recordnumber"
-msgstr "Datensatznummer"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
+msgstr ""
 
-#: GFInstance.py:1020
-msgid "Jump to record"
-msgstr "Springe zu Datensatz"
-
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
-msgstr "Block '%(block)s' enth�lt keine Datenquelle '%(datasource)s'"
-
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+#: GFObjects/GFObj.py:41
+#, fuzzy
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr "Eingabefeld referenziert einen nicht existierenden Block '%s'"
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFObj.py:52
+#, fuzzy
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr "Eingabefeld referenziert ein nicht existierendes Feld '%s'"
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
-msgstr "Datenquelle '%s' nicht gefunden"
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
+msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
-msgid "Scrollbar references a non-existent block '%s'"
-msgstr "Rollbalken referenziert einen nicht existierenden Block '%s'"
+#: GFParser.py:86
+#, fuzzy
+msgid "Form"
+msgstr "Normal"
 
-#: GFParser.py:90
+#: GFParser.py:91
 msgid "Title"
 msgstr "Titel"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 msgid "Read Only"
 msgstr "Schreibgesch�tzt"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 msgid "Name"
 msgstr "Name"
 
-#: GFParser.py:106
+#: GFParser.py:107
 msgid "Style"
 msgstr "Stil"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr "Normal"
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr "Dialog"
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
+#, fuzzy
+msgid "Description"
+msgstr "Beschreibung:"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+#: GFParser.py:164 GFParser.py:229
+msgid "Action"
+msgstr ""
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "Speichern"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "Anmelden"
+
+#: GFParser.py:273
+msgid "Layout"
+msgstr ""
+
+#: GFParser.py:279
 msgid "Tab Location"
 msgstr "Reiterposition"
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr "Keine Reiter"
 
-#: GFParser.py:140
+#: GFParser.py:282
 msgid "Left tabs"
 msgstr "Reiter an der linken Seite"
 
-#: GFParser.py:141
+#: GFParser.py:283
 msgid "Right tabs"
 msgstr "Reiter an der rechten Seite"
 
-#: GFParser.py:142
+#: GFParser.py:284
 msgid "Botton tabs"
 msgstr "Reiter am unteren Rand"
 
-#: GFParser.py:143
+#: GFParser.py:285
 msgid "Top tabs"
 msgstr "Reiter am oberen Rand"
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "E&inf�gen"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr "Zeilenabstand"
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr "Navigation wechselt Seiten"
 
-#: GFParser.py:223
+#: GFParser.py:384
 msgid "Auto Create Record"
 msgstr "Automatisch neuen Datensatz erzeugen"
 
-#: GFParser.py:229
+#: GFParser.py:390
 msgid "Auto Next Record"
 msgstr "Automatisch zum n�chsten Datensatz wechseln"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr "Automatische Commits"
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr "Block nach Commit automatisch leeren"
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr "Datens�tze k�nnen erzeugt und ge�ndert werden"
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr "Ja"
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 msgid "No"
 msgstr "Nein"
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 msgid "Update Only"
 msgstr "Nur �nderungen m�glich"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 msgid "New Records Only"
 msgstr "Nur Neuanlage m�glich"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr "Abfragen sind erlaubt"
 
-#: GFParser.py:265
+#: GFParser.py:426
 msgid "Allow Deletes"
 msgstr "Datens�tze k�nnen gel�scht werden"
 
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 msgid "Navigable"
 msgstr "Block ist angesteuerbar"
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr "Datens�tze k�nnen via Benutzerschnittstelle gel�scht werden"
 
-#: GFParser.py:283
+#: GFParser.py:444
 msgid "Prevent Inserts"
 msgstr "Datens�tze k�nnen via Benutzerschnittstelle eingef�gt werden"
 
-#: GFParser.py:311
+#: GFParser.py:455
+#, fuzzy
+msgid "Block"
+msgstr "N�chster &Block"
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+msgid "The text to be displayed."
+msgstr ""
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr "Links"
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr "Rechts"
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr "Zentriert"
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr "Feld (Datenbank)"
 
-#: GFParser.py:348
-msgid "Max Text Length"
-msgstr "Maximale Textl�nge"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "Datentyp"
 
-#: GFParser.py:353
-msgid "Min Text Length"
-msgstr "Minimale Textl�nge"
+#: GFParser.py:517
+msgid "The type of data stored in this field."
+msgstr ""
 
-#: GFParser.py:385
-msgid "As Entered"
-msgstr "Wie angegeben"
+#: GFParser.py:520
+msgid "Text"
+msgstr "Text"
 
-#: GFParser.py:386
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "Numerisch"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "Datentyp"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "Titel"
+
+#: GFParser.py:524
+#, fuzzy
+msgid "Date and time"
+msgstr "Datum/Uhrzeit"
+
+#: GFParser.py:525
+msgid "Boolean"
+msgstr ""
+
+#: GFParser.py:528
+#, fuzzy
+msgid "Length"
+msgstr "Links"
+
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
+#, fuzzy
+msgid "Scale"
+msgstr "Speichern"
+
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
+msgstr ""
+
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "&Schlie�en"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
+msgstr ""
+
+#: GFParser.py:549
+#, fuzzy
+msgid "Mixed case"
+msgstr "Kleinbuchstaben"
+
+#: GFParser.py:550
 msgid "Upper case"
 msgstr "Gro�buchstaben"
 
-#: GFParser.py:387
+#: GFParser.py:551
 msgid "Lower case"
 msgstr "Kleinbuchstaben"
 
-#: GFParser.py:393
-msgid "Data Type"
-msgstr "Datentyp"
+#: GFParser.py:554
+msgid "Required"
+msgstr ""
 
-#: GFParser.py:395
-msgid "Text"
-msgstr "Text"
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
-msgstr "Numerisch"
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr "Minimale Textl�nge"
 
-#: GFParser.py:397
-msgid "Date/Time"
-msgstr "Datum/Uhrzeit"
-
-#: GFParser.py:407
+#: GFParser.py:591
 msgid "F/K Datasource"
 msgstr "F/K Datenquelle"
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr "Schl�ssel-Feld in der Detail-Relation"
 
-#: GFParser.py:417
+#: GFParser.py:601
 msgid "F/K Description Field"
 msgstr "Ausgabe-Feld in der Detail-Relation"
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr "F/K Aktualisierungsmethode"
 
-#: GFParser.py:429
+#: GFParser.py:613
 msgid "On form startup"
 msgstr "Beim Start des Formulars"
 
-#: GFParser.py:430
+#: GFParser.py:614
 msgid "On field modification"
 msgstr "Bei einer �nderung des Feldes"
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr "Bei der Best�tigung der �nderungen"
 
-#: GFParser.py:437
+#: GFParser.py:621
 msgid "Default (New Records)"
 msgstr "Voreinstellung (neue Datens�tze)"
 
-#: GFParser.py:444
+#: GFParser.py:628
 msgid "Default to last entry"
 msgstr ""
 "Neue Datens�tze werden mit dem zuletzt angegebenen Inhalt dieses Feldes "
 "initialisert"
 
-#: GFParser.py:452
+#: GFParser.py:636
 msgid "Default (Querying)"
 msgstr "Vorgabewert beim Start einer Abfrage."
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr "Nachl�ssige Abfragen"
 
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
-msgstr "Gro�-/Kleinschreibung f�r Abfragen ignorieren"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
+msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr "Nur NULL"
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr "Abfrage zulassen"
 
-#: GFParser.py:488
+#: GFParser.py:679
+#, fuzzy
+msgid "Automatic Query"
+msgstr "Abfrage zulassen"
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr "F�hrende Leerzeichen entfernen"
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr "Abschlie�ende Leerzeichen entfernen"
 
-#: GFParser.py:528
+#: GFParser.py:699
+#, fuzzy
+msgid "Field"
+msgstr "&Datei"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr "Focus-Reihenfolge"
 
-#: GFParser.py:556
+#: GFParser.py:756
+#, fuzzy
+msgid "Automatic"
+msgstr "Automatische Commits"
+
+#: GFParser.py:757
 msgid "Default"
 msgstr "Voreinstellung"
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr "Passwort/Versteckt"
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr "Dropdown/Combo-Box"
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr "Listenfeld"
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr "Checkbox"
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr "Fixtext (nicht editierbar)"
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr "Format-Maske"
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr "Eingabe-Maske"
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr "Ausgabe-Maske"
 
-#: GFParser.py:651
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "&N�chstes Feld"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+msgid "Grid"
+msgstr ""
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr "Feld enth�lt den URL des Bildes"
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr "Feld enth�lt eine PIL-Kodierung des Bildes"
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr "Bild in Originalgr��e (nicht skaliert)"
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr "Skalierung auf die Breite"
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr "Skalierung auf die H�he"
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr "Skalierung auf Breite und H�he"
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr "Algorithmus f�r beste Anpassung"
 
-#: GFParser.py:714
+#: GFParser.py:977
+msgid "Image"
+msgstr ""
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr "Feld enth�lt den URL der Komponente"
 
-#: GFParser.py:715
+#: GFParser.py:1005
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr "Feld enth�lt die Daten der Komponente in Base64-Kodierung"
 
-#: GFParser.py:783 GFParser.py:824
-msgid "Description field"
-msgstr "Beschreibung"
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
 
-#: GFParser.py:788
-msgid "Own ID field"
-msgstr "Eigenes ID-Feld"
+#: GFParser.py:1060
+msgid "Button"
+msgstr ""
 
-#: GFParser.py:793
-msgid "Parent ID field"
-msgstr "�bergeordnetes ID-Feld"
+#: GFParser.py:1069
+msgid "Options"
+msgstr ""
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
-msgstr "Tabellenhinweis f�r Bl�tter-Tabellen"
+#: GFParser.py:1084
+msgid "Option"
+msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
-msgstr "ID eines Feldes"
+#: GFParser.py:1103
+#, fuzzy
+msgid "Form Title"
+msgstr "Titel"
 
-#: GFParser.py:1063
+#: GFParser.py:1139
+#, fuzzy
+msgid "Form Author"
+msgstr "Autor:"
+
+#: GFParser.py:1175
+#, fuzzy
+msgid "Version"
+msgstr "Version:"
+
+#: GFParser.py:1193
+msgid "Tip"
+msgstr ""
+
+#: GFParser.py:1229
+msgid "Parameter"
+msgstr ""
+
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr "M/D Minimalanzahl untergeordneter Zeilen"
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr "M/D Maximalanzahl untergeordneter Zeilen"
 
+#: GFParser.py:1313
+msgid "Text Field"
+msgstr ""
+
+#: GFParser.py:1314
+#, fuzzy
+msgid "List Box"
+msgstr "Listenfeld"
+
+#: GFParser.py:1315
+#, fuzzy
+msgid "Drop Down Box"
+msgstr "Dropdown/Combo-Box"
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+#, fuzzy
+msgid "Check Box"
+msgstr "Checkbox"
+
 #: input/GFKeyMapper.py:145
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
 msgstr "Ung�ltige Tasten-Id '%(key)s' in der Zuordnungstabelle f�r '%(event)s'"
@@ -525,23 +853,15 @@
 "Ung�ltige Tastenkombination '%(comb)s' in der Zuordnungstabelle f�r '%(event)"
 "s'"
 
-#: input/displayHandlers/Cursor.py:48
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "Das Feld '%(field)s' enth�lt einen ung�ltigen Wert '%(value)s'"
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
+msgstr "Minimale Feldl�nge %d"
 
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "Ung�ltiger Feldwert '%s'"
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
-msgstr "Ung�ltige Eingabe: '%s'"
-
 #: input/displayHandlers/DateTime.py:40
 msgid "'%(value)s' is not a valid date-literal"
 msgstr "Der Wert '%(value)s' ist keine g�ltige Datumsangabe"
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr "Ung�ltiger Wert '%s' f�r Pulldown-Feld mit Schl�ssel"
 
@@ -549,47 +869,39 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr "Der UI-Driver %(name)s implementiert die Methode %(method)s nicht"
 
-#: uidrivers/_base/UIdriver.py:535
-msgid "GNUe Message"
-msgstr "GNUe Meldung"
-
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr "Unbekannt"
-
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 msgid "Save all changes to the database."
 msgstr "Speichere alle �nderungen in der Datenbank."
 
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 msgid "Clear form."
 msgstr "Alle Felder im Formular zur�cksetzen"
 
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr "Formular zur�cksetzen und urspr�nglichen Zustand wiederherstellen."
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "Druck-Routine f�r dieses Formular ausf�hren."
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "Die Anwendung verlassen."
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "Markierten Text ausschneiden"
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "Markierten Text kopieren"
 
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 msgid "Copy the current record to the clipboard."
 msgstr "Kopiere den aktuellen Datensatz in die Zwischenablage."
 
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
@@ -597,77 +909,77 @@
 "Kopiere den aktuellen Datensatz in die Zwischenablage. Der Datensatz wird "
 "mit Tabulatoren als Trennwerten gespeichert."
 
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "Kopiere das aktuellen Formular als reinen Text in die Zwischenablage."
 
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr "Text in das aktuelle Feld kopieren."
 
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 msgid "Select all text."
 msgstr "Alles ausw�hlen"
 
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr "Springe zum vorherigen Feld."
 
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr "Springe zum n�chsten Feld."
 
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr "Zum ersten Datensatz im aktuellen Block springen."
 
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr "Zum vorherigen Datensatz im aktuellen Block springen."
 
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr "Zum n�chsten Datensatz im aktuellen Block springen."
 
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr "Zum letzten Datensatz im aktuellen Block springen."
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "Abfrage einer Datensatznummer zu welcher gesprungen werden soll."
 
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr "Einen neuen Datensatz in den aktuellen Block einf�gen."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "Markiere den Datensatz zum L�schen beim n�chsten Commit."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 msgid "Unmark record for removal at next commit."
 msgstr "Markiere den Datensatz zum L�schen beim n�chsten Commit."
 
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 msgid "Navigate to the next data block."
 msgstr "Springe zum n�chsten Block."
 
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 msgid "Navigate to the previous data block."
 msgstr "Springe zum vorhergehenden Block."
 
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 msgid "Navigate to the next page."
 msgstr "Springe zur n�chsten Seite."
 
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 msgid "Navigate to the previous page."
 msgstr "Springe zur vorhergehenden Seite."
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
@@ -675,7 +987,7 @@
 "Wechsle in den Abfrage-Modus. W�hlen Sie \"Abfrage durchf�hren\" sobald Sie "
 "Ihre Kriterien eingegeben haben. "
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
@@ -683,247 +995,257 @@
 "Wechsle in den Abfrage-Modus und �bernehme die letzten Abfrage-Parameter. "
 "W�hlen Sie 'Abfrage durchf�hren', sobald Sie alle Kriterien angegeben haben."
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr "Abfrage-Modus abbrechen."
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr "Abfrage ausf�hren und Ergebnisse anzeigen."
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "Zeige Informationen �ber GNUe Forms an."
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr "Zeigt die aktuelle Tastenbelegugng an."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&Datei"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 msgid "&Save Changes"
 msgstr "&�nderungen speichern"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 msgid "&Revert Changes"
 msgstr "�nderungen &verwerfen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "&Drucken"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "&Schlie�en"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&Bearbeiten"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "Ausschnei&den"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "&Kopieren"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "E&inf�gen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 msgid "Select &All"
 msgstr "&Alles ausw�hlen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 msgid "&Insert New Record"
 msgstr "&Neuer Datensatz"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 msgid "&Delete Current Record"
 msgstr "&L�sche aktuellen Datensatz"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 msgid "&Undelete Current Record"
 msgstr "&L�sche aktuellen Datensatz"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr "&Navigation"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 msgid "&Next Entry"
 msgstr "&N�chstes Feld"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 msgid "&Previous Entry"
 msgstr "&Vorheriges Feld"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 msgid "Next &Record"
 msgstr "N�chster &Datensatz"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 msgid "Previous R&ecord"
 msgstr "Vorheriger D&atensatz"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 msgid "&First Record"
 msgstr "&Erster Datensatz"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 msgid "&Last Record"
 msgstr "&Letzter Datensatz"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 msgid "&Go to record..."
 msgstr "&Springe zu Datensatz..."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr "N�chster &Block"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 msgid "Previous Bl&ock"
 msgstr "Vorheriger Bl&ock"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 msgid "Next P&age"
 msgstr "N�chste Se&ite"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 msgid "Pre&vious Page"
 msgstr "Vo&rherige Seite"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 msgid "&Search"
 msgstr "&Suche"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 msgid "Enter Query Mode"
 msgstr "&Suchanfrage starten"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr "Suchmodus &abbrechen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 msgid "Repeat Last Query"
 msgstr "&Letze Anfrage wiederholen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 msgid "Perform Query"
 msgstr "S&uchanfrage starten"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "&Hilfe"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 msgid "About..."
 msgstr "&Info..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 msgid "Save Changes"
 msgstr "&�nderungen speichern"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 msgid "Insert New Record"
 msgstr "&Neuer Datensatz"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 msgid "Delete Current Record"
 msgstr "&L�sche aktuellen Datensatz"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "&Erster Datensatz"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "Vorheriger Datensatz"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "N�chster Datensatz"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "&Letzter Datensatz"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 msgid "Go to record..."
 msgstr "&Springe zu Datensatz..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 msgid "Enter Search Mode"
 msgstr "In den Such-Modus wechseln"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 msgid "Perform Search"
 msgstr "Suchanfrage starten"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 msgid "Print Form"
 msgstr "&Drucken"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 msgid "Revert Changes"
 msgstr "�nderungen &verwerfen"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 msgid "Close"
 msgstr "&Schlie�en"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr "bitte warten..."
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr "Ok"
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 msgid "Save"
 msgstr "Speichern"
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 msgid "Revert"
 msgstr "Verwerfen"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr "Einf�gen"
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 msgid "Delete"
 msgstr "L�schen"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 msgid "Query"
 msgstr "Suchen"
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr "Ausf�hren"
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 msgid "Exit"
 msgstr "Beenden"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr "Auswahl einer Option"
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr "bitte warten..."
+
 #: uidrivers/gtk2/UIdriver.py:42
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
 msgstr "Import-Fehler: Der GTK2-Treiber ben�tigt mindestens 'pygtk 2.4'"
@@ -936,22 +1258,23 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr "Der GNUe-Forms GTK Treiber ben�tigt PyGTK 2.2.x und GTK 2.x"
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr "GNUe interner Systemfehler"
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr "GNUe unerwarteter Fehler"
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 msgid "GNUe Application Error"
 msgstr "GNUe Programmfehler"
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -963,8 +1286,9 @@
 "Das bedeutet, dass Sie einen Fehler in GNU Enterprise gefunden haben. Bitte "
 "melden Sie ihn an address@hidden"
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
@@ -974,129 +1298,123 @@
 "%s.\n"
 "Bitte wenden Sie sich an Ihren Systemadministrator."
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 msgid "Error"
 msgstr "Fehler"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ">> Detail"
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ">> Details"
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr "<< Details"
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr "'%s' ist kein g�ltiger Typ f�r ein Eingabe-Feld"
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 msgid "About %s"
 msgstr "Info �ber %s"
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 msgid "Version:"
 msgstr "Version:"
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 msgid "Driver:"
 msgstr "Treiber:"
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 msgid " Form Information "
 msgstr " Formular-Information "
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 msgid "Name:"
 msgstr "Name:"
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 msgid "Author:"
 msgstr "Autor:"
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 msgid "Description:"
 msgstr "Beschreibung:"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "Version %s"
-
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "Gesch�tzt durch die GNU General Public Licence 2.0"
-
-#: uidrivers/qt/ToolBar.py:36
-msgid "Forms Navigation"
-msgstr "Formular Navigation"
-
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
 msgstr ""
-"Anmeldung erforderlich f�r\n"
-"\"%s\""
+"** ACHTUNG: '%s' konnte nicht in die Werkzeugleiste aufgenommen werden; das "
+"Symbol fehlt"
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr "Anmeldung erforderlich f�r %s"
+#: uidrivers/qt3/UIdriver.py:36
+msgid "The GNUe-Forms QT3 driver requires PyQT."
+msgstr "Der GNUe-Forms QT3 Treiber ben�tigt PyQT."
 
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: Anmeldung zu %s"
+#: uidrivers/qt3/dialogs.py:113
+#, fuzzy
+msgid "<< Detail"
+msgstr "<< Details"
 
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr "Anmelden"
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
+msgid "Version: %s"
+msgstr "Version: %s"
 
-#: uidrivers/qt/UIdriver.py:39
-msgid "The GNUe-Forms QT3 driver requires PyQT."
-msgstr "Der GNUe-Forms QT3 Treiber ben�tigt PyQT."
-
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
 msgid "Information"
 msgstr "Formular-Information"
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 msgid "Warning"
 msgstr "Warnung"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 msgid "Question"
 msgstr "Frage"
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr "Der GNUe-Forms Treiber f�r Win32 ben�tigt PyWin32."
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr "Info"
+#: uidrivers/win32/dialogs.py:359
+msgid "GNUe Forms"
+msgstr "GNU Enterprise Forms"
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+msgid "Form Information"
+msgstr " Formular-Information "
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1108,7 +1426,7 @@
 "Das bedeutet, dass Sie einen Fehler in GNU Enterprise gefunden haben. Bitte "
 "melden Sie ihn an address@hidden"
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 msgid ""
 "An unexpected error has occured:\r\n"
 "%s.\r\n"
@@ -1118,19 +1436,15 @@
 "%s.\n"
 "Bitte wenden Sie sich an Ihren Systemadministrator."
 
-#: uidrivers/win32/dialogs.py:356
-msgid "GNUe Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr "Info"
 
-#: uidrivers/win32/dialogs.py:364
-msgid "Form Information"
-msgstr " Formular-Information "
-
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid "Printing"
 msgstr "Drucken"
 
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
@@ -1139,18 +1453,30 @@
 "Bitte pr�fen Sie Ihre Druckerkonfiguration und versuchen Sie es dann noch "
 "einmal."
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 msgid "Login: "
 msgstr "Benutzer:"
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr "Seite 1 von 1"
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr "GNU Enterprise Forms"
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "Version %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr "(c) Free Software Foundation"
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "Gesch�tzt durch die GNU General Public Licence 2.0"
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr "Der GNUe-Forms Treiber f�r wx ben�tigt wxPython."
@@ -1159,20 +1485,107 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr "Der Zeichensatz %s wird vom wx UI Treiber nicht unterst�tzt."
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
-msgstr "Knoten"
+#: uidrivers/wx26/UIdriver.py:35
+msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
+msgstr "Dieser GNUe-Forms Treiber ben�tigt mindestens wx 2.6"
 
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
-"** ACHTUNG: '%s' konnte nicht in die Werkzeugleiste aufgenommen werden; das "
-"Symbol fehlt"
+#~ msgid "Trigger Exception :\n"
+#~ msgstr "Fehler im Trigger:\n"
 
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
-msgid "Version: %s"
-msgstr "Version: %s"
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr ""
+#~ "Die Daten sind noch nicht gespeichert. Bitte speichern oder verwerfen Sie "
+#~ "die �nderungen um fortzufahren."
 
-#: uidrivers/wx26/UIdriver.py:38
-msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
-msgstr "Dieser GNUe-Forms Treiber ben�tigt mindestens wx 2.6"
+#~ msgid "Form not in query mode"
+#~ msgstr "Das Formular ist nicht im Anfrage-Modus."
+
+#~ msgid ""
+#~ "Database query error:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s"
+#~ msgstr ""
+#~ "Fehler bei der Datenbankabfrage:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s"
+
+#~ msgid "Form trigger returned error"
+#~ msgstr "Formular-Trigger lieferte einen Fehler"
+
+#~ msgid "Block trigger returned error"
+#~ msgstr "Block-Trigger lieferte einen Fehler"
+
+#~ msgid "You cannot do that in query mode."
+#~ msgstr "Diese Aktion ist im Abfrage-Modus nicht erlaubt."
+
+#~ msgid "There are no navigable widgets in this form. Unable to display."
+#~ msgstr ""
+#~ "Das Formular enth�lt keine navigierbaren Elemente. Es kann nicht "
+#~ "angezeigt werden."
+
+#~ msgid "Current data is saved"
+#~ msgstr "Die aktuellen Daten sind gespeichert."
+
+#~ msgid "Block does not allow delete"
+#~ msgstr "In diesem Block ist das L�schen nicht zul�ssig"
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "In diesem Block ist das Einf�gen nicht zul�ssig"
+
+#~ msgid "Scrollbar references a non-existent block '%s'"
+#~ msgstr "Rollbalken referenziert einen nicht existierenden Block '%s'"
+
+#~ msgid "Max Text Length"
+#~ msgstr "Maximale Textl�nge"
+
+#~ msgid "As Entered"
+#~ msgstr "Wie angegeben"
+
+#~ msgid "Ignore Case on Queries"
+#~ msgstr "Gro�-/Kleinschreibung f�r Abfragen ignorieren"
+
+#~ msgid "Description field"
+#~ msgstr "Beschreibung"
+
+#~ msgid "Own ID field"
+#~ msgstr "Eigenes ID-Feld"
+
+#~ msgid "Parent ID field"
+#~ msgstr "�bergeordnetes ID-Feld"
+
+#~ msgid "Table hint for leaf tables"
+#~ msgstr "Tabellenhinweis f�r Bl�tter-Tabellen"
+
+#~ msgid "ID of a field"
+#~ msgstr "ID eines Feldes"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "Ung�ltiger Feldwert '%s'"
+
+#~ msgid "Invalid input: '%s'"
+#~ msgstr "Ung�ltige Eingabe: '%s'"
+
+#~ msgid "GNUe Message"
+#~ msgstr "GNUe Meldung"
+
+#~ msgid "Unknown"
+#~ msgstr "Unbekannt"
+
+#~ msgid "Forms Navigation"
+#~ msgstr "Formular Navigation"
+
+#~ msgid ""
+#~ "Login required for\n"
+#~ "\"%s\""
+#~ msgstr ""
+#~ "Anmeldung erforderlich f�r\n"
+#~ "\"%s\""
+
+#~ msgid "Login required for %s"
+#~ msgstr "Anmeldung erforderlich f�r %s"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: Anmeldung zu %s"
+
+#~ msgid "Node"
+#~ msgstr "Knoten"

Modified: trunk/gnue-forms/po/es_ES.po
===================================================================
--- trunk/gnue-forms/po/es_ES.po        2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/es_ES.po        2006-11-09 15:33:59 UTC (rev 9021)
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNUe-Forms-0.5.5\n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: 2004-06-09\n"
 "Last-Translator: Jose Esteban <address@hidden>\n"
 "Language-Team: es_ES\n"
@@ -42,11 +42,11 @@
 msgid "Unable to load UI driver: %s"
 msgstr "Incapaz de cargar un manejador de UI. Abandonando."
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "No se ha indicado fichero formulario."
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
@@ -54,77 +54,56 @@
 "Se soportan las siguientes interfaces de usuario. Puede seleccionar mediante "
 "opci�n --interface"
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr "Para ayuda genera, ejecute el comando con opci�n --help."
 
-#: GFClient.py:226
+#: GFClient.py:231
 msgid "User interface command line options:"
 msgstr "Opciones de l�nea de comandos disponibles:"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
-msgstr "Longitud m�nima requerida %d"
+# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "El formulario es de solo lectura."
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
-msgstr "Excepci�n en trigger:\n"
+#: GFForm.py:1227 GFForm.py:1244
+msgid "Recordnumber"
+msgstr ""
 
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
-msgstr "Datos no guardados. Guarde los cambios o limpie el formulario."
+#: GFForm.py:1231
+#, fuzzy
+msgid "Jump to record"
+msgstr "Ir a registro num..."
 
-#: GFForm.py:592
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "El valor num�rico proporcionado no es v�lido"
+
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr "Proporcione criterios de b�squeda"
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr "Interrgaci�n cancelada"
 
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr "No est� en modo interrogaci�n"
-
-#: GFForm.py:655
-#, fuzzy
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-"Error interrogando base de datos:\n"
-"%s\n"
-"%s "
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr "Interrogaci�n sin resultado."
 
-#: GFForm.py:666
+#: GFForm.py:1409
 #, fuzzy
 msgid "Query successful."
 msgstr "Interrogaci�n satisfactoria"
 
-# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "El formulario es de solo lectura."
+#: GFForm.py:1870
+#, fuzzy
+msgid "Save changes?"
+msgstr "Guarda cambios"
 
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr "Un trigger del formulario devolvi� error"
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr "Un trigger de bloque devolvi� error"
-
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
-msgid "You cannot do that in query mode."
-msgstr "No puede hacer eso en modo interrogaci�n"
-
-#: GFInstance.py:60
+#: GFInstance.py:53
 #, fuzzy
 msgid "Unable to open file: %s"
 msgstr ""
@@ -132,395 +111,743 @@
 "\n"
 "    %s"
 
-#: GFInstance.py:354
-#, fuzzy
-msgid "There are no navigable widgets in this form. Unable to display."
-msgstr "No hay controles navegables. No se puede mostrar el formulario."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+msgstr ""
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "El valor num�rico proporcionado no es v�lido"
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
+msgstr ""
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "Los datos actuales estan guardados."
-
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "El bloque no permite borrar"
-
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "El bloque no permite insertar."
-
-#: GFInstance.py:1019
-msgid "Recordnumber"
+#: GFObjects/GFField.py:46
+msgid "Datasource '%(name)s' not found"
 msgstr ""
 
-#: GFInstance.py:1020
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
 #, fuzzy
-msgid "Jump to record"
-msgstr "Ir a registro num..."
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "Valor incorrecto '%s' para el campo"
 
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
 msgstr ""
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
+#: GFObjects/GFObj.py:41
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
-msgid "Scrollbar references a non-existent block '%s'"
+#: GFObjects/GFObj.py:52
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr ""
 
-#: GFParser.py:90
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
+msgstr ""
+
+#: GFParser.py:86
+#, fuzzy
+msgid "Form"
+msgstr "Normal"
+
+#: GFParser.py:91
 msgid "Title"
 msgstr "&Archivo"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 msgid "Read Only"
 msgstr "Solo lectura"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 msgid "Name"
 msgstr ""
 
-#: GFParser.py:106
+#: GFParser.py:107
 #, fuzzy
 msgid "Style"
 msgstr "&Archivo"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr "Normal"
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr "Di�logo"
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
+#, fuzzy
+msgid "Description"
+msgstr "Campo que describe la clave externa"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+#: GFParser.py:164 GFParser.py:229
+msgid "Action"
+msgstr ""
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "&Archivo"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "Login"
+
+#: GFParser.py:273
+msgid "Layout"
+msgstr ""
+
+#: GFParser.py:279
 msgid "Tab Location"
 msgstr "Orientaci�n de tabulaci�n"
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr "Sin tabulaci�n"
 
-#: GFParser.py:140
+#: GFParser.py:282
 #, fuzzy
 msgid "Left tabs"
 msgstr "Tabulaci�n izquierda"
 
-#: GFParser.py:141
+#: GFParser.py:283
 #, fuzzy
 msgid "Right tabs"
 msgstr "Tabulaci�n derecha"
 
-#: GFParser.py:142
+#: GFParser.py:284
 #, fuzzy
 msgid "Botton tabs"
 msgstr "Tabulaci�n inferior"
 
-#: GFParser.py:143
+#: GFParser.py:285
 #, fuzzy
 msgid "Top tabs"
 msgstr "Tabulaci�n superior"
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "&Pega"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr "Espaciado de l�nea"
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr "Navegaci�n transparente"
 
-#: GFParser.py:223
+#: GFParser.py:384
 msgid "Auto Create Record"
 msgstr "Creaci�n registro auto"
 
-#: GFParser.py:229
+#: GFParser.py:390
 msgid "Auto Next Record"
 msgstr "Registro siguiente auto"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr "Auto actualizar"
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr "Limiar al actualizar"
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr "Permitir edici�n"
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr "S�"
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 msgid "No"
 msgstr "No"
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 msgid "Update Only"
 msgstr "Solo actualizacion"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 msgid "New Records Only"
 msgstr "Solo nuevos registros"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr "Permitir interrogaci�n"
 
-#: GFParser.py:265
+#: GFParser.py:426
 msgid "Allow Deletes"
 msgstr "Permitir borrado"
 
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 msgid "Navigable"
 msgstr "Navegable"
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr "Bloqueo de borrado"
 
-#: GFParser.py:283
+#: GFParser.py:444
 msgid "Prevent Inserts"
 msgstr "Bloqueo de inserci�n"
 
-#: GFParser.py:311
+#: GFParser.py:455
+#, fuzzy
+msgid "Block"
+msgstr "Siguiente &bloque"
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+msgid "The text to be displayed."
+msgstr ""
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr "Izquierda"
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr "Derecha"
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr "Centrado"
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr "Columna (Database)"
 
-#: GFParser.py:348
-msgid "Max Text Length"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "Tipo de dato"
+
+#: GFParser.py:517
+msgid "The type of data stored in this field."
 msgstr ""
 
-#: GFParser.py:353
-msgid "Min Text Length"
+#: GFParser.py:520
+msgid "Text"
+msgstr "Texto"
+
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "Num�rico"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "Tipo de dato"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "&Archivo"
+
+#: GFParser.py:524
+#, fuzzy
+msgid "Date and time"
+msgstr "Fecha/Hora"
+
+#: GFParser.py:525
+msgid "Boolean"
 msgstr ""
 
-#: GFParser.py:385
-msgid "As Entered"
-msgstr "Como se entre"
+#: GFParser.py:528
+#, fuzzy
+msgid "Length"
+msgstr "Izquierda"
 
-#: GFParser.py:386
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
+#, fuzzy
+msgid "Scale"
+msgstr "&Archivo"
+
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
+msgstr ""
+
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "Cerrar"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
+msgstr ""
+
+#: GFParser.py:549
+#, fuzzy
+msgid "Mixed case"
+msgstr "Min�sculas"
+
+#: GFParser.py:550
 msgid "Upper case"
 msgstr "May�sculas"
 
-#: GFParser.py:387
+#: GFParser.py:551
 msgid "Lower case"
 msgstr "Min�sculas"
 
-#: GFParser.py:393
-msgid "Data Type"
-msgstr "Tipo de dato"
+#: GFParser.py:554
+msgid "Required"
+msgstr ""
 
-#: GFParser.py:395
-msgid "Text"
-msgstr "Texto"
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
-msgstr "Num�rico"
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr ""
 
-#: GFParser.py:397
-msgid "Date/Time"
-msgstr "Fecha/Hora"
-
-#: GFParser.py:407
+#: GFParser.py:591
 msgid "F/K Datasource"
 msgstr "Fuente de datos para clave externa"
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr "Campo ligado como clave externa"
 
-#: GFParser.py:417
+#: GFParser.py:601
 msgid "F/K Description Field"
 msgstr "Campo que describe la clave externa"
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr "Modo de refresco de claves externas"
 
-#: GFParser.py:429
+#: GFParser.py:613
 msgid "On form startup"
 msgstr "Al abrir el formulario"
 
-#: GFParser.py:430
+#: GFParser.py:614
 msgid "On field modification"
 msgstr "Refrescar claves externas al modificar el dato"
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr "Al actualizar"
 
-#: GFParser.py:437
+#: GFParser.py:621
 msgid "Default (New Records)"
 msgstr "Por defecto (registros nuevos)"
 
-#: GFParser.py:444
+#: GFParser.py:628
 msgid "Default to last entry"
 msgstr "Por defecto, el �ltimo valor proporcionado"
 
-#: GFParser.py:452
+#: GFParser.py:636
 msgid "Default (Querying)"
 msgstr "Por defecto (Interrogaci�n)"
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr "Interrogaciones texto difuso"
 
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
-msgstr "Ignorar may/min en interrogaciones"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
+msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr "Solo nulo"
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr "Permitir interrogaci�n"
 
-#: GFParser.py:488
+#: GFParser.py:679
+#, fuzzy
+msgid "Automatic Query"
+msgstr "Permitir interrogaci�n"
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr "Eliminar espacios iniciales"
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr "Eliminar espacios finales"
 
-#: GFParser.py:528
+#: GFParser.py:699
+#, fuzzy
+msgid "Field"
+msgstr "&Archivo"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr "Ordenaci�n en secuencia de foco"
 
-#: GFParser.py:556
+#: GFParser.py:756
+#, fuzzy
+msgid "Automatic"
+msgstr "Auto actualizar"
+
+#: GFParser.py:757
 msgid "Default"
 msgstr "Por defecto"
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr "Clave/oculto"
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr "Desplegable"
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr "Lista"
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr "Marca-opci�n"
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr "Etiqueta (no-editable)"
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr "Plantilla de formato"
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr "Plantilla de entrada"
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr "Plantilla para mostrar"
 
-#: GFParser.py:651
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "Dato si&guiente"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+msgid "Grid"
+msgstr ""
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr "El dato contiene la URL de una imagen"
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr "El campo contiene codificaci�n PIL de la imagen"
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr "Imagen a tama�o original (sin escalar)"
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr "Ajustar a lo ancho"
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr "Ajustoar a lo alto"
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr "Escalar a lo alto y ancho (puede distorsionar)"
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr "Utilizar m�todo de mejor encaje"
 
-#: GFParser.py:714
+#: GFParser.py:977
+msgid "Image"
+msgstr ""
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr "El campo contiene la URL de un componente"
 
-#: GFParser.py:715
+#: GFParser.py:1005
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr "El campo contiene datos de un componente codificados en Base64"
 
-#: GFParser.py:783 GFParser.py:824
-msgid "Description field"
-msgstr "Campo que describe la clave externa"
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
 
-#: GFParser.py:788
-msgid "Own ID field"
-msgstr "Identificador propio del campo"
+#: GFParser.py:1060
+msgid "Button"
+msgstr ""
 
-#: GFParser.py:793
-msgid "Parent ID field"
-msgstr "Campo con ID paterno"
+#: GFParser.py:1069
+msgid "Options"
+msgstr ""
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
-msgstr "Indicaci�n para tablas paginadas"
+#: GFParser.py:1084
+msgid "Option"
+msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
-msgstr "Identificador de un campo"
+#: GFParser.py:1103
+#, fuzzy
+msgid "Form Title"
+msgstr "&Archivo"
 
-#: GFParser.py:1063
+#: GFParser.py:1139
+msgid "Form Author"
+msgstr ""
+
+#: GFParser.py:1175
+#, fuzzy
+msgid "Version"
+msgstr "Versi�n %s"
+
+#: GFParser.py:1193
+msgid "Tip"
+msgstr ""
+
+#: GFParser.py:1229
+msgid "Parameter"
+msgstr ""
+
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr "M�nimo de filas en detalle"
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr "M�ximo de filas de detalle"
 
+#: GFParser.py:1313
+msgid "Text Field"
+msgstr ""
+
+#: GFParser.py:1314
+#, fuzzy
+msgid "List Box"
+msgstr "Lista"
+
+#: GFParser.py:1315
+#, fuzzy
+msgid "Drop Down Box"
+msgstr "Desplegable"
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+#, fuzzy
+msgid "Check Box"
+msgstr "Marca-opci�n"
+
 #: input/GFKeyMapper.py:145
 #, fuzzy
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
@@ -531,24 +858,15 @@
 msgid "Invalid keystroke combination '%(comb)s' in keymap for '%(event)s'"
 msgstr "Combinaci�n de teclado '%s' no v�lida en mapa de teclado para '%s'"
 
-#: input/displayHandlers/Cursor.py:48
-#, fuzzy
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "Valor incorrecto '%s' para el campo"
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
+msgstr "Longitud m�nima requerida %d"
 
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "Valor incorrecto '%s' para el campo"
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
-msgstr ""
-
 #: input/displayHandlers/DateTime.py:40
 msgid "'%(value)s' is not a valid date-literal"
 msgstr ""
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr "Valor incorrecto '%s' para campo desplegable"
 
@@ -556,126 +874,118 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr ""
 
-#: uidrivers/_base/UIdriver.py:535
-msgid "GNUe Message"
-msgstr ""
-
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr ""
-
 # ../../forms/src/uidrivers/wx/UIdriver.py:205 :273
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 msgid "Save all changes to the database."
 msgstr "Guarda todos cambios en la base de datos."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:207 :286 :286
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 msgid "Clear form."
 msgstr "Limpia formulario."
 
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr "Limpia formulario y recupera datos anteriores."
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "Imprime el formulario."
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "Termina la aplicacion."
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "Corta el texto seleccionado."
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "Copia el texto seleccionado."
 
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 msgid "Copy the current record to the clipboard."
 msgstr "Copia el objeto actual al clipboard"
 
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
 msgstr "Copia registro actual al clipboard, separando valores con tabuladores."
 
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "Copia la pantalla actual actual al clipboard como texto."
 
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr "Pega el texto en el campo actual."
 
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 msgid "Select all text."
 msgstr "Selecciona todo el texto."
 
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr "Salta al campo anterior, seg�n secuencia l�gica."
 
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr "Salta al campo siguiente, seg�n secuencia l�gica."
 
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr "Salta al primer campo del bloque."
 
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr "Salta al campo anterior del bloque."
 
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr "Salta al siguiente campo del bloque."
 
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr "Salta al �ltimo campo del bloque."
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "Pregunta por el n�mero de registro al que saltar."
 
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr "Inserta un nuevo registro en el bloque actual."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "Marca un registro para ser eliminado en el siguiente commit."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 #, fuzzy
 msgid "Unmark record for removal at next commit."
 msgstr "Marca un registro para ser eliminado en el siguiente commit."
 
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 msgid "Navigate to the next data block."
 msgstr "Ir al siguiente bloque de datos."
 
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 msgid "Navigate to the previous data block."
 msgstr "Ir al bloque de datos anterior."
 
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 msgid "Navigate to the next page."
 msgstr "P�gina siguiente."
 
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 msgid "Navigate to the previous page."
 msgstr "P�gina anterior."
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
@@ -683,7 +993,7 @@
 "Cambia a modo interrogaci�n. Rellene datos de b�squeda y ejecute "
 "interrogaci�n."
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
@@ -691,253 +1001,263 @@
 "Cambia a modo interrogaci�n (si no est� ya) y recupera los �ltimos datos de "
 "b�squeda. Ejecute despu�s la interrogaci�n."
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr "Sale de modo interrogaci�n."
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr "Ejecuta interrogaci�n y muestra los resultados."
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "Muestra informacion sobre GNUe Forms."
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr "Muestra acciones de las teclas."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&Archivo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 msgid "&Save Changes"
 msgstr "Guarda cambios"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 msgid "&Revert Changes"
 msgstr "Deshace cambios"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "&Imprimir"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "&Cerrar"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&Edita"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "&Corta"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "&Copia"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "&Pega"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 msgid "Select &All"
 msgstr "Selecciona &todo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 msgid "&Insert New Record"
 msgstr "&Inserta Registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 msgid "&Delete Current Record"
 msgstr "&Elimina registro actual"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 #, fuzzy
 msgid "&Undelete Current Record"
 msgstr "&Elimina registro actual"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr "Na&vegaci�n"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 msgid "&Next Entry"
 msgstr "Dato si&guiente"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 msgid "&Previous Entry"
 msgstr "Dato ante&rior"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 msgid "Next &Record"
 msgstr "Registro &siguiente"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 msgid "Previous R&ecord"
 msgstr "Registro &anterior"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 msgid "&First Record"
 msgstr "&Primer registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 msgid "&Last Record"
 msgstr "&Ultimo Registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 msgid "&Go to record..."
 msgstr "&Saltar a registro num..."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr "Siguiente &bloque"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 msgid "Previous Bl&ock"
 msgstr "Bloque anteri&or"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 msgid "Next P&age"
 msgstr "P�gin&a siguiente"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 msgid "Pre&vious Page"
 msgstr "P�&gina anterior"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 msgid "&Search"
 msgstr "&Buscar"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 msgid "Enter Query Mode"
 msgstr "Pasa a modo interrogaci�n"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr "Abandona modo interrogaci�n"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 msgid "Repeat Last Query"
 msgstr "Repetir �ltima interrogaci�n"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 msgid "Perform Query"
 msgstr "Ejecuta interrogaci�n"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "&Ayuda"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 msgid "About..."
 msgstr "Acerca..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 msgid "Save Changes"
 msgstr "Guarda cambios"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 msgid "Insert New Record"
 msgstr "Insertar registro"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 msgid "Delete Current Record"
 msgstr "Elimina registro actual"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "Primer Registro"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "Registro anterior"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "Registro siguiente"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "Ultimo registro"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 msgid "Go to record..."
 msgstr "Ir a registro num..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 msgid "Enter Search Mode"
 msgstr "Pasa a modo b�squeda"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 msgid "Perform Search"
 msgstr "Ejecuta b�squeda"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 #, fuzzy
 msgid "Print Form"
 msgstr "&Imprimir"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 msgid "Revert Changes"
 msgstr "Deshace cambios"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 msgid "Close"
 msgstr "Cerrar"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr ""
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 msgid "Save"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 #, fuzzy
 msgid "Revert"
 msgstr "Deshace cambios"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 #, fuzzy
 msgid "Delete"
 msgstr "Permitir borrado"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 #, fuzzy
 msgid "Query"
 msgstr "Permitir interrogaci�n"
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 #, fuzzy
 msgid "Exit"
 msgstr "&Edita"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr ""
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr ""
+
 #: uidrivers/gtk2/UIdriver.py:42
 #, fuzzy
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
@@ -953,22 +1273,23 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr "El modo GTK requiere PyGTK y GTK 2.x"
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 msgid "GNUe Application Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -976,142 +1297,137 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 #, fuzzy
 msgid "Error"
 msgstr "Error: %s"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 #, fuzzy
 msgid "About %s"
 msgstr "Acerca..."
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 #, fuzzy
 msgid "Version:"
 msgstr "Versi�n %s"
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 msgid "Driver:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 msgid " Form Information "
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 msgid "Name:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 msgid "Author:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 #, fuzzy
 msgid "Description:"
 msgstr "Campo que describe la clave externa"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "Versi�n %s"
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "Protegido por GNU General Public License 2.0"
+#: uidrivers/qt3/UIdriver.py:36
+msgid "The GNUe-Forms QT3 driver requires PyQT."
+msgstr "El modo QT de GNUe-Forms requiere PyQT"
 
-#: uidrivers/qt/ToolBar.py:36
-msgid "Forms Navigation"
-msgstr "Exploraci�n de formularios"
-
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
+#: uidrivers/qt3/dialogs.py:113
+msgid "<< Detail"
 msgstr ""
-"Login requerido para \n"
-"\"%s\""
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr "Login requerido para %s"
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
+#, fuzzy
+msgid "Version: %s"
+msgstr "Versi�n %s"
 
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: Login en %s"
-
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr "Login"
-
-#: uidrivers/qt/UIdriver.py:39
-msgid "The GNUe-Forms QT3 driver requires PyQT."
-msgstr "El modo QT de GNUe-Forms requiere PyQT"
-
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
 msgid "Information"
 msgstr ""
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 #, fuzzy
 msgid "Warning"
 msgstr "&Imprimir"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 msgid "Question"
 msgstr ""
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr "El modo Win32 de GNUe-Forms requiere PyWin32."
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr ""
+#: uidrivers/win32/dialogs.py:359
+#, fuzzy
+msgid "GNUe Forms"
+msgstr "GNU Enterprise Forms"
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+#, fuzzy
+msgid "Form Information"
+msgstr "Exploraci�n de formularios"
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1119,45 +1435,51 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 msgid ""
 "An unexpected error has occured:\r\n"
 "%s.\r\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/win32/dialogs.py:356
-#, fuzzy
-msgid "GNUe Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr ""
 
-#: uidrivers/win32/dialogs.py:364
-#, fuzzy
-msgid "Form Information"
-msgstr "Exploraci�n de formularios"
-
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid "Printing"
 msgstr "&Imprimir"
 
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
 msgstr "Revise su impresora e intentelo de nuevo."
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 msgid "Login: "
 msgstr "Login:"
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr "P�gina 1 de 1"
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr "GNU Enterprise Forms"
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "Versi�n %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr ""
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "Protegido por GNU General Public License 2.0"
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr "El modo wx de GNUe forms requiere wxPython."
@@ -1166,24 +1488,95 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr "El manejador wx no soporta la codificaci�n %s."
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
-msgstr "Nodo"
+#: uidrivers/wx26/UIdriver.py:35
+#, fuzzy
+msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
+msgstr "El modo GTK requiere PyGTK y GTK 2.x"
 
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
+#~ msgid "Trigger Exception :\n"
+#~ msgstr "Excepci�n en trigger:\n"
 
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr "Datos no guardados. Guarde los cambios o limpie el formulario."
+
+#~ msgid "Form not in query mode"
+#~ msgstr "No est� en modo interrogaci�n"
+
 #, fuzzy
-msgid "Version: %s"
-msgstr "Versi�n %s"
+#~ msgid ""
+#~ "Database query error:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s"
+#~ msgstr ""
+#~ "Error interrogando base de datos:\n"
+#~ "%s\n"
+#~ "%s "
 
-#: uidrivers/wx26/UIdriver.py:38
+#~ msgid "Form trigger returned error"
+#~ msgstr "Un trigger del formulario devolvi� error"
+
+#~ msgid "Block trigger returned error"
+#~ msgstr "Un trigger de bloque devolvi� error"
+
+#~ msgid "You cannot do that in query mode."
+#~ msgstr "No puede hacer eso en modo interrogaci�n"
+
 #, fuzzy
-msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
-msgstr "El modo GTK requiere PyGTK y GTK 2.x"
+#~ msgid "There are no navigable widgets in this form. Unable to display."
+#~ msgstr "No hay controles navegables. No se puede mostrar el formulario."
 
+#~ msgid "Current data is saved"
+#~ msgstr "Los datos actuales estan guardados."
+
+#~ msgid "Block does not allow delete"
+#~ msgstr "El bloque no permite borrar"
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "El bloque no permite insertar."
+
+#~ msgid "As Entered"
+#~ msgstr "Como se entre"
+
+#~ msgid "Ignore Case on Queries"
+#~ msgstr "Ignorar may/min en interrogaciones"
+
+#~ msgid "Description field"
+#~ msgstr "Campo que describe la clave externa"
+
+#~ msgid "Own ID field"
+#~ msgstr "Identificador propio del campo"
+
+#~ msgid "Parent ID field"
+#~ msgstr "Campo con ID paterno"
+
+#~ msgid "Table hint for leaf tables"
+#~ msgstr "Indicaci�n para tablas paginadas"
+
+#~ msgid "ID of a field"
+#~ msgstr "Identificador de un campo"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "Valor incorrecto '%s' para el campo"
+
+#~ msgid "Forms Navigation"
+#~ msgstr "Exploraci�n de formularios"
+
+#~ msgid ""
+#~ "Login required for\n"
+#~ "\"%s\""
+#~ msgstr ""
+#~ "Login requerido para \n"
+#~ "\"%s\""
+
+#~ msgid "Login required for %s"
+#~ msgstr "Login requerido para %s"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: Login en %s"
+
+#~ msgid "Node"
+#~ msgstr "Nodo"
+
 #, fuzzy
 #~ msgid ""
 #~ "Database commit error:\n"

Modified: trunk/gnue-forms/po/es_MX.po
===================================================================
--- trunk/gnue-forms/po/es_MX.po        2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/es_MX.po        2006-11-09 15:33:59 UTC (rev 9021)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: 2002-07-05 13:48+0200\n"
 "Last-Translator: Enrique Sanchez <address@hidden>\n"
 "Language-Team: Espa~ol/Mexico\n"
@@ -42,21 +42,21 @@
 msgid "Unable to load UI driver: %s"
 msgstr "Incapaz de cargar el manejador ODBC para %s"
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "No se ha especificado ninguna Definicion de Forma."
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
 msgstr ""
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr ""
 
-#: GFClient.py:226
+#: GFClient.py:231
 #, fuzzy
 msgid "User interface command line options:"
 msgstr ""
@@ -67,65 +67,48 @@
 "Opciones de linea de comandos disponibles:\n"
 "%s"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
-msgstr ""
+# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "Forma es 'read-only'."
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
-msgstr ""
+#: GFForm.py:1227 GFForm.py:1244
+#, fuzzy
+msgid "Recordnumber"
+msgstr "diciembre"
 
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
-msgstr ""
-"Datos no guardados. Guarde los cambios o limpie la forma para proceder."
+#: GFForm.py:1231
+#, fuzzy
+msgid "Jump to record"
+msgstr "Ir a Registro"
 
-#: GFForm.py:592
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "El Valor numerico proporcionado, es invalido"
+
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr ""
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr ""
 
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr ""
-
-#: GFForm.py:655
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr ""
 
-#: GFForm.py:666
+#: GFForm.py:1409
 msgid "Query successful."
 msgstr ""
 
-# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "Forma es 'read-only'."
+#: GFForm.py:1870
+#, fuzzy
+msgid "Save changes?"
+msgstr "Guardar Cambios"
 
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr ""
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr ""
-
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
-msgid "You cannot do that in query mode."
-msgstr ""
-
-#: GFInstance.py:60
+#: GFInstance.py:53
 #, fuzzy
 msgid "Unable to open file: %s"
 msgstr ""
@@ -133,410 +116,753 @@
 "\n"
 "    %s"
 
-#: GFInstance.py:354
-#, fuzzy
-msgid "There are no navigable widgets in this form. Unable to display."
-msgstr "No hay widgets navegables en esta forma. Incapaz de desplegar."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+msgstr ""
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "El Valor numerico proporcionado, es invalido"
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
+msgstr ""
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "Los datos actuales son guardados."
+#: GFObjects/GFField.py:46
+msgid "Datasource '%(name)s' not found"
+msgstr ""
 
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "El Bloque no permite borrar"
-
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "El Bloque no permite insertar."
-
-#: GFInstance.py:1019
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
 #, fuzzy
-msgid "Recordnumber"
-msgstr "diciembre"
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "Valor invalido '%s' para el campo"
 
-#: GFInstance.py:1020
-#, fuzzy
-msgid "Jump to record"
-msgstr "Ir a Registro"
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
+msgstr ""
 
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFObj.py:41
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr ""
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
+#: GFObjects/GFObj.py:52
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
-msgid "Scrollbar references a non-existent block '%s'"
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
 msgstr ""
 
-#: GFParser.py:90
+#: GFParser.py:86
+msgid "Form"
+msgstr ""
+
+#: GFParser.py:91
 #, fuzzy
 msgid "Title"
 msgstr "&Archivo"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 #, fuzzy
 msgid "Read Only"
 msgstr "Aviso de 'Read Only'"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 #, fuzzy
 msgid "Name"
 msgstr "Nombre"
 
-#: GFParser.py:106
+#: GFParser.py:107
 #, fuzzy
 msgid "Style"
 msgstr "&Archivo"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr ""
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr ""
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
 #, fuzzy
+msgid "Description"
+msgstr " Descripcion:"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+# ../src/FormatMasks/BaseMask.py:257 :263 :272
+#: GFParser.py:164 GFParser.py:229
+#, fuzzy
+msgid "Action"
+msgstr "seccion=%s"
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "sab"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "Login"
+
+#: GFParser.py:273
+msgid "Layout"
+msgstr ""
+
+#: GFParser.py:279
+#, fuzzy
 msgid "Tab Location"
 msgstr "o bien via URL"
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr ""
 
-#: GFParser.py:140
+#: GFParser.py:282
 msgid "Left tabs"
 msgstr ""
 
-#: GFParser.py:141
+#: GFParser.py:283
 msgid "Right tabs"
 msgstr ""
 
-#: GFParser.py:142
+#: GFParser.py:284
 msgid "Botton tabs"
 msgstr ""
 
-#: GFParser.py:143
+#: GFParser.py:285
 msgid "Top tabs"
 msgstr ""
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+# ../../designer/src/PopupMenu.py:50 :134
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "pagina"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr ""
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr ""
 
-#: GFParser.py:223
+#: GFParser.py:384
 #, fuzzy
 msgid "Auto Create Record"
 msgstr "Eliminar registro"
 
-#: GFParser.py:229
+#: GFParser.py:390
 #, fuzzy
 msgid "Auto Next Record"
 msgstr "Registro siguiente"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr ""
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr ""
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr ""
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr ""
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 #, fuzzy
 msgid "No"
 msgstr "nov"
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 #, fuzzy
 msgid "Update Only"
 msgstr "Aviso de 'Read Only'"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 #, fuzzy
 msgid "New Records Only"
 msgstr "Registro siguiente"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr ""
 
-#: GFParser.py:265
+#: GFParser.py:426
 #, fuzzy
 msgid "Allow Deletes"
 msgstr "&Elimina %s"
 
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 msgid "Navigable"
 msgstr ""
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr ""
 
-#: GFParser.py:283
+#: GFParser.py:444
 #, fuzzy
 msgid "Prevent Inserts"
 msgstr "Inspector de Propiedades"
 
-#: GFParser.py:311
+#: GFParser.py:455
+msgid "Block"
+msgstr ""
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+#, fuzzy
+msgid "The text to be displayed."
+msgstr "El archivo no puede ser analizado."
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr ""
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr ""
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr ""
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr ""
 
-#: GFParser.py:348
-msgid "Max Text Length"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "Tipo Nativo"
+
+#: GFParser.py:517
+msgid "The type of data stored in this field."
 msgstr ""
 
-#: GFParser.py:353
-msgid "Min Text Length"
+#: GFParser.py:520
+msgid "Text"
 msgstr ""
 
-#: GFParser.py:385
-msgid "As Entered"
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "noviembre"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "&Datos"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "&Archivo"
+
+#: GFParser.py:524
+msgid "Date and time"
 msgstr ""
 
-#: GFParser.py:386
-msgid "Upper case"
+#: GFParser.py:525
+msgid "Boolean"
 msgstr ""
 
-#: GFParser.py:387
-msgid "Lower case"
+#: GFParser.py:528
+msgid "Length"
 msgstr ""
 
-#: GFParser.py:393
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
 #, fuzzy
-msgid "Data Type"
-msgstr "Tipo Nativo"
+msgid "Scale"
+msgstr "&Guarda"
 
-#: GFParser.py:395
-msgid "Text"
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
 msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "Pegar"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
 msgstr ""
 
-#: GFParser.py:397
-msgid "Date/Time"
+#: GFParser.py:549
+msgid "Mixed case"
 msgstr ""
 
-#: GFParser.py:407
+#: GFParser.py:550
+msgid "Upper case"
+msgstr ""
+
+#: GFParser.py:551
+msgid "Lower case"
+msgstr ""
+
+#: GFParser.py:554
+msgid "Required"
+msgstr "Requerido"
+
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
+
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr ""
+
+#: GFParser.py:591
 #, fuzzy
 msgid "F/K Datasource"
 msgstr "Detalle de Datasource"
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr ""
 
-#: GFParser.py:417
+#: GFParser.py:601
 #, fuzzy
 msgid "F/K Description Field"
 msgstr "Descripcion"
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr ""
 
-#: GFParser.py:429
+#: GFParser.py:613
 msgid "On form startup"
 msgstr ""
 
-#: GFParser.py:430
+#: GFParser.py:614
 msgid "On field modification"
 msgstr ""
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr ""
 
-#: GFParser.py:437
+#: GFParser.py:621
 #, fuzzy
 msgid "Default (New Records)"
 msgstr "Eliminar registro"
 
-#: GFParser.py:444
+#: GFParser.py:628
 #, fuzzy
 msgid "Default to last entry"
 msgstr "Ejecutar Query"
 
-#: GFParser.py:452
+#: GFParser.py:636
 #, fuzzy
 msgid "Default (Querying)"
 msgstr "Ejecutar Query"
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr ""
 
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
 msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr ""
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr ""
 
-#: GFParser.py:488
+#: GFParser.py:679
+msgid "Automatic Query"
+msgstr ""
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr ""
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr ""
 
-#: GFParser.py:528
+#: GFParser.py:699
+msgid "Field"
+msgstr "Campo"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr ""
 
-#: GFParser.py:556
+#: GFParser.py:756
+msgid "Automatic"
+msgstr ""
+
+#: GFParser.py:757
 msgid "Default"
 msgstr ""
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr ""
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr ""
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr ""
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr ""
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr ""
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr ""
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr ""
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr ""
 
-#: GFParser.py:651
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "Elemento"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+#, fuzzy
+msgid "Grid"
+msgstr "viernes"
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr ""
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr ""
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr ""
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr ""
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr ""
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr ""
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr ""
 
-#: GFParser.py:714
+# ../../designer/src/PopupMenu.py:50 :134
+#: GFParser.py:977
+#, fuzzy
+msgid "Image"
+msgstr "pagina"
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr ""
 
-#: GFParser.py:715
+#: GFParser.py:1005
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr ""
 
-#: GFParser.py:783 GFParser.py:824
-#, fuzzy
-msgid "Description field"
-msgstr "Descripcion"
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
 
-#: GFParser.py:788
-msgid "Own ID field"
+#: GFParser.py:1060
+msgid "Button"
 msgstr ""
 
-#: GFParser.py:793
-msgid "Parent ID field"
+#: GFParser.py:1069
+msgid "Options"
 msgstr ""
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
+#: GFParser.py:1084
+msgid "Option"
 msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
+#: GFParser.py:1103
+#, fuzzy
+msgid "Form Title"
+msgstr "&Archivo"
+
+#: GFParser.py:1139
+#, fuzzy
+msgid "Form Author"
+msgstr "Autor"
+
+#: GFParser.py:1175
+#, fuzzy
+msgid "Version"
+msgstr " Version: "
+
+#: GFParser.py:1193
+msgid "Tip"
 msgstr ""
 
-#: GFParser.py:1063
+#: GFParser.py:1229
+msgid "Parameter"
+msgstr ""
+
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr ""
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr ""
 
+#: GFParser.py:1313
+#, fuzzy
+msgid "Text Field"
+msgstr "Campo"
+
+#: GFParser.py:1314
+msgid "List Box"
+msgstr ""
+
+#: GFParser.py:1315
+msgid "Drop Down Box"
+msgstr ""
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+msgid "Check Box"
+msgstr ""
+
 #: input/GFKeyMapper.py:145
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
 msgstr ""
@@ -545,24 +871,15 @@
 msgid "Invalid keystroke combination '%(comb)s' in keymap for '%(event)s'"
 msgstr ""
 
-#: input/displayHandlers/Cursor.py:48
-#, fuzzy
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "Valor invalido '%s' para el campo"
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
+msgstr ""
 
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "Valor invalido '%s' para el campo"
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
-msgstr "Entrada invalida: '%s'"
-
 #: input/displayHandlers/DateTime.py:40
 msgid "'%(value)s' is not a valid date-literal"
 msgstr ""
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr "Valor invalido '%s' para campo 'pull-down'"
 
@@ -570,424 +887,424 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr ""
 
-#: uidrivers/_base/UIdriver.py:535
-#, fuzzy
-msgid "GNUe Message"
-msgstr "Salir GNUe Designer"
-
-# ../../designer/src/TemplateChooser.py:129 :139 :144
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr "Desconocido"
-
 # ../../forms/src/uidrivers/wx/UIdriver.py:205 :273
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 #, fuzzy
 msgid "Save all changes to the database."
 msgstr "Guardar todos cambios a la base de datos."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:207 :286 :286
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 #, fuzzy
 msgid "Clear form."
 msgstr "Limpiar Forma."
 
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "Llevar a cabo la rutina de impresion de esta forma."
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "Terminar la aplicacion."
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "Cortar el texto seleccionado."
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "Copiar el texto seleccionado."
 
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 #, fuzzy
 msgid "Copy the current record to the clipboard."
 msgstr "Copia el objeto actual al clipboard"
 
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 #, fuzzy
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "Copia el objeto actual al clipboard"
 
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 #, fuzzy
 msgid "Select all text."
 msgstr "Selecciona todo"
 
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "Pregunta por el numero de registro al cual el sistema debera brincar."
 
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr ""
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "Marca un registro para ser eliminado en el siguiente commit."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 #, fuzzy
 msgid "Unmark record for removal at next commit."
 msgstr "Marca un registro para ser eliminado en el siguiente commit."
 
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 #, fuzzy
 msgid "Navigate to the next data block."
 msgstr "Navegar al siguiente bloque de datos."
 
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 #, fuzzy
 msgid "Navigate to the previous data block."
 msgstr "Navegar al bloque de datos anterior."
 
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 #, fuzzy
 msgid "Navigate to the next page."
 msgstr "Navegar al siguiente bloque de datos."
 
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 #, fuzzy
 msgid "Navigate to the previous page."
 msgstr "Navegar al bloque de datos anterior."
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "Despliega informacion sobre GNUe Forms."
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&Archivo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 #, fuzzy
 msgid "&Save Changes"
 msgstr "Guardar Cambios"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 #, fuzzy
 msgid "&Revert Changes"
 msgstr "Guardar Cambios"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "&Imprimir"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "&Cerrar"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&Editar"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "&Corta"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "&Copia"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "&Pegar"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 #, fuzzy
 msgid "Select &All"
 msgstr "Selecciona todo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 #, fuzzy
 msgid "&Insert New Record"
 msgstr "Insertar Registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 #, fuzzy
 msgid "&Delete Current Record"
 msgstr "Eliminar registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 #, fuzzy
 msgid "&Undelete Current Record"
 msgstr "Eliminar registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 #, fuzzy
 msgid "&Next Entry"
 msgstr "Elemento"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 #, fuzzy
 msgid "&Previous Entry"
 msgstr "Registro Previo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 #, fuzzy
 msgid "Next &Record"
 msgstr "Registro siguiente"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 #, fuzzy
 msgid "Previous R&ecord"
 msgstr "Registro Previo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 #, fuzzy
 msgid "&First Record"
 msgstr "Primer Registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 #, fuzzy
 msgid "&Last Record"
 msgstr "Ultimo Registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 #, fuzzy
 msgid "&Go to record..."
 msgstr "Ir a Registro"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 #, fuzzy
 msgid "Previous Bl&ock"
 msgstr "Registro Previo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 #, fuzzy
 msgid "Next P&age"
 msgstr "Pagina Nueva"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 #, fuzzy
 msgid "Pre&vious Page"
 msgstr "Registro Previo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 #, fuzzy
 msgid "&Search"
 msgstr "marzo"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 #, fuzzy
 msgid "Enter Query Mode"
 msgstr "Ejecutar Query"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 #, fuzzy
 msgid "Repeat Last Query"
 msgstr "Preparar Query"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 #, fuzzy
 msgid "Perform Query"
 msgstr "Preparar Query"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "&Ayuda"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 #, fuzzy
 msgid "About..."
 msgstr "&Acerca..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 #, fuzzy
 msgid "Save Changes"
 msgstr "Guardar Cambios"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 #, fuzzy
 msgid "Insert New Record"
 msgstr "Insertar Registro"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 #, fuzzy
 msgid "Delete Current Record"
 msgstr "Eliminar registro"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "Primer Registro"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "Registro Previo"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "Registro siguiente"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "Ultimo Registro"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 #, fuzzy
 msgid "Go to record..."
 msgstr "Ir a Registro"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 #, fuzzy
 msgid "Enter Search Mode"
 msgstr "Ejecutar Query"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 #, fuzzy
 msgid "Perform Search"
 msgstr "Preparar Query"
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:287 :287
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 #, fuzzy
 msgid "Print Form"
 msgstr "Salir de Forma"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 #, fuzzy
 msgid "Revert Changes"
 msgstr "Guardar Cambios"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 #, fuzzy
 msgid "Close"
 msgstr "&Cerrar"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr ""
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 #, fuzzy
 msgid "Save"
 msgstr "&Guarda"
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 #, fuzzy
 msgid "Revert"
 msgstr "Guardar Cambios"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 #, fuzzy
 msgid "Delete"
 msgstr "&Elimina"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 msgid "Query"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 #, fuzzy
 msgid "Exit"
 msgstr "S&alir"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr ""
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr ""
+
 #: uidrivers/gtk2/UIdriver.py:42
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
 msgstr ""
@@ -1000,25 +1317,26 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 #, fuzzy
 msgid "GNUe Application Error"
 msgstr ""
 "GNUE Desarrollo Rapido de Aplicaciones.\n"
 "\n"
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -1026,148 +1344,142 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 #, fuzzy
 msgid "Error"
 msgstr "Error: %s"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 #, fuzzy
 msgid "About %s"
 msgstr "Acerca de "
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 #, fuzzy
 msgid "Version:"
 msgstr " Version: "
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 msgid "Driver:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 #, fuzzy
 msgid " Form Information "
 msgstr "-= Informacion de Forma =-"
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 #, fuzzy
 msgid "Name:"
 msgstr "Nombre"
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 #, fuzzy
 msgid "Author:"
 msgstr "Autor"
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 #, fuzzy
 msgid "Description:"
 msgstr " Descripcion:"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "Version %s"
-
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "Protegido por  GNU General Public License 2.0"
-
-#: uidrivers/qt/ToolBar.py:36
-#, fuzzy
-msgid "Forms Navigation"
-msgstr "Navegador de Schema"
-
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
 msgstr ""
-"Login requerido para \n"
-"\"%s\""
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr "Login requerido para %s"
-
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: Login a %s"
-
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr "Login"
-
-#: uidrivers/qt/UIdriver.py:39
+#: uidrivers/qt3/UIdriver.py:36
 msgid "The GNUe-Forms QT3 driver requires PyQT."
 msgstr ""
 
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/dialogs.py:113
+msgid "<< Detail"
+msgstr ""
+
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
 #, fuzzy
+msgid "Version: %s"
+msgstr "Version %s"
+
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
+#, fuzzy
 msgid "Information"
 msgstr "-= Informacion de Forma =-"
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 #, fuzzy
 msgid "Warning"
 msgstr "&Imprimir"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 #, fuzzy
 msgid "Question"
 msgstr "Version"
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr ""
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr ""
+#: uidrivers/win32/dialogs.py:359
+#, fuzzy
+msgid "GNUe Forms"
+msgstr "GNUE Forms"
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+#, fuzzy
+msgid "Form Information"
+msgstr "-= Informacion de Forma =-"
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1175,47 +1487,53 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 msgid ""
 "An unexpected error has occured:\r\n"
 "%s.\r\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/win32/dialogs.py:356
-#, fuzzy
-msgid "GNUe Forms"
-msgstr "GNUE Forms"
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr ""
 
-#: uidrivers/win32/dialogs.py:364
+#: uidrivers/wx/PrintForm.py:71
 #, fuzzy
-msgid "Form Information"
-msgstr "-= Informacion de Forma =-"
-
-#: uidrivers/wx/PrintForm.py:86
-#, fuzzy
 msgid "Printing"
 msgstr "&Imprimir"
 
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
 msgstr ""
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 #, fuzzy
 msgid "Login: "
 msgstr "Login"
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr ""
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr "GNU Enterprise Forms"
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "Version %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr ""
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "Protegido por  GNU General Public License 2.0"
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr ""
@@ -1225,24 +1543,63 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr "Clausula de condicion \"%s\" no es soportada por este manejador."
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
+#: uidrivers/wx26/UIdriver.py:35
+msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
 msgstr ""
 
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr ""
+#~ "Datos no guardados. Guarde los cambios o limpie la forma para proceder."
 
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
 #, fuzzy
-msgid "Version: %s"
-msgstr "Version %s"
+#~ msgid "There are no navigable widgets in this form. Unable to display."
+#~ msgstr "No hay widgets navegables en esta forma. Incapaz de desplegar."
 
-#: uidrivers/wx26/UIdriver.py:38
-msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
-msgstr ""
+#~ msgid "Current data is saved"
+#~ msgstr "Los datos actuales son guardados."
 
+#~ msgid "Block does not allow delete"
+#~ msgstr "El Bloque no permite borrar"
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "El Bloque no permite insertar."
+
 #, fuzzy
+#~ msgid "Description field"
+#~ msgstr "Descripcion"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "Valor invalido '%s' para el campo"
+
+#~ msgid "Invalid input: '%s'"
+#~ msgstr "Entrada invalida: '%s'"
+
+#, fuzzy
+#~ msgid "GNUe Message"
+#~ msgstr "Salir GNUe Designer"
+
+# ../../designer/src/TemplateChooser.py:129 :139 :144
+#~ msgid "Unknown"
+#~ msgstr "Desconocido"
+
+#, fuzzy
+#~ msgid "Forms Navigation"
+#~ msgstr "Navegador de Schema"
+
+#~ msgid ""
+#~ "Login required for\n"
+#~ "\"%s\""
+#~ msgstr ""
+#~ "Login requerido para \n"
+#~ "\"%s\""
+
+#~ msgid "Login required for %s"
+#~ msgstr "Login requerido para %s"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: Login a %s"
+
+#, fuzzy
 #~ msgid "Edit Current Record"
 #~ msgstr "Eliminar registro"
 
@@ -1453,9 +1810,6 @@
 #~ msgid "The file cannot be parsed. %s :: %s"
 #~ msgstr "El archivo no puede ser analizado. %s :: %s"
 
-#~ msgid "The file cannot be parsed."
-#~ msgstr "El archivo no puede ser analizado."
-
 #~ msgid ""
 #~ "Unable to read the GNUE_INSTALLED_SITE_CFG file... There is a problem "
 #~ "with your installation"
@@ -1921,10 +2275,6 @@
 #~ msgid "Unexpected character \"%s\" in %s mask."
 #~ msgstr "Caracter inespearado '%s' en  %s."
 
-# ../src/FormatMasks/BaseMask.py:257 :263 :272
-#~ msgid "section=%s"
-#~ msgstr "seccion=%s"
-
 #~ msgid "New cursor position: %s"
 #~ msgstr "Nueva posicion de cursor: %s"
 
@@ -1960,9 +2310,6 @@
 #~ msgid "October"
 #~ msgstr "octubre"
 
-#~ msgid "November"
-#~ msgstr "noviembre"
-
 #~ msgid "Jan"
 #~ msgstr "ene"
 
@@ -2008,9 +2355,6 @@
 #~ msgid "Thursday"
 #~ msgstr "jueves"
 
-#~ msgid "Friday"
-#~ msgstr "viernes"
-
 #~ msgid "Saturday"
 #~ msgstr "sabado"
 
@@ -2032,9 +2376,6 @@
 #~ msgid "Fri"
 #~ msgstr "vie"
 
-#~ msgid "Sat"
-#~ msgstr "sab"
-
 #~ msgid "Invalid Entry"
 #~ msgstr "Elemento Invalido"
 
@@ -2056,9 +2397,6 @@
 #~ msgid "Copy"
 #~ msgstr "Copiar"
 
-#~ msgid "Paste"
-#~ msgstr "Pegar"
-
 #~ msgid "Paste text"
 #~ msgstr "Pegar texto."
 
@@ -2119,9 +2457,6 @@
 #~ msgid "Execute query using current mask."
 #~ msgstr "Ejecutar query utilizando el enmascaramiento actual."
 
-#~ msgid "&Data"
-#~ msgstr "&Datos"
-
 #~ msgid "Navigate to user specified record in memory."
 #~ msgstr "Navegar a un registro en memoria especificado por el usuario."
 
@@ -2185,18 +2520,12 @@
 #~ msgid "Dropdown Entry"
 #~ msgstr "I��okantis �vedimo laukelis"
 
-#~ msgid "Field"
-#~ msgstr "Campo"
-
 #~ msgid "Base Type"
 #~ msgstr "Tipo de Base"
 
 #~ msgid "Size"
 #~ msgstr "Tama~o"
 
-#~ msgid "Required"
-#~ msgstr "Requerido"
-
 #~ msgid "You are not logged in to %s... not retrieving schema"
 #~ msgstr "No esta firmado en %s.... no se accesara el schema"
 
@@ -2396,10 +2725,6 @@
 #~ msgid "New Data Source"
 #~ msgstr "Fuente de Datos Nueva"
 
-# ../../designer/src/PopupMenu.py:50 :134
-#~ msgid "page"
-#~ msgstr "pagina"
-
 #~ msgid "&Properties..."
 #~ msgstr "&Propiedades"
 

Modified: trunk/gnue-forms/po/fr.po
===================================================================
--- trunk/gnue-forms/po/fr.po   2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/fr.po   2006-11-09 15:33:59 UTC (rev 9021)
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: 2004-04-10 19:29+0200\n"
 "Last-Translator: Laurent Savaete <address@hidden>\n"
 "Language-Team: Francais <address@hidden>\n"
@@ -45,11 +45,11 @@
 msgid "Unable to load UI driver: %s"
 msgstr "Impossible de charger un pilote d'UI valide. Abandon."
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "Pas de fichier de d�finition de formulaire sp�cifi�."
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
@@ -57,79 +57,55 @@
 "Les interfaces suivantes sont support�es par GNUe Forms. Vous\n"
 "pouvez s�lectionner une interface avec l'option --interface."
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr ""
 "Pour obtenir l'aide g�n�rale, executez cette commande avec l'option --help."
 
-#: GFClient.py:226
+#: GFClient.py:231
 msgid "User interface command line options:"
 msgstr "Options de la ligne de commande de l'interface utilisateur:"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "Formulaire en lecture seule"
+
+#: GFForm.py:1227 GFForm.py:1244
+msgid "Recordnumber"
 msgstr ""
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
-msgstr "D�clencher l'exception : \n"
+#: GFForm.py:1231
+#, fuzzy
+msgid "Jump to record"
+msgstr "Aller � l'enregistrement..."
 
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
-msgstr ""
-"Donn�es non sauvegard�es. Enregistrez les changements ou effacez le "
-"formulaire pour continuer."
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "Valeur num�rique saisie incorrecte."
 
-#: GFForm.py:592
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr ""
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr ""
 
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr "Le formulaire n'est pas en mode recherche."
-
-#: GFForm.py:655
-#, fuzzy
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-"Erreur de requ�te sur la base de donn�es:\n"
-"%s\n"
-"%s "
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr ""
 
-#: GFForm.py:666
+#: GFForm.py:1409
 msgid "Query successful."
 msgstr ""
 
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "Formulaire en lecture seule"
-
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr "Le trigger du formulaire a renvoy� une erreur."
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr "Le trigger du bloc a renvoy� une erreur."
-
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
+#: GFForm.py:1870
 #, fuzzy
-msgid "You cannot do that in query mode."
-msgstr "Le formulaire n'est pas en mode recherche."
+msgid "Save changes?"
+msgstr "Enregistrer les changements"
 
-#: GFInstance.py:60
+#: GFInstance.py:53
 #, fuzzy
 msgid "Unable to open file: %s"
 msgstr ""
@@ -137,411 +113,750 @@
 "\n"
 "%s"
 
-#: GFInstance.py:354
-#, fuzzy
-msgid "There are no navigable widgets in this form. Unable to display."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
 msgstr ""
-"Il n'y a pas de composants navigables dans ce formulaire. Affichage "
-"impossible."
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "Valeur num�rique saisie incorrecte."
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
+msgstr ""
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "Donn�es actuelles sauvegard�es"
-
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "Le bloc n'autorise pas la suppression"
-
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "Le bloc n'autorise pas l'insertion"
-
-#: GFInstance.py:1019
-msgid "Recordnumber"
+#: GFObjects/GFField.py:46
+msgid "Datasource '%(name)s' not found"
 msgstr ""
 
-#: GFInstance.py:1020
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
 #, fuzzy
-msgid "Jump to record"
-msgstr "Aller � l'enregistrement..."
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "Valeur '%s' incorrecte pour le champ"
 
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
 msgstr ""
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
+#: GFObjects/GFObj.py:41
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
-msgid "Scrollbar references a non-existent block '%s'"
+#: GFObjects/GFObj.py:52
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr ""
 
-#: GFParser.py:90
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
+msgstr ""
+
+#: GFParser.py:86
+#, fuzzy
+msgid "Form"
+msgstr "Normal"
+
+#: GFParser.py:91
 msgid "Title"
 msgstr "Titre"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 msgid "Read Only"
 msgstr "Lecture seule"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 msgid "Name"
 msgstr ""
 
-#: GFParser.py:106
+#: GFParser.py:107
 #, fuzzy
 msgid "Style"
 msgstr "Titre"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr "Normal"
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr "Boite de dialogue"
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
+#, fuzzy
+msgid "Description"
+msgstr "Champ de description F/K"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+#: GFParser.py:164 GFParser.py:229
+msgid "Action"
+msgstr ""
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "Titre"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "Connexion"
+
+#: GFParser.py:273
+msgid "Layout"
+msgstr ""
+
+#: GFParser.py:279
 msgid "Tab Location"
 msgstr ""
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr "Pas de tabulations"
 
-#: GFParser.py:140
+#: GFParser.py:282
 #, fuzzy
 msgid "Left tabs"
 msgstr "Pas de tabulations"
 
-#: GFParser.py:141
+#: GFParser.py:283
 #, fuzzy
 msgid "Right tabs"
 msgstr "Droite"
 
-#: GFParser.py:142
+#: GFParser.py:284
 #, fuzzy
 msgid "Botton tabs"
 msgstr "Pas de tabulations"
 
-#: GFParser.py:143
+#: GFParser.py:285
 #, fuzzy
 msgid "Top tabs"
 msgstr "Pas de tabulations"
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "C&oller"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr "Ecartement des lignes"
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr ""
 
-#: GFParser.py:223
+#: GFParser.py:384
 #, fuzzy
 msgid "Auto Create Record"
 msgstr "Supprimer l'enregistrement courant"
 
-#: GFParser.py:229
+#: GFParser.py:390
 #, fuzzy
 msgid "Auto Next Record"
 msgstr "Enregistrement suivant"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr ""
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr ""
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr ""
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr ""
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 msgid "No"
 msgstr ""
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 #, fuzzy
 msgid "Update Only"
 msgstr "Lecture seule"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 #, fuzzy
 msgid "New Records Only"
 msgstr "Enregistrement suivant"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr ""
 
-#: GFParser.py:265
+#: GFParser.py:426
 msgid "Allow Deletes"
 msgstr ""
 
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 #, fuzzy
 msgid "Navigable"
 msgstr "&Navigation"
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr "Emp�cher les suppressions"
 
-#: GFParser.py:283
+#: GFParser.py:444
 msgid "Prevent Inserts"
 msgstr "Emp�cher les insertions"
 
-#: GFParser.py:311
+#: GFParser.py:455
+#, fuzzy
+msgid "Block"
+msgstr "&Bloc suivant"
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+msgid "The text to be displayed."
+msgstr ""
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr "Gauche"
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr "Droite"
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr "Centr�"
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr "Champ (base de donn�es)"
 
-#: GFParser.py:348
-msgid "Max Text Length"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "Type de donn�es"
+
+#: GFParser.py:517
+msgid "The type of data stored in this field."
 msgstr ""
 
-#: GFParser.py:353
-msgid "Min Text Length"
+#: GFParser.py:520
+msgid "Text"
+msgstr "Texte"
+
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "Num�rique"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "Type de donn�es"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "Titre"
+
+#: GFParser.py:524
+#, fuzzy
+msgid "Date and time"
+msgstr "Date/Heure"
+
+#: GFParser.py:525
+msgid "Boolean"
 msgstr ""
 
-#: GFParser.py:385
+#: GFParser.py:528
 #, fuzzy
-msgid "As Entered"
-msgstr "Centr�"
+msgid "Length"
+msgstr "Gauche"
 
-#: GFParser.py:386
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
+#, fuzzy
+msgid "Scale"
+msgstr "Titre"
+
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
+msgstr ""
+
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "Fermer"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
+msgstr ""
+
+#: GFParser.py:549
+msgid "Mixed case"
+msgstr ""
+
+#: GFParser.py:550
 msgid "Upper case"
 msgstr ""
 
-#: GFParser.py:387
+#: GFParser.py:551
 msgid "Lower case"
 msgstr ""
 
-#: GFParser.py:393
-msgid "Data Type"
-msgstr "Type de donn�es"
+#: GFParser.py:554
+msgid "Required"
+msgstr ""
 
-#: GFParser.py:395
-msgid "Text"
-msgstr "Texte"
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
-msgstr "Num�rique"
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr ""
 
-#: GFParser.py:397
-msgid "Date/Time"
-msgstr "Date/Heure"
-
-#: GFParser.py:407
+#: GFParser.py:591
 msgid "F/K Datasource"
 msgstr "Source de donn�es F/K"
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr "Champ li� F/K"
 
-#: GFParser.py:417
+#: GFParser.py:601
 msgid "F/K Description Field"
 msgstr "Champ de description F/K"
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr "M�thode de rafraichissment F/K"
 
-#: GFParser.py:429
+#: GFParser.py:613
 #, fuzzy
 msgid "On form startup"
 msgstr "Mettre � jour seulement au lancement"
 
-#: GFParser.py:430
+#: GFParser.py:614
 #, fuzzy
 msgid "On field modification"
 msgstr "Mettre � jour sur modification du champ"
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr ""
 
-#: GFParser.py:437
+#: GFParser.py:621
 #, fuzzy
 msgid "Default (New Records)"
 msgstr "D�faut (Nouveau champ)"
 
-#: GFParser.py:444
+#: GFParser.py:628
 #, fuzzy
 msgid "Default to last entry"
 msgstr "Derni�re valeur par d�faut ?"
 
-#: GFParser.py:452
+#: GFParser.py:636
 #, fuzzy
 msgid "Default (Querying)"
 msgstr "D�faut (Requ�te)"
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr ""
 
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
-msgstr "Ignorer la casse dans les requ�tes"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
+msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr ""
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr ""
 
-#: GFParser.py:488
+#: GFParser.py:679
+msgid "Automatic Query"
+msgstr ""
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr "Enlever les espaces � gauche"
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr "Enlever les espaces � droite"
 
-#: GFParser.py:528
+#: GFParser.py:699
+#, fuzzy
+msgid "Field"
+msgstr "&Fichier"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr ""
 
-#: GFParser.py:556
+#: GFParser.py:756
+msgid "Automatic"
+msgstr ""
+
+#: GFParser.py:757
 msgid "Default"
 msgstr "D�faut"
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr "Mot de passe/Cach�"
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr "Menu d�roulant"
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr ""
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr "Case � cocher"
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr "Etiquette (non �ditable)"
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr "Masque de formatage"
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr "Masque de saisie"
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr "Masque d'affichage"
 
-#: GFParser.py:651
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "E&ntr�e suivante"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+msgid "Grid"
+msgstr ""
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr "Le champ contient l'URL de l'image."
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr "Le champ contient un encodage PIL de l'image"
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr ""
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr ""
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr ""
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr ""
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr ""
 
-#: GFParser.py:714
+#: GFParser.py:977
+msgid "Image"
+msgstr ""
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr "Le champ contient l'URL du composant"
 
-#: GFParser.py:715
+#: GFParser.py:1005
 #, fuzzy
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr "Le champ contient l'URL du composant"
 
-#: GFParser.py:783 GFParser.py:824
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
+
+#: GFParser.py:1060
+msgid "Button"
+msgstr ""
+
+#: GFParser.py:1069
+msgid "Options"
+msgstr ""
+
+#: GFParser.py:1084
+msgid "Option"
+msgstr ""
+
+#: GFParser.py:1103
 #, fuzzy
-msgid "Description field"
-msgstr "Champ de description F/K"
+msgid "Form Title"
+msgstr "Titre"
 
-#: GFParser.py:788
-msgid "Own ID field"
+#: GFParser.py:1139
+msgid "Form Author"
 msgstr ""
 
-#: GFParser.py:793
+#: GFParser.py:1175
 #, fuzzy
-msgid "Parent ID field"
-msgstr "Emp�cher les suppressions"
+msgid "Version"
+msgstr "Version %s"
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
+#: GFParser.py:1193
+msgid "Tip"
 msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
+#: GFParser.py:1229
+msgid "Parameter"
 msgstr ""
 
-#: GFParser.py:1063
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr ""
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr ""
 
+#: GFParser.py:1313
+msgid "Text Field"
+msgstr ""
+
+#: GFParser.py:1314
+msgid "List Box"
+msgstr ""
+
+#: GFParser.py:1315
+#, fuzzy
+msgid "Drop Down Box"
+msgstr "Menu d�roulant"
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+#, fuzzy
+msgid "Check Box"
+msgstr "Case � cocher"
+
 #: input/GFKeyMapper.py:145
 #, fuzzy
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
@@ -552,24 +867,15 @@
 msgid "Invalid keystroke combination '%(comb)s' in keymap for '%(event)s'"
 msgstr "Combinaison clavier incorrecte '%s' dans le mappage clavier pour '%s'"
 
-#: input/displayHandlers/Cursor.py:48
-#, fuzzy
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "Valeur '%s' incorrecte pour le champ"
-
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "Valeur '%s' incorrecte pour le champ"
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
 msgstr ""
 
 #: input/displayHandlers/DateTime.py:40
 msgid "'%(value)s' is not a valid date-literal"
 msgstr ""
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr "Valeur '%s' incorrecte pour le menu d�roulant"
 
@@ -577,47 +883,39 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr ""
 
-#: uidrivers/_base/UIdriver.py:535
-msgid "GNUe Message"
-msgstr ""
-
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr ""
-
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 msgid "Save all changes to the database."
 msgstr "Sauvegarder tous les changements dans la base de donn�es."
 
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 msgid "Clear form."
 msgstr "Effacer le formulaire."
 
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr "Effacer le formulaire et revenir aux donn�es originales."
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "Executer la routine d'impression pour ce formulaire."
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "Quitter l'application."
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "Couper le texte s�lectionn�"
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "Copier le texte s�lectionn�"
 
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 msgid "Copy the current record to the clipboard."
 msgstr "Copier l'enregistrement courant vers le presse papier."
 
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
@@ -625,76 +923,76 @@
 "Copier l'enregistrement courant vers le presse papier. Les valeurs sont "
 "s�par�es par des tabulations."
 
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "Copier l'�cran courant vers le presse papier comme texte seul."
 
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr "Coller le texte dans le champ courant."
 
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 msgid "Select all text."
 msgstr "S�lectionner tout le texte."
 
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr "Aller au champ logique pr�c�dent."
 
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr "Aller au champ logique suivant."
 
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr "Aller au premier enregistrement dans le bloc courant."
 
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr "Aller � l'enregistrement pr�c�dent dans le bloc courant."
 
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr "Aller � l'enregistrement suivant dans le bloc courant."
 
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr "Aller au dernier enregistrement dans le bloc courant."
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "Atteindre l'enregistrement num�ro..."
 
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr "Ins�rer un enregistrement dans le bloc courant."
 
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "Marquer l'enregistrement pour suppression � la prochaine validation."
 
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 #, fuzzy
 msgid "Unmark record for removal at next commit."
 msgstr "Marquer l'enregistrement pour suppression � la prochaine validation."
 
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 msgid "Navigate to the next data block."
 msgstr "Aller au bloc de donn�es suivant."
 
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 msgid "Navigate to the previous data block."
 msgstr "Aller au bloc de donn�es pr�c�dent."
 
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 msgid "Navigate to the next page."
 msgstr "Aller � la page suivante."
 
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 msgid "Navigate to the previous page."
 msgstr "Aller � la page pr�c�dente."
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
@@ -702,7 +1000,7 @@
 "Passer en mode requ�te. Cliquez sur 'Ex�cuter la requ�te' une fois vos "
 "crit�res entr�s."
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
@@ -710,252 +1008,262 @@
 "Passer en mode requ�te (si besoin) et r�cup�rer les derniers param�tres de "
 "recherche. Cliquez sur 'Ex�cuter la requ�te' une fois vos crit�res entr�s."
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr "Quitter le mode requ�te."
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr "Ex�cuter une requ�te et afficher les r�sultats."
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "Afficher les infos sur GNUe Forms."
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr "Afficher les raccourcis clavier."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&Fichier"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 msgid "&Save Changes"
 msgstr "&Enregistrer les changements"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 msgid "&Revert Changes"
 msgstr "&Annuler les changements"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "&Imprimer"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "&Fermer"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&Edition"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "&Couper"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "Co&pier"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "C&oller"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 msgid "Select &All"
 msgstr "&Tout s�lectionner"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 msgid "&Insert New Record"
 msgstr "&Ins�rer un nouvel enregistrement"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 msgid "&Delete Current Record"
 msgstr "S&upprimer l'enregistrement courant"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 #, fuzzy
 msgid "&Undelete Current Record"
 msgstr "S&upprimer l'enregistrement courant"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr "&Navigation"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 msgid "&Next Entry"
 msgstr "E&ntr�e suivante"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 msgid "&Previous Entry"
 msgstr "Entr�e &pr�c�dente"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 msgid "Next &Record"
 msgstr "En&registrement suivant"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 msgid "Previous R&ecord"
 msgstr "&Enregistrement pr�c�dent"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 msgid "&First Record"
 msgstr "Pre&mier enregistrement"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 msgid "&Last Record"
 msgstr "&Dernier enregistrement"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 msgid "&Go to record..."
 msgstr "&Atteindre l'enregistrement..."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr "&Bloc suivant"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 msgid "Previous Bl&ock"
 msgstr "B&loc pr�c�dent"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 msgid "Next P&age"
 msgstr "Pa&ge suivante"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 msgid "Pre&vious Page"
 msgstr "Page pr�&c�dente"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 msgid "&Search"
 msgstr "&Chercher"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 msgid "Enter Query Mode"
 msgstr "Passer en mode requ�te"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr "Annuler le mode requ�te"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 msgid "Repeat Last Query"
 msgstr "Refaire la derni�re requ�te"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 msgid "Perform Query"
 msgstr "Ex�cuter la requ�te"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "A&ide"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 msgid "About..."
 msgstr "A propos..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 msgid "Save Changes"
 msgstr "Enregistrer les changements"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 msgid "Insert New Record"
 msgstr "Ins�rer un nouvel enregistrement"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 msgid "Delete Current Record"
 msgstr "Supprimer l'enregistrement courant"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "Permier enregistrement"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "Enregistrement pr�c�dent"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "Enregistrement suivant"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "Dernier enregistrement"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 msgid "Go to record..."
 msgstr "Aller � l'enregistrement..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 msgid "Enter Search Mode"
 msgstr "Passer en mode recherche"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 msgid "Perform Search"
 msgstr "Lancer la recherche"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 #, fuzzy
 msgid "Print Form"
 msgstr "&Imprimer"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 msgid "Revert Changes"
 msgstr "Annuler les changements"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 msgid "Close"
 msgstr "Fermer"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr ""
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 msgid "Save"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 #, fuzzy
 msgid "Revert"
 msgstr "Annuler les changements"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 #, fuzzy
 msgid "Delete"
 msgstr "D�faut"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 msgid "Query"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "Annuler"
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 #, fuzzy
 msgid "Exit"
 msgstr "&Edition"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr ""
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr ""
+
 #: uidrivers/gtk2/UIdriver.py:42
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
 msgstr ""
@@ -968,22 +1276,23 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr "Le pilote GTK pour GNUe Forms n�cessite PyGTK et GTK 2.x."
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 msgid "GNUe Application Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -991,142 +1300,137 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 #, fuzzy
 msgid "Error"
 msgstr "Erreur: %s"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 #, fuzzy
 msgid "About %s"
 msgstr "A propos..."
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 #, fuzzy
 msgid "Version:"
 msgstr "Version %s"
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 msgid "Driver:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 msgid " Form Information "
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 msgid "Name:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 msgid "Author:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 #, fuzzy
 msgid "Description:"
 msgstr "Champ de description F/K"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "Version %s"
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "Prot�g� par la GNU General Public Licence 2.0"
+#: uidrivers/qt3/UIdriver.py:36
+msgid "The GNUe-Forms QT3 driver requires PyQT."
+msgstr "Le pilote QT3 pour GNUe Forms n�cessite PyQT."
 
-#: uidrivers/qt/ToolBar.py:36
-msgid "Forms Navigation"
-msgstr "Navigation dans les formulaire"
-
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
+#: uidrivers/qt3/dialogs.py:113
+msgid "<< Detail"
 msgstr ""
-"Login requis pour\n"
-"\"%s\""
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr "Login requis pour %s"
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
+#, fuzzy
+msgid "Version: %s"
+msgstr "Version %s"
 
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: Connexion en tant que %s"
-
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr "Connexion"
-
-#: uidrivers/qt/UIdriver.py:39
-msgid "The GNUe-Forms QT3 driver requires PyQT."
-msgstr "Le pilote QT3 pour GNUe Forms n�cessite PyQT."
-
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
 msgid "Information"
 msgstr ""
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 #, fuzzy
 msgid "Warning"
 msgstr "Impression en cours"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 msgid "Question"
 msgstr ""
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr "Le pilote Win32 pour GNUe Forms n�cessite PyWin32."
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr ""
+#: uidrivers/win32/dialogs.py:359
+#, fuzzy
+msgid "GNUe Forms"
+msgstr "GNU Enterprise Forms"
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+#, fuzzy
+msgid "Form Information"
+msgstr "Navigation dans les formulaire"
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1134,28 +1438,22 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 msgid ""
 "An unexpected error has occured:\r\n"
 "%s.\r\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/win32/dialogs.py:356
-#, fuzzy
-msgid "GNUe Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr ""
 
-#: uidrivers/win32/dialogs.py:364
-#, fuzzy
-msgid "Form Information"
-msgstr "Navigation dans les formulaire"
-
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid "Printing"
 msgstr "Impression en cours"
 
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
@@ -1163,18 +1461,30 @@
 "Probl�me lors de l'impression.\n"
 "V�rifiez votre configuration d'imprimante et r�essayez."
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 msgid "Login: "
 msgstr "Login: "
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr "Page 1 de 1"
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr "GNU Enterprise Forms"
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "Version %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr ""
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "Prot�g� par la GNU General Public Licence 2.0"
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr "Le pilote wx pour GNUe Forms n�cessite wxPython."
@@ -1183,26 +1493,93 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr "l'encodage %s n'est pas support� par le pilote wx UI."
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
-msgstr ""
+#: uidrivers/wx26/UIdriver.py:35
+#, fuzzy
+msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
+msgstr "Le pilote GTK pour GNUe Forms n�cessite PyGTK et GTK 2.x."
 
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
+#~ msgid "Trigger Exception :\n"
+#~ msgstr "D�clencher l'exception : \n"
 
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr ""
+#~ "Donn�es non sauvegard�es. Enregistrez les changements ou effacez le "
+#~ "formulaire pour continuer."
+
+#~ msgid "Form not in query mode"
+#~ msgstr "Le formulaire n'est pas en mode recherche."
+
 #, fuzzy
-msgid "Version: %s"
-msgstr "Version %s"
+#~ msgid ""
+#~ "Database query error:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s"
+#~ msgstr ""
+#~ "Erreur de requ�te sur la base de donn�es:\n"
+#~ "%s\n"
+#~ "%s "
 
-#: uidrivers/wx26/UIdriver.py:38
+#~ msgid "Form trigger returned error"
+#~ msgstr "Le trigger du formulaire a renvoy� une erreur."
+
+#~ msgid "Block trigger returned error"
+#~ msgstr "Le trigger du bloc a renvoy� une erreur."
+
 #, fuzzy
-msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
-msgstr "Le pilote GTK pour GNUe Forms n�cessite PyGTK et GTK 2.x."
+#~ msgid "You cannot do that in query mode."
+#~ msgstr "Le formulaire n'est pas en mode recherche."
 
 #, fuzzy
+#~ msgid "There are no navigable widgets in this form. Unable to display."
+#~ msgstr ""
+#~ "Il n'y a pas de composants navigables dans ce formulaire. Affichage "
+#~ "impossible."
+
+#~ msgid "Current data is saved"
+#~ msgstr "Donn�es actuelles sauvegard�es"
+
+#~ msgid "Block does not allow delete"
+#~ msgstr "Le bloc n'autorise pas la suppression"
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "Le bloc n'autorise pas l'insertion"
+
+#, fuzzy
+#~ msgid "As Entered"
+#~ msgstr "Centr�"
+
+#~ msgid "Ignore Case on Queries"
+#~ msgstr "Ignorer la casse dans les requ�tes"
+
+#, fuzzy
+#~ msgid "Description field"
+#~ msgstr "Champ de description F/K"
+
+#, fuzzy
+#~ msgid "Parent ID field"
+#~ msgstr "Emp�cher les suppressions"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "Valeur '%s' incorrecte pour le champ"
+
+#~ msgid "Forms Navigation"
+#~ msgstr "Navigation dans les formulaire"
+
 #~ msgid ""
+#~ "Login required for\n"
+#~ "\"%s\""
+#~ msgstr ""
+#~ "Login requis pour\n"
+#~ "\"%s\""
+
+#~ msgid "Login required for %s"
+#~ msgstr "Login requis pour %s"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: Connexion en tant que %s"
+
+#, fuzzy
+#~ msgid ""
 #~ "Database commit error:\n"
 #~ "%(exType)s\n"
 #~ "%(exMessage)s"

Modified: trunk/gnue-forms/po/hu.po
===================================================================
--- trunk/gnue-forms/po/hu.po   2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/hu.po   2006-11-09 15:33:59 UTC (rev 9021)
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNUe-Forms 0.5\n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: 2006-03-24 21:44+0100\n"
 "Last-Translator: Kmetyk� G�bor <address@hidden>\n"
 "MIME-Version: 1.0\n"
@@ -42,11 +42,11 @@
 msgid "Unable to load UI driver: %s"
 msgstr "Nem lehet bet�lteni az UI meghajt�t: %s"
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "Nincs megadva k�perny� defin�ci�s file."
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
@@ -54,469 +54,798 @@
 "A GNUe Forms az al�bbi interf�szeket t�mogatja. Az interf�szt a\n"
 "--interface kapcsol�val v�laszthatja ki."
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr ""
 "�ltal�nos segzts�g megtekint�s�hez a --help kapcsol�val futtassa ugyanezt a "
 "parancsot."
 
-#: GFClient.py:226
+#: GFClient.py:231
 msgid "User interface command line options:"
 msgstr "Felhaszn�l�i fel�let parancssori kapcsol�i:"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
-msgstr "Minim�lisan sz�ks�ges hossz %d"
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "A k�perny� csak olvashat�"
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
-msgstr "Trigger kiv�tel :\n"
+#: GFForm.py:1227 GFForm.py:1244
+msgid "Recordnumber"
+msgstr "Rekord sorsz�ma"
 
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
-msgstr ""
-"Az adatok nincsenek mentve. A folytat�shoz mentse a v�ltoztat�sokat vagy "
-"t�r�lje az ablakot!"
+#: GFForm.py:1231
+msgid "Jump to record"
+msgstr "Ugr�s egy rekordra"
 
-#: GFForm.py:592
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "Hib�s sz�m."
+
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr "Adja meg a lek�rdez�si felt�teleket!"
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr "Lek�rdez�s felf�ggesztve."
 
-# c:\python22\lib\site-packages\gnue/forms/GFForm.py:454
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr "A k�perny� nincs lek�rdez� �zemm�dban"
-
-#: GFForm.py:655
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-"Adatb�zis lek�rdez�si hiba:\n"
-"%(exType)s\n"
-"%(exMessage)s "
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr "A lek�rdez�s nem adott vissza eredm�nyt."
 
-#: GFForm.py:666
+#: GFForm.py:1409
 msgid "Query successful."
 msgstr "Lek�rdez�s sikeres."
 
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "A k�perny� csak olvashat�"
+#: GFForm.py:1870
+#, fuzzy
+msgid "Save changes?"
+msgstr "V�ltoz�sok ment�se"
 
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr "A k�perny� trigger hib�t adott vissza"
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr "A blokk trigger hib�t adott vissza"
-
-# c:\python22\lib\site-packages\gnue/forms/GFForm.py:454
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
-msgid "You cannot do that in query mode."
-msgstr "Ezt nem lehet lek�rdez� m�dban v�grehajtani."
-
-#: GFInstance.py:60
+#: GFInstance.py:53
 msgid "Unable to open file: %s"
 msgstr "Nem lehet megnyitni a f�jlt: %s"
 
-#: GFInstance.py:354
-msgid "There are no navigable widgets in this form. Unable to display."
-msgstr "Ezen a k�perny�n nincs navig�lhat� kontroll. Nem lehet megjelen�teni."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+msgstr "A '%(datasource)s' adatforr�s a '%(block)s' blokkban nem tal�lhat�"
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "Hib�s sz�m."
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
+msgstr ""
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "Az aktu�lis adatok ment�sre ker�ltek"
+#: GFObjects/GFField.py:46
+#, fuzzy
+msgid "Datasource '%(name)s' not found"
+msgstr "A '%s' adatforr�s nem tal�lhat�"
 
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "A blokkban nem lehet t�r�lni"
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "'%(value)s' �rv�nytelen �rt�k a(z) '%(field)s' mez�ben"
 
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "A blokkban nem lehet besz�rni"
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
+msgstr ""
 
-#: GFInstance.py:1019
-msgid "Recordnumber"
-msgstr "Rekord sorsz�ma"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
+msgstr ""
 
-#: GFInstance.py:1020
-msgid "Jump to record"
-msgstr "Ugr�s egy rekordra"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
+msgstr ""
 
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
-msgstr "A '%(datasource)s' adatforr�s a '%(block)s' blokkban nem tal�lhat�"
-
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+#: GFObjects/GFObj.py:41
+#, fuzzy
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr "A bejegyz�s a nem l�tez� '%s' blokkra hivatkozik"
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFObj.py:52
+#, fuzzy
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr "A bejegyz�s a nem l�tez� '%s' mez�re hivatkozik"
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
-msgstr "A '%s' adatforr�s nem tal�lhat�"
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
+msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
-msgid "Scrollbar references a non-existent block '%s'"
-msgstr "A g�rget�s�v a nem l�tez� '%s' blokkra hivatkozik"
+#: GFParser.py:86
+#, fuzzy
+msgid "Form"
+msgstr "Norm�l"
 
-#: GFParser.py:90
+#: GFParser.py:91
 msgid "Title"
 msgstr "C�m"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 msgid "Read Only"
 msgstr "Csak olvashat�"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 msgid "Name"
 msgstr "N�v"
 
-#: GFParser.py:106
+#: GFParser.py:107
 msgid "Style"
 msgstr "St�lus"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr "Norm�l"
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr "P�rbesz�d"
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
+#, fuzzy
+msgid "Description"
+msgstr "Le�r�s:"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+#: GFParser.py:164 GFParser.py:229
+msgid "Action"
+msgstr ""
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "Ment�s"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "Bejelentkez�s"
+
+#: GFParser.py:273
+msgid "Layout"
+msgstr ""
+
+#: GFParser.py:279
 msgid "Tab Location"
 msgstr "F�l elhelyezked�se"
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr "Nincs f�l"
 
-#: GFParser.py:140
+#: GFParser.py:282
 msgid "Left tabs"
 msgstr "Bal f�lek"
 
-#: GFParser.py:141
+#: GFParser.py:283
 msgid "Right tabs"
 msgstr "Jobb f�lek"
 
-#: GFParser.py:142
+#: GFParser.py:284
 msgid "Botton tabs"
 msgstr "Als� f�lek"
 
-#: GFParser.py:143
+#: GFParser.py:285
 msgid "Top tabs"
 msgstr "Fels� f�lek"
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "&Beilleszt�s"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr "Sort�vols�g"
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr "Transzparens navig�ci�"
 
 # c:\python22\lib\site-packages\gnue/designer/base/Instance.py:306
-#: GFParser.py:223
+#: GFParser.py:384
 msgid "Auto Create Record"
 msgstr "Rekord automatikus l�trehoz�sa"
 
-#: GFParser.py:229
+#: GFParser.py:390
 msgid "Auto Next Record"
 msgstr "Automatikusan k�vetkez� rekordra l�p"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr "Automatikus v�grehajt�s"
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr "Automatikus t�rl�s v�grehajt�skor"
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr "Szerkeszt�s enged�lyez�se"
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr "Igen"
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 msgid "No"
 msgstr "Nem"
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 msgid "Update Only"
 msgstr "Csak m�dos�that�"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 msgid "New Records Only"
 msgstr "Csak �j rekordok"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr "Lek�rdez�s enged�lyezve"
 
-#: GFParser.py:265
+#: GFParser.py:426
 msgid "Allow Deletes"
 msgstr "T�rl�sek enged�lyezve"
 
 # c:\python22\lib\site-packages\gnue/navigator/UIwin32.py:257
 # c:\python22\lib\site-packages\gnue/navigator/UIwxpython.py:146
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 msgid "Navigable"
 msgstr "Navig�l�s enged�lyezve"
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr "T�rl�s megakad�lyoz�sa"
 
-#: GFParser.py:283
+#: GFParser.py:444
 msgid "Prevent Inserts"
 msgstr "Besz�r�s megakad�lyoz�sa"
 
-#: GFParser.py:311
+#: GFParser.py:455
+#, fuzzy
+msgid "Block"
+msgstr "K�vetkez� &blokk"
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+msgid "The text to be displayed."
+msgstr ""
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr "Bal"
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr "Jobb"
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr "K�z�pre z�rt"
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr "Mez� (adatb�zis)"
 
-#: GFParser.py:348
-msgid "Max Text Length"
-msgstr "Max. sz�veghossz"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "Adatt�pus"
 
-#: GFParser.py:353
-msgid "Min Text Length"
-msgstr "Min. sz�veghossz"
+#: GFParser.py:517
+msgid "The type of data stored in this field."
+msgstr ""
 
-#: GFParser.py:385
-msgid "As Entered"
-msgstr "Ahogy bevitelre ker�lt"
+#: GFParser.py:520
+msgid "Text"
+msgstr "Sz�veg"
 
-#: GFParser.py:386
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "Sz�m"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "Adatt�pus"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "C�m"
+
+#: GFParser.py:524
+#, fuzzy
+msgid "Date and time"
+msgstr "D�tum/Id�"
+
+#: GFParser.py:525
+msgid "Boolean"
+msgstr ""
+
+#: GFParser.py:528
+#, fuzzy
+msgid "Length"
+msgstr "Bal"
+
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
+#, fuzzy
+msgid "Scale"
+msgstr "Ment�s"
+
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
+msgstr ""
+
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "Bez�r"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
+msgstr ""
+
+#: GFParser.py:549
+#, fuzzy
+msgid "Mixed case"
+msgstr "kisbet�s"
+
+#: GFParser.py:550
 msgid "Upper case"
 msgstr "Nagybet�s"
 
-#: GFParser.py:387
+#: GFParser.py:551
 msgid "Lower case"
 msgstr "kisbet�s"
 
-#: GFParser.py:393
-msgid "Data Type"
-msgstr "Adatt�pus"
+#: GFParser.py:554
+msgid "Required"
+msgstr ""
 
-#: GFParser.py:395
-msgid "Text"
-msgstr "Sz�veg"
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
-msgstr "Sz�m"
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr "Min. sz�veghossz"
 
-#: GFParser.py:397
-msgid "Date/Time"
-msgstr "D�tum/Id�"
-
 # 
c:\python22\lib\site-packages\gnue/designer/base/tools/DataSourceEditor.py:470
-#: GFParser.py:407
+#: GFParser.py:591
 msgid "F/K Datasource"
 msgstr "Idegen kulcs adatforr�s"
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr "Idegen kulcshoz k�t�tt mez�"
 
-#: GFParser.py:417
+#: GFParser.py:601
 msgid "F/K Description Field"
 msgstr "Idegen kulcs le�r� mez�"
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr "Idegen kulcs friss�t�si m�dszer"
 
-#: GFParser.py:429
+#: GFParser.py:613
 msgid "On form startup"
 msgstr "A k�perny� indul�sakor"
 
-#: GFParser.py:430
+#: GFParser.py:614
 msgid "On field modification"
 msgstr "Mez� v�ltoz�sakor"
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr "V�grehajt�skor"
 
-#: GFParser.py:437
+#: GFParser.py:621
 msgid "Default (New Records)"
 msgstr "Alap�rtelmezett (�j rekordok)"
 
-#: GFParser.py:444
+#: GFParser.py:628
 msgid "Default to last entry"
 msgstr "Alap�rtelmezett az utols� �rt�k"
 
-#: GFParser.py:452
+#: GFParser.py:636
 msgid "Default (Querying)"
 msgstr "Alap�rtelmezett (Lek�rdez�s)"
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr "Fel�letes lek�rdez�sek"
 
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
-msgstr "A kis/nagybet�s �r�sm�d nem sz�m�t a lek�rdez�sekn�l"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
+msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr "Csak Null"
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr "Lek�rdez�s enged�lyezve"
 
-#: GFParser.py:488
+#: GFParser.py:679
+#, fuzzy
+msgid "Automatic Query"
+msgstr "Lek�rdez�s enged�lyezve"
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr "�res helyek lev�g�sa balr�l"
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr "�res helyek lev�g�sa jobbr�l"
 
-#: GFParser.py:528
+#: GFParser.py:699
+#, fuzzy
+msgid "Field"
+msgstr "&F�jl"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr "F�kusz sorrend"
 
-#: GFParser.py:556
+#: GFParser.py:756
+#, fuzzy
+msgid "Automatic"
+msgstr "Automatikus v�grehajt�s"
+
+#: GFParser.py:757
 msgid "Default"
 msgstr "Alap�rtelmezett"
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr "Jelsz�/Rejtett"
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr "Leg�rd�l�/Combo box"
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr "Listbox"
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr "Jel�l�mez�"
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr "C�mke (nem v�ltoztathat�)"
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr "Form�tum maszk"
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr "Beviteli maszk"
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr "Megjelen�t�si maszk"
 
-#: GFParser.py:651
+# 
c:\python22\lib\site-packages\gnue/designer/base/tools/DataSourceEditor.py:491
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "&K�vetkez� mez�"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+msgid "Grid"
+msgstr ""
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr "A mez� a k�p URL-j�t tartalmazza"
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr "A mez� a k�p PIL-k�dol�s�t tartalmazza"
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr "Teljes m�ret� k�p (nincs sk�l�zva)"
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr "Sz�less�ghez igaz�t"
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr "Magass�ghoz igaz�t"
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr "Sz�less�ghez �s magass�ghoz is igaz�t (torz�thatja a k�pet)"
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr "Legjobb illeszked�ses algoritmus"
 
-#: GFParser.py:714
+#: GFParser.py:977
+msgid "Image"
+msgstr ""
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr "A mez� a komponens URL-j�t tartalmazza"
 
-#: GFParser.py:715
+#: GFParser.py:1005
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr "A mez� a komponens adat�t Base64 k�dol�ssal tartalmazza"
 
-#: GFParser.py:783 GFParser.py:824
-msgid "Description field"
-msgstr "Le�r� mez�"
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
 
-#: GFParser.py:788
-msgid "Own ID field"
-msgstr "Saj�t ID mez�"
+#: GFParser.py:1060
+msgid "Button"
+msgstr ""
 
-#: GFParser.py:793
-msgid "Parent ID field"
-msgstr "Sz�l� ID mez�"
+#: GFParser.py:1069
+msgid "Options"
+msgstr ""
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
-msgstr "T�bla tipp a lev�l t�bl�khoz"
+#: GFParser.py:1084
+msgid "Option"
+msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
-msgstr "Egy mez� ID-je"
+#: GFParser.py:1103
+#, fuzzy
+msgid "Form Title"
+msgstr "C�m"
 
-#: GFParser.py:1063
+#: GFParser.py:1139
+#, fuzzy
+msgid "Form Author"
+msgstr "Szerz�:"
+
+#: GFParser.py:1175
+#, fuzzy
+msgid "Version"
+msgstr "Verzi�:"
+
+#: GFParser.py:1193
+msgid "Tip"
+msgstr ""
+
+#: GFParser.py:1229
+msgid "Parameter"
+msgstr ""
+
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr "M/D Min. gyermek sorok"
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr "M/D Max. gyermek sorok"
 
+#: GFParser.py:1313
+msgid "Text Field"
+msgstr ""
+
+#: GFParser.py:1314
+#, fuzzy
+msgid "List Box"
+msgstr "Listbox"
+
+#: GFParser.py:1315
+#, fuzzy
+msgid "Drop Down Box"
+msgstr "Leg�rd�l�/Combo box"
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+#, fuzzy
+msgid "Check Box"
+msgstr "Jel�l�mez�"
+
 #: input/GFKeyMapper.py:145
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
 msgstr "�rv�nytelen billenty� ID '%(key)s' a '%(event)s' billenty�t�rk�pben"
@@ -525,23 +854,15 @@
 msgid "Invalid keystroke combination '%(comb)s' in keymap for '%(event)s'"
 msgstr "�rv�nytelen billenty�-kombin�ci� '%(comb)s' a '%(event)s'-ban"
 
-#: input/displayHandlers/Cursor.py:48
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "'%(value)s' �rv�nytelen �rt�k a(z) '%(field)s' mez�ben"
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
+msgstr "Minim�lisan sz�ks�ges hossz %d"
 
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "'%s' �rv�nytelen �rt�k a mez�ben"
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
-msgstr "�rv�nytelen adatbevitel: '%s'"
-
 #: input/displayHandlers/DateTime.py:40
 msgid "'%(value)s' is not a valid date-literal"
 msgstr "'%(value)s' nem �rv�nyes d�tumle�r�s"
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr "A leg�rd�l� mez�ben �rv�nytelen �rt�k szerepel: %s"
 
@@ -549,50 +870,42 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr "A %(name)s UI meghajt�ban nincs megval�s�tva a %(method)s"
 
-#: uidrivers/_base/UIdriver.py:535
-msgid "GNUe Message"
-msgstr "GNUe �zenet"
-
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr "Ismeretlen"
-
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 msgid "Save all changes to the database."
 msgstr "V�ltoz�sok ment�se az adatb�zisba."
 
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 msgid "Clear form."
 msgstr "K�perny� t�rl�se"
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:95
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr "K�perny� t�rl�se. (Viszat�r�s az eredeti adatokhoz)."
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "Nyomtat�s ebb�l az ablakb�l."
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "Kil�p�s a programb�l."
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "A kijel�lt sz�veg kiv�g�sa"
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "A kijel�lt sz�veg m�sol�sa"
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:119
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 msgid "Copy the current record to the clipboard."
 msgstr "Az aktu�lis adattartalom v�g�lapra m�sol�sa"
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:120
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
@@ -602,95 +915,95 @@
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:124
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:125
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "Az aktu�lis k�perny� v�g�lapra m�sol�sa egyszer� sz�vegk�nt."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:129
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:130
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr "Sz�veg beilleszt�se az aktu�lis mez�be."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:134
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:135
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 msgid "Select all text."
 msgstr "Mindent kijel�l"
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:140
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr "Ugr�s az el�z� mez�re."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:145
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr "Ugr�s a k�vetkez� mez�re."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:149
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:150
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr "Ugr�s az aktu�lis blokk els� rekordj�ra."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:154
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:155
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr "Ugr�s az aktu�lis blokk el�z� rekordj�ra."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:159
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:160
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr "Ugr�s az aktu�lis blokk k�vetkez� rekordj�ra."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:164
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:165
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr "Ugr�s az aktu�lis blokk utols� rekordj�ra."
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "A rekord sorsz�m�nak bek�r�se, amelyre ugrani szeretne."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:174
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:175
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr "�j rekord besz�r�sa az aktu�lis blokkba."
 
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "Rekord kijel�l�se t�rl�sre."
 
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 msgid "Unmark record for removal at next commit."
 msgstr "T�rl�sre kijel�lt rekord kijel�l�s�nek megsz�ntet�se."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:144
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 msgid "Navigate to the next data block."
 msgstr "Ugr�s a k�vetkez� blokkra."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:139
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 msgid "Navigate to the previous data block."
 msgstr "Ugr�s az el�z� blokkra."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:144
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 msgid "Navigate to the next page."
 msgstr "Ugr�s a k�vetkez� lapra."
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:139
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 msgid "Navigate to the previous page."
 msgstr "Ugr�s az el�z� lapra."
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
@@ -698,7 +1011,7 @@
 "V�lt�s lek�rdez�s m�dba. Ha k�sz a sz�r� felt�tel, a  Lek�rdez�s "
 "v�grehajt�s�t kell v�lasztani."
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
@@ -707,256 +1020,266 @@
 "vissza�ll�t�sa. Ha k�sz a sz�r� felt�tel, a  Lek�rdez�s v�grehajt�s�t kell "
 "v�lasztani."
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr "Lek�rdez�s m�d megszak�t�sa"
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr "Lek�rdez�s v�grehajt�sa �s az eredm�ny megjelen�t�se."
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "Adatok a GNUe Forms-r�l."
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr "Billenty� hozz�rendel�sek megjelen�t�se."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&F�jl"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 msgid "&Save Changes"
 msgstr "V�ltoz�sok &ment�se"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 msgid "&Revert Changes"
 msgstr "V�ltoz�sok &visszavon�sa"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "&Nyomtat�s"
 
 # c:\python22\lib\site-packages\gnue/designer/base/Instance.py:298
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "&Kil�p�s"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&Szerkeszt�s"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "&Kiv�g�s"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "&M�sol�s"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "&Beilleszt�s"
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:134
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/_base/UserActions.py:135
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 msgid "Select &All"
 msgstr "&Mindent kijel�l"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 msgid "&Insert New Record"
 msgstr "�&j rekord"
 
 # c:\python22\lib\site-packages\gnue/designer/base/Instance.py:306
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 msgid "&Delete Current Record"
 msgstr "Rekord &t�rl�se"
 
 # c:\python22\lib\site-packages\gnue/designer/base/Instance.py:306
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 msgid "&Undelete Current Record"
 msgstr "&Rekord t�rl�s�nek visszavon�sa"
 
 # c:\python22\lib\site-packages\gnue/navigator/UIwin32.py:257
 # c:\python22\lib\site-packages\gnue/navigator/UIwxpython.py:146
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr "&Navig�l�s"
 
 # 
c:\python22\lib\site-packages\gnue/designer/base/tools/DataSourceEditor.py:491
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 msgid "&Next Entry"
 msgstr "&K�vetkez� mez�"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 msgid "&Previous Entry"
 msgstr "&El�z� mez�"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 msgid "Next &Record"
 msgstr "K�vetkez� &rekord"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 msgid "Previous R&ecord"
 msgstr "El�z� rek&ord"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 msgid "&First Record"
 msgstr "E&ls� rekord"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 msgid "&Last Record"
 msgstr "&Utols� rekord"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 msgid "&Go to record..."
 msgstr "U&gr�s egy rekordra..."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr "K�vetkez� &blokk"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 msgid "Previous Bl&ock"
 msgstr "El�&z� blokk"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 msgid "Next P&age"
 msgstr "K�vetkez� l&ap"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 msgid "Pre&vious Page"
 msgstr "El�z� la&p"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 msgid "&Search"
 msgstr "&Keres�s"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 msgid "Enter Query Mode"
 msgstr "V�lt�s lek�rdez�s m�dba"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr "Lek�rdez�s m�d megszak�t�sa"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 msgid "Repeat Last Query"
 msgstr "El�z� lek�rdez�s megism�tl�se"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 msgid "Perform Query"
 msgstr "Lek�rdez�s v�grehajt�sa"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "&S�g�"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 msgid "About..."
 msgstr "N�vjegy..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 msgid "Save Changes"
 msgstr "V�ltoz�sok ment�se"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 msgid "Insert New Record"
 msgstr "�j rekord"
 
 # c:\python22\lib\site-packages\gnue/designer/base/Instance.py:306
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 msgid "Delete Current Record"
 msgstr "Rekord t�rl�se"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "Els� rekord"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "El�z� rekord"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "K�vetkez� rekord"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "Utols� rekord"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 msgid "Go to record..."
 msgstr "Ugr�s egy rekordra..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 msgid "Enter Search Mode"
 msgstr "Keres�s m�d"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 msgid "Perform Search"
 msgstr "Keres�s v�grehajt�sa"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 msgid "Print Form"
 msgstr "K�perny� nyomtat�sa"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 msgid "Revert Changes"
 msgstr "M�dos�t�sok visszavon�sa"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 msgid "Close"
 msgstr "Bez�r"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr "feldolgoz�s..."
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr "Ok"
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 msgid "Save"
 msgstr "Ment�s"
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 msgid "Revert"
 msgstr "Visszavon�s"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr "Besz�r�s"
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 msgid "Delete"
 msgstr "T�rl�s"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 msgid "Query"
 msgstr "Lek�rdez�s"
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr "V�grehajt�s"
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "M�gse"
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 msgid "Exit"
 msgstr "Kil�p�s"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr "V�lasszon egy lehet�s�get"
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr "feldolgoz�s..."
+
 #: uidrivers/gtk2/UIdriver.py:42
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
 msgstr ""
@@ -971,22 +1294,23 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr "A GNUe-Forms GTK meghajt�hoz sz�ks�ges a PyGTK �s a GTK 2.x."
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr "GNUe Bels� Rendszerhiba"
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr "GNUe V�ratlan Hiba"
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 msgid "GNUe Application Error"
 msgstr "GNUe Alkalmaz�s Hiba"
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -998,8 +1322,9 @@
 "Ez azt jelenti, hogy hib�t tal�lt a GNU Enterprise rendszerben. K�rj�k, "
 "jelentse itt: address@hidden"
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
@@ -1009,131 +1334,122 @@
 "%s.\n"
 "L�pjen kapcsolatba a rendszergazd�val."
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 msgid "Error"
 msgstr "Hiba"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ">> R�szletek"
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ">> R�szletek"
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr "<< R�szletek"
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr "%s nem �rv�nyes beviteli mez� adatt�pus"
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 msgid "About %s"
 msgstr "%s n�vjegye"
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 msgid "Version:"
 msgstr "Verzi�:"
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 msgid "Driver:"
 msgstr "Meghajt�:"
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 msgid " Form Information "
 msgstr " K�perny� inform�ci� "
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 msgid "Name:"
 msgstr "N�v:"
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 msgid "Author:"
 msgstr "Szerz�:"
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 msgid "Description:"
 msgstr "Le�r�s:"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "Verzi� %s"
-
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "A GNU General Public Licence 2.0 �ltal v�dve"
-
-# c:\python22\lib\site-packages\gnue/navigator/UIwin32.py:257
-# c:\python22\lib\site-packages\gnue/navigator/UIwxpython.py:146
-#: uidrivers/qt/ToolBar.py:36
-msgid "Forms Navigation"
-msgstr "Navig�l�s"
-
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
 msgstr ""
-"K�telez� bejelentkezni\n"
-"\"%s\""
+"** FIGYELMEZTET�S: Nem lehet '%s'-t az eszk�zt�rhoz adni, nincs hozz� ikon"
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr "K�telez� bejelentkezni %s"
+#: uidrivers/qt3/UIdriver.py:36
+msgid "The GNUe-Forms QT3 driver requires PyQT."
+msgstr "A GNUe-Forms QT3 meghajt�hoz sz�ks�ges a PyQT."
 
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: Bejelentkez�s %s"
+#: uidrivers/qt3/dialogs.py:113
+#, fuzzy
+msgid "<< Detail"
+msgstr "<< R�szletek"
 
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr "Bejelentkez�s"
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
+msgid "Version: %s"
+msgstr "Verzi�: %s"
 
-#: uidrivers/qt/UIdriver.py:39
-msgid "The GNUe-Forms QT3 driver requires PyQT."
-msgstr "A GNUe-Forms QT3 meghajt�hoz sz�ks�ges a PyQT."
-
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
 msgid "Information"
 msgstr "Inform�ci� "
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 msgid "Warning"
 msgstr "Figyelem"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 msgid "Question"
 msgstr "K�rd�s"
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr "A GNUe-Forms Win32 meghajt�hoz sz�ks�ges a PyWin32."
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr "Inf�"
+#: uidrivers/win32/dialogs.py:359
+msgid "GNUe Forms"
+msgstr "GNUe Forms"
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+msgid "Form Information"
+msgstr "K�perny� inform�ci� "
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1145,7 +1461,7 @@
 "Ez azt jelenti, hogy hib�t tal�lt a GNU Enterprise rendszerben. K�rj�k, "
 "jelentse itt: address@hidden"
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 msgid ""
 "An unexpected error has occured:\r\n"
 "%s.\r\n"
@@ -1155,20 +1471,16 @@
 "%s.\r\n"
 "L�pjen kapcsolatba a rendszergazd�val."
 
-#: uidrivers/win32/dialogs.py:356
-msgid "GNUe Forms"
-msgstr "GNUe Forms"
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr "Inf�"
 
-#: uidrivers/win32/dialogs.py:364
-msgid "Form Information"
-msgstr "K�perny� inform�ci� "
-
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid "Printing"
 msgstr "Nyomtat�s"
 
 # c:\python22\lib\site-packages\gnue/forms/uidrivers/wx/PrintForm.py:84
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
@@ -1176,18 +1488,30 @@
 "A nyomtat�s sor�n probl�ma l�pett fel.\n"
 "Ellen�r�zze a nyomtat� be�ll�t�sokat �s pr�b�lja �jra!"
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 msgid "Login: "
 msgstr "Bejelentkez�s:"
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr "Lap 1/1"
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr "GNU Enterprise Forms"
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "Verzi� %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr "(c) Free Software Foundation"
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "A GNU General Public Licence 2.0 �ltal v�dve"
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr "A GNUe-Forms wx meghajt�hoz sz�ks�ges a wxPython."
@@ -1196,19 +1520,110 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr "A %s k�dol�st a wx UI meghajt� nem t�mogatja"
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
-msgstr "Csom�pont"
+#: uidrivers/wx26/UIdriver.py:35
+msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
+msgstr "Ehhez a GNUe-Forms UI meghajt�hoz legal�bb wx 2.6 sz�ks�ges."
 
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
-"** FIGYELMEZTET�S: Nem lehet '%s'-t az eszk�zt�rhoz adni, nincs hozz� ikon"
+#~ msgid "Trigger Exception :\n"
+#~ msgstr "Trigger kiv�tel :\n"
 
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
-msgid "Version: %s"
-msgstr "Verzi�: %s"
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr ""
+#~ "Az adatok nincsenek mentve. A folytat�shoz mentse a v�ltoztat�sokat vagy "
+#~ "t�r�lje az ablakot!"
 
-#: uidrivers/wx26/UIdriver.py:38
-msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
-msgstr "Ehhez a GNUe-Forms UI meghajt�hoz legal�bb wx 2.6 sz�ks�ges."
+# c:\python22\lib\site-packages\gnue/forms/GFForm.py:454
+#~ msgid "Form not in query mode"
+#~ msgstr "A k�perny� nincs lek�rdez� �zemm�dban"
+
+#~ msgid ""
+#~ "Database query error:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s"
+#~ msgstr ""
+#~ "Adatb�zis lek�rdez�si hiba:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s "
+
+#~ msgid "Form trigger returned error"
+#~ msgstr "A k�perny� trigger hib�t adott vissza"
+
+#~ msgid "Block trigger returned error"
+#~ msgstr "A blokk trigger hib�t adott vissza"
+
+# c:\python22\lib\site-packages\gnue/forms/GFForm.py:454
+#~ msgid "You cannot do that in query mode."
+#~ msgstr "Ezt nem lehet lek�rdez� m�dban v�grehajtani."
+
+#~ msgid "There are no navigable widgets in this form. Unable to display."
+#~ msgstr ""
+#~ "Ezen a k�perny�n nincs navig�lhat� kontroll. Nem lehet megjelen�teni."
+
+#~ msgid "Current data is saved"
+#~ msgstr "Az aktu�lis adatok ment�sre ker�ltek"
+
+#~ msgid "Block does not allow delete"
+#~ msgstr "A blokkban nem lehet t�r�lni"
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "A blokkban nem lehet besz�rni"
+
+#~ msgid "Scrollbar references a non-existent block '%s'"
+#~ msgstr "A g�rget�s�v a nem l�tez� '%s' blokkra hivatkozik"
+
+#~ msgid "Max Text Length"
+#~ msgstr "Max. sz�veghossz"
+
+#~ msgid "As Entered"
+#~ msgstr "Ahogy bevitelre ker�lt"
+
+#~ msgid "Ignore Case on Queries"
+#~ msgstr "A kis/nagybet�s �r�sm�d nem sz�m�t a lek�rdez�sekn�l"
+
+#~ msgid "Description field"
+#~ msgstr "Le�r� mez�"
+
+#~ msgid "Own ID field"
+#~ msgstr "Saj�t ID mez�"
+
+#~ msgid "Parent ID field"
+#~ msgstr "Sz�l� ID mez�"
+
+#~ msgid "Table hint for leaf tables"
+#~ msgstr "T�bla tipp a lev�l t�bl�khoz"
+
+#~ msgid "ID of a field"
+#~ msgstr "Egy mez� ID-je"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "'%s' �rv�nytelen �rt�k a mez�ben"
+
+#~ msgid "Invalid input: '%s'"
+#~ msgstr "�rv�nytelen adatbevitel: '%s'"
+
+#~ msgid "GNUe Message"
+#~ msgstr "GNUe �zenet"
+
+#~ msgid "Unknown"
+#~ msgstr "Ismeretlen"
+
+# c:\python22\lib\site-packages\gnue/navigator/UIwin32.py:257
+# c:\python22\lib\site-packages\gnue/navigator/UIwxpython.py:146
+#~ msgid "Forms Navigation"
+#~ msgstr "Navig�l�s"
+
+#~ msgid ""
+#~ "Login required for\n"
+#~ "\"%s\""
+#~ msgstr ""
+#~ "K�telez� bejelentkezni\n"
+#~ "\"%s\""
+
+#~ msgid "Login required for %s"
+#~ msgstr "K�telez� bejelentkezni %s"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: Bejelentkez�s %s"
+
+#~ msgid "Node"
+#~ msgstr "Csom�pont"

Modified: trunk/gnue-forms/po/lt.po
===================================================================
--- trunk/gnue-forms/po/lt.po   2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/lt.po   2006-11-09 15:33:59 UTC (rev 9021)
@@ -1,7 +1,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: 2002-07-05 13:48+0200\n"
 "Last-Translator: Art�ras Kriukovas <address@hidden>\n"
 "Language-Team: Lithuania\n"
@@ -37,21 +37,21 @@
 msgid "Unable to load UI driver: %s"
 msgstr "nepavyko paleisti ODBC draiverio skirto %s"
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "Nenurodyta jokia forma."
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
 msgstr ""
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr ""
 
-#: GFClient.py:226
+#: GFClient.py:231
 #, fuzzy
 msgid "User interface command line options:"
 msgstr ""
@@ -62,64 +62,47 @@
 "Galimos komandin�s eilut�s opcijos:\n"
 "%s"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
-msgstr ""
+# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "Forma yra 'tik skaitymui'."
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
+#: GFForm.py:1227 GFForm.py:1244
+msgid "Recordnumber"
 msgstr ""
 
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
-msgstr "Duomenys nei�saugoti. I�saugokite poky�ius arba at�aukite juos."
+#: GFForm.py:1231
+#, fuzzy
+msgid "Jump to record"
+msgstr "Pereiti prie �ra�o"
 
-#: GFForm.py:592
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "�vesta neteisinga skaitin� reik�m�."
+
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr ""
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr ""
 
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr ""
-
-#: GFForm.py:655
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr ""
 
-#: GFForm.py:666
+#: GFForm.py:1409
 msgid "Query successful."
 msgstr ""
 
-# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "Forma yra 'tik skaitymui'."
+#: GFForm.py:1870
+#, fuzzy
+msgid "Save changes?"
+msgstr "I�saugoti pakeitimus"
 
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr ""
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr ""
-
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
-msgid "You cannot do that in query mode."
-msgstr ""
-
-#: GFInstance.py:60
+#: GFInstance.py:53
 #, fuzzy
 msgid "Unable to open file: %s"
 msgstr ""
@@ -127,409 +110,752 @@
 "\n"
 "    %s"
 
-#: GFInstance.py:354
-#, fuzzy
-msgid "There are no navigable widgets in this form. Unable to display."
-msgstr "�ioje formoje n�ra fokusuojam� lauk�. Nepavyko parodyti formos."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+msgstr ""
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "�vesta neteisinga skaitin� reik�m�."
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
+msgstr ""
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "Dabartiniai duomenys i�saugoti."
+#: GFObjects/GFField.py:46
+msgid "Datasource '%(name)s' not found"
+msgstr ""
 
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "Bloke negalima trinti."
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
+#, fuzzy
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "Neteisinga vert� '%s' laukui"
 
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "Bloke negalima �ra�yti."
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
+msgstr ""
 
-#: GFInstance.py:1019
-msgid "Recordnumber"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
 msgstr ""
 
-#: GFInstance.py:1020
-#, fuzzy
-msgid "Jump to record"
-msgstr "Pereiti prie �ra�o"
-
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+#: GFObjects/GFObj.py:41
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr ""
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFObj.py:52
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr ""
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
 msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
-msgid "Scrollbar references a non-existent block '%s'"
+#: GFParser.py:86
+msgid "Form"
 msgstr ""
 
-#: GFParser.py:90
+#: GFParser.py:91
 #, fuzzy
 msgid "Title"
 msgstr "&Failas"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 #, fuzzy
 msgid "Read Only"
 msgstr "'Tik skaitymui' �sp�jimas"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 #, fuzzy
 msgid "Name"
 msgstr "Pavadinimas"
 
-#: GFParser.py:106
+#: GFParser.py:107
 #, fuzzy
 msgid "Style"
 msgstr "&Failas"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr ""
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr ""
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
 #, fuzzy
+msgid "Description"
+msgstr " Apra�ymas:"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+#: GFParser.py:164 GFParser.py:229
+#, fuzzy
+msgid "Action"
+msgstr "Prisijungimas"
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "&I�saugoti"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "Prisijungti"
+
+#: GFParser.py:273
+#, fuzzy
+msgid "Layout"
+msgstr "Puslapio i�d�stymas"
+
+#: GFParser.py:279
+#, fuzzy
 msgid "Tab Location"
 msgstr "arba URL adres�"
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr ""
 
-#: GFParser.py:140
+#: GFParser.py:282
 msgid "Left tabs"
 msgstr ""
 
-#: GFParser.py:141
+#: GFParser.py:283
 msgid "Right tabs"
 msgstr ""
 
-#: GFParser.py:142
+#: GFParser.py:284
 msgid "Botton tabs"
 msgstr ""
 
-#: GFParser.py:143
+#: GFParser.py:285
 msgid "Top tabs"
 msgstr ""
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+# ../../designer/src/PopupMenu.py:50 :134
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "puslapis"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr ""
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr ""
 
-#: GFParser.py:223
+#: GFParser.py:384
 #, fuzzy
 msgid "Auto Create Record"
 msgstr "I�trinti �ra��"
 
-#: GFParser.py:229
+#: GFParser.py:390
 #, fuzzy
 msgid "Auto Next Record"
 msgstr "Sekantis �ra�as"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr ""
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr ""
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr ""
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr ""
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 msgid "No"
 msgstr ""
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 #, fuzzy
 msgid "Update Only"
 msgstr "'Tik skaitymui' �sp�jimas"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 #, fuzzy
 msgid "New Records Only"
 msgstr "Sekantis �ra�as"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr ""
 
-#: GFParser.py:265
+#: GFParser.py:426
 #, fuzzy
 msgid "Allow Deletes"
 msgstr "&I�trinti %s"
 
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 msgid "Navigable"
 msgstr ""
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr ""
 
-#: GFParser.py:283
+#: GFParser.py:444
 #, fuzzy
 msgid "Prevent Inserts"
 msgstr "Savybi� inspektorius"
 
-#: GFParser.py:311
+#: GFParser.py:455
+msgid "Block"
+msgstr ""
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+#, fuzzy
+msgid "The text to be displayed."
+msgstr "Failas negali b�ti apdorotas."
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr ""
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr ""
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr ""
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr ""
 
-#: GFParser.py:348
-msgid "Max Text Length"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "Gimtasis tipas"
+
+#: GFParser.py:517
+msgid "The type of data stored in this field."
 msgstr ""
 
-#: GFParser.py:353
-msgid "Min Text Length"
+#: GFParser.py:520
+msgid "Text"
 msgstr ""
 
-#: GFParser.py:385
-msgid "As Entered"
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "Pavadinimas"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "&Duomenys"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "&Failas"
+
+#: GFParser.py:524
+msgid "Date and time"
 msgstr ""
 
-#: GFParser.py:386
-msgid "Upper case"
+#: GFParser.py:525
+msgid "Boolean"
 msgstr ""
 
-#: GFParser.py:387
-msgid "Lower case"
+#: GFParser.py:528
+msgid "Length"
 msgstr ""
 
-#: GFParser.py:393
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
 #, fuzzy
-msgid "Data Type"
-msgstr "Gimtasis tipas"
+msgid "Scale"
+msgstr "&I�saugoti"
 
-#: GFParser.py:395
-msgid "Text"
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
 msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "�terpti"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
 msgstr ""
 
-#: GFParser.py:397
-msgid "Date/Time"
+#: GFParser.py:549
+msgid "Mixed case"
 msgstr ""
 
+#: GFParser.py:550
+msgid "Upper case"
+msgstr ""
+
+#: GFParser.py:551
+msgid "Lower case"
+msgstr ""
+
+#: GFParser.py:554
+msgid "Required"
+msgstr "Pivalomas"
+
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
+
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr ""
+
 # ../../designer/src/PopupMenu.py:48 :128
-#: GFParser.py:407
+#: GFParser.py:591
 #, fuzzy
 msgid "F/K Datasource"
 msgstr "duomen� �altinis"
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr ""
 
-#: GFParser.py:417
+#: GFParser.py:601
 #, fuzzy
 msgid "F/K Description Field"
 msgstr "Apra�ymas"
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr ""
 
-#: GFParser.py:429
+#: GFParser.py:613
 msgid "On form startup"
 msgstr ""
 
-#: GFParser.py:430
+#: GFParser.py:614
 msgid "On field modification"
 msgstr ""
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr ""
 
-#: GFParser.py:437
+#: GFParser.py:621
 #, fuzzy
 msgid "Default (New Records)"
 msgstr "I�trinti �ra��"
 
-#: GFParser.py:444
+#: GFParser.py:628
 #, fuzzy
 msgid "Default to last entry"
 msgstr "�vykdyti sudaryt� u�klaus�"
 
-#: GFParser.py:452
+#: GFParser.py:636
 #, fuzzy
 msgid "Default (Querying)"
 msgstr "�vykdyti sudaryt� u�klaus�"
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr ""
 
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
 msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr ""
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr ""
 
-#: GFParser.py:488
+#: GFParser.py:679
+msgid "Automatic Query"
+msgstr ""
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr ""
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr ""
 
-#: GFParser.py:528
+#: GFParser.py:699
+msgid "Field"
+msgstr "Laukas"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr ""
 
-#: GFParser.py:556
+#: GFParser.py:756
+msgid "Automatic"
+msgstr ""
+
+#: GFParser.py:757
 msgid "Default"
 msgstr ""
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr ""
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr ""
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr ""
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr ""
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr ""
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr ""
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr ""
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr ""
 
-#: GFParser.py:651
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "�vedimo laukelis"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+msgid "Grid"
+msgstr ""
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr ""
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr ""
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr ""
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr ""
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr ""
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr ""
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr ""
 
-#: GFParser.py:714
+# ../../designer/src/PopupMenu.py:50 :134
+#: GFParser.py:977
+#, fuzzy
+msgid "Image"
+msgstr "puslapis"
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr ""
 
-#: GFParser.py:715
+#: GFParser.py:1005
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr ""
 
-#: GFParser.py:783 GFParser.py:824
-#, fuzzy
-msgid "Description field"
-msgstr "Apra�ymas"
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
 
-#: GFParser.py:788
-msgid "Own ID field"
+#: GFParser.py:1060
+msgid "Button"
 msgstr ""
 
-#: GFParser.py:793
-msgid "Parent ID field"
+#: GFParser.py:1069
+msgid "Options"
 msgstr ""
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
+#: GFParser.py:1084
+msgid "Option"
 msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
+#: GFParser.py:1103
+#, fuzzy
+msgid "Form Title"
+msgstr "&Failas"
+
+#: GFParser.py:1139
+#, fuzzy
+msgid "Form Author"
+msgstr "Autorius"
+
+#: GFParser.py:1175
+#, fuzzy
+msgid "Version"
+msgstr " Versija: "
+
+#: GFParser.py:1193
+msgid "Tip"
 msgstr ""
 
-#: GFParser.py:1063
+#: GFParser.py:1229
+msgid "Parameter"
+msgstr ""
+
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr ""
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr ""
 
+#: GFParser.py:1313
+#, fuzzy
+msgid "Text Field"
+msgstr "Laukas"
+
+#: GFParser.py:1314
+msgid "List Box"
+msgstr ""
+
+#: GFParser.py:1315
+msgid "Drop Down Box"
+msgstr ""
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+msgid "Check Box"
+msgstr ""
+
 #: input/GFKeyMapper.py:145
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
 msgstr ""
@@ -538,24 +864,15 @@
 msgid "Invalid keystroke combination '%(comb)s' in keymap for '%(event)s'"
 msgstr ""
 
-#: input/displayHandlers/Cursor.py:48
-#, fuzzy
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "Neteisinga vert� '%s' laukui"
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
+msgstr ""
 
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "Neteisinga vert� '%s' laukui"
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
-msgstr "Neteisingas �vedimas: '%s'"
-
 #: input/displayHandlers/DateTime.py:40
 msgid "'%(value)s' is not a valid date-literal"
 msgstr ""
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr ""
 
@@ -563,423 +880,423 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr ""
 
-#: uidrivers/_base/UIdriver.py:535
-#, fuzzy
-msgid "GNUe Message"
-msgstr "I�eiti i� GNUe dizainerio"
-
-# ../../designer/src/TemplateChooser.py:129 :139 :144
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr "Ne�inoma"
-
 # ../../forms/src/uidrivers/wx/UIdriver.py:205 :273
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 #, fuzzy
 msgid "Save all changes to the database."
 msgstr "I�saugoti visus pakeitimus � duomen� baz�."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:207 :286 :286
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 #, fuzzy
 msgid "Clear form."
 msgstr "I�valyti form�."
 
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "Atspausdinti �i� form�."
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "I�eiti i� programos."
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "I�kerpa pa�ym�t� tekst�."
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "Kopijuoja pa�ym�t� tekst�."
 
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 #, fuzzy
 msgid "Copy the current record to the clipboard."
 msgstr "Nukopijuoja pa�ym�t� objekt�"
 
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 #, fuzzy
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "Nukopijuoja pa�ym�t� objekt�"
 
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 #, fuzzy
 msgid "Select all text."
 msgstr "Pa�ym�ti visk�"
 
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "Per�jimas pie nurodyto �ra�o atmintyje."
 
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr ""
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "Pa�ymi �ra�� i�trynimui per artimiausi� i�saugojim�."
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 #, fuzzy
 msgid "Unmark record for removal at next commit."
 msgstr "Pa�ymi �ra�� i�trynimui per artimiausi� i�saugojim�."
 
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 #, fuzzy
 msgid "Navigate to the next data block."
 msgstr "Per�jimas prie sekan�io duomen� bloko."
 
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 #, fuzzy
 msgid "Navigate to the previous data block."
 msgstr "Per�jimas prie ankstesnio duomen� bloko."
 
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 #, fuzzy
 msgid "Navigate to the next page."
 msgstr "Per�jimas prie sekan�io duomen� bloko."
 
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 #, fuzzy
 msgid "Navigate to the previous page."
 msgstr "Per�jimas prie ankstesnio duomen� bloko."
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr ""
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "Parodo infomacij� apie GNUe Formas."
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&Failas"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 #, fuzzy
 msgid "&Save Changes"
 msgstr "I�saugoti pakeitimus"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 #, fuzzy
 msgid "&Revert Changes"
 msgstr "I�saugoti pakeitimus"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "&Spausdinti"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "&U�daryti"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&Redagavimas"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "&I�kirpti"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "&Nukopijuoti"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "�&terpti"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 #, fuzzy
 msgid "Select &All"
 msgstr "Pa�ym�ti visk�"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 #, fuzzy
 msgid "&Insert New Record"
 msgstr "�terpti �ra��"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 #, fuzzy
 msgid "&Delete Current Record"
 msgstr "I�trinti �ra��"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 #, fuzzy
 msgid "&Undelete Current Record"
 msgstr "I�trinti �ra��"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 #, fuzzy
 msgid "&Next Entry"
 msgstr "�vedimo laukelis"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 #, fuzzy
 msgid "&Previous Entry"
 msgstr "Ankstesnis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 #, fuzzy
 msgid "Next &Record"
 msgstr "Sekantis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 #, fuzzy
 msgid "Previous R&ecord"
 msgstr "Ankstesnis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 #, fuzzy
 msgid "&First Record"
 msgstr "Pirmas �ra�as"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 #, fuzzy
 msgid "&Last Record"
 msgstr "Paskutinis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 #, fuzzy
 msgid "&Go to record..."
 msgstr "Pereiti prie �ra�o"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 #, fuzzy
 msgid "Previous Bl&ock"
 msgstr "Ankstesnis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 #, fuzzy
 msgid "Next P&age"
 msgstr "Naujas puslapis"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 #, fuzzy
 msgid "Pre&vious Page"
 msgstr "Ankstesnis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 msgid "&Search"
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 #, fuzzy
 msgid "Enter Query Mode"
 msgstr "�vykdyti sudaryt� u�klaus�"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr ""
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 #, fuzzy
 msgid "Repeat Last Query"
 msgstr "Paruo�i uklaus�"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 #, fuzzy
 msgid "Perform Query"
 msgstr "Paruo�i uklaus�"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "&Pagalba"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 #, fuzzy
 msgid "About..."
 msgstr "&Apie..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 #, fuzzy
 msgid "Save Changes"
 msgstr "I�saugoti pakeitimus"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 #, fuzzy
 msgid "Insert New Record"
 msgstr "�terpti �ra��"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 #, fuzzy
 msgid "Delete Current Record"
 msgstr "I�trinti �ra��"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "Pirmas �ra�as"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "Ankstesnis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "Sekantis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "Paskutinis �ra�as"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 #, fuzzy
 msgid "Go to record..."
 msgstr "Pereiti prie �ra�o"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 #, fuzzy
 msgid "Enter Search Mode"
 msgstr "�vykdyti sudaryt� u�klaus�"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 #, fuzzy
 msgid "Perform Search"
 msgstr "Paruo�i uklaus�"
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:287 :287
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 #, fuzzy
 msgid "Print Form"
 msgstr "U�daryti form�"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 #, fuzzy
 msgid "Revert Changes"
 msgstr "I�saugoti pakeitimus"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 #, fuzzy
 msgid "Close"
 msgstr "&U�daryti"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr ""
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 #, fuzzy
 msgid "Save"
 msgstr "&I�saugoti"
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 #, fuzzy
 msgid "Revert"
 msgstr "I�saugoti pakeitimus"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 #, fuzzy
 msgid "Delete"
 msgstr "I�tri&nti"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 msgid "Query"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "Atsisakyti"
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 #, fuzzy
 msgid "Exit"
 msgstr "I&�eiti"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr ""
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr ""
+
 #: uidrivers/gtk2/UIdriver.py:42
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
 msgstr ""
@@ -992,25 +1309,26 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 #, fuzzy
 msgid "GNUe Application Error"
 msgstr ""
 "GNUE greitas program� k�rimas.\n"
 "\n"
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -1018,149 +1336,143 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 #, fuzzy
 msgid "Error"
 msgstr "Klaida: %s"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 #, fuzzy
 msgid "About %s"
 msgstr "Apie "
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 #, fuzzy
 msgid "Version:"
 msgstr " Versija: "
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 #, fuzzy
 msgid "Driver:"
 msgstr "Trigeris: "
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 #, fuzzy
 msgid " Form Information "
 msgstr "-= Formos Informacija =-"
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 #, fuzzy
 msgid "Name:"
 msgstr "Pavadinimas"
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 #, fuzzy
 msgid "Author:"
 msgstr "Autorius"
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 #, fuzzy
 msgid "Description:"
 msgstr " Apra�ymas:"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
-msgstr "GNU Enterprise Formos"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "Versija %s"
-
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "Apsaugota GNU General Public License 2.0"
-
-#: uidrivers/qt/ToolBar.py:36
-#, fuzzy
-msgid "Forms Navigation"
-msgstr "Schemos navigatorius"
-
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
 msgstr ""
-"Reikalingas prisijungimas \n"
-"\"%s\""
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr "Reikalingas prisijungimas %s"
-
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: prisijungimas prie %s"
-
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr "Prisijungti"
-
-#: uidrivers/qt/UIdriver.py:39
+#: uidrivers/qt3/UIdriver.py:36
 msgid "The GNUe-Forms QT3 driver requires PyQT."
 msgstr ""
 
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/dialogs.py:113
+msgid "<< Detail"
+msgstr ""
+
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
 #, fuzzy
+msgid "Version: %s"
+msgstr "Versija %s"
+
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
+#, fuzzy
 msgid "Information"
 msgstr "-= Formos Informacija =-"
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 #, fuzzy
 msgid "Warning"
 msgstr "&Spausdinti"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 #, fuzzy
 msgid "Question"
 msgstr "Versija"
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr ""
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr ""
+#: uidrivers/win32/dialogs.py:359
+#, fuzzy
+msgid "GNUe Forms"
+msgstr "GNUE Formos"
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+#, fuzzy
+msgid "Form Information"
+msgstr "-= Formos Informacija =-"
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1168,47 +1480,53 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 msgid ""
 "An unexpected error has occured:\r\n"
 "%s.\r\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/win32/dialogs.py:356
-#, fuzzy
-msgid "GNUe Forms"
-msgstr "GNUE Formos"
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr ""
 
-#: uidrivers/win32/dialogs.py:364
+#: uidrivers/wx/PrintForm.py:71
 #, fuzzy
-msgid "Form Information"
-msgstr "-= Formos Informacija =-"
-
-#: uidrivers/wx/PrintForm.py:86
-#, fuzzy
 msgid "Printing"
 msgstr "&Spausdinti"
 
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
 msgstr ""
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 #, fuzzy
 msgid "Login: "
 msgstr "Prisijungti"
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr ""
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr "GNU Enterprise Formos"
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "Versija %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr ""
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "Apsaugota GNU General Public License 2.0"
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr ""
@@ -1217,23 +1535,61 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr ""
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
+#: uidrivers/wx26/UIdriver.py:35
+msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
 msgstr ""
 
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr "Duomenys nei�saugoti. I�saugokite poky�ius arba at�aukite juos."
 
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
 #, fuzzy
-msgid "Version: %s"
-msgstr "Versija %s"
+#~ msgid "There are no navigable widgets in this form. Unable to display."
+#~ msgstr "�ioje formoje n�ra fokusuojam� lauk�. Nepavyko parodyti formos."
 
-#: uidrivers/wx26/UIdriver.py:38
-msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
-msgstr ""
+#~ msgid "Current data is saved"
+#~ msgstr "Dabartiniai duomenys i�saugoti."
 
+#~ msgid "Block does not allow delete"
+#~ msgstr "Bloke negalima trinti."
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "Bloke negalima �ra�yti."
+
+#, fuzzy
+#~ msgid "Description field"
+#~ msgstr "Apra�ymas"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "Neteisinga vert� '%s' laukui"
+
+#~ msgid "Invalid input: '%s'"
+#~ msgstr "Neteisingas �vedimas: '%s'"
+
+#, fuzzy
+#~ msgid "GNUe Message"
+#~ msgstr "I�eiti i� GNUe dizainerio"
+
+# ../../designer/src/TemplateChooser.py:129 :139 :144
+#~ msgid "Unknown"
+#~ msgstr "Ne�inoma"
+
+#, fuzzy
+#~ msgid "Forms Navigation"
+#~ msgstr "Schemos navigatorius"
+
+#~ msgid ""
+#~ "Login required for\n"
+#~ "\"%s\""
+#~ msgstr ""
+#~ "Reikalingas prisijungimas \n"
+#~ "\"%s\""
+
+#~ msgid "Login required for %s"
+#~ msgstr "Reikalingas prisijungimas %s"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: prisijungimas prie %s"
+
 # ../../forms/src/uidrivers/wx/UIdriver.py:245 :283
 #, fuzzy
 #~ msgid "Switch to edit mode."
@@ -1445,9 +1801,6 @@
 #~ msgid "The file cannot be parsed. %s :: %s"
 #~ msgstr "Failas negali b�ti apdorotas. %s :: %s"
 
-#~ msgid "The file cannot be parsed."
-#~ msgstr "Failas negali b�ti apdorotas."
-
 #~ msgid ""
 #~ "Unable to read the GNUE_INSTALLED_SITE_CFG file... There is a problem "
 #~ "with your installation"
@@ -1790,9 +2143,6 @@
 #~ msgid "Copy"
 #~ msgstr "Kopijuoti"
 
-#~ msgid "Paste"
-#~ msgstr "�terpti"
-
 #~ msgid "Paste text"
 #~ msgstr "�terpia tekst�."
 
@@ -1853,9 +2203,6 @@
 #~ msgid "Execute query using current mask."
 #~ msgstr "�vykdo j�s� sudaryt� u�klaus�."
 
-#~ msgid "&Data"
-#~ msgstr "&Duomenys"
-
 #~ msgid "Navigate to user specified record in memory."
 #~ msgstr "Per�jimas prie vartotojo nurodyto �ra�o atmintyje."
 
@@ -1883,9 +2230,6 @@
 #~ msgid "Source"
 #~ msgstr "�altinis"
 
-#~ msgid "Connection"
-#~ msgstr "Prisijungimas"
-
 #~ msgid "Properties"
 #~ msgstr "Savyb�s"
 
@@ -1922,18 +2266,12 @@
 #~ msgid "Dropdown Entry"
 #~ msgstr "I��okantis �vedimo laukelis"
 
-#~ msgid "Field"
-#~ msgstr "Laukas"
-
 #~ msgid "Base Type"
 #~ msgstr "Bazinis tipas"
 
 #~ msgid "Size"
 #~ msgstr "Dydis"
 
-#~ msgid "Required"
-#~ msgstr "Pivalomas"
-
 #~ msgid "You are not logged in to %s... not retrieving schema"
 #~ msgstr "J�s esate neprisijung�s prie %s.... negaunama schema"
 
@@ -2128,10 +2466,6 @@
 #~ msgid "New Shared Trigger"
 #~ msgstr "Naujas bendras trigeris"
 
-# ../../designer/src/PopupMenu.py:50 :134
-#~ msgid "page"
-#~ msgstr "puslapis"
-
 #~ msgid "&Properties..."
 #~ msgstr "&Savyb�s"
 
@@ -2241,6 +2575,3 @@
 
 #~ msgid "Shared Triggers"
 #~ msgstr "Bendri trigeriai"
-
-#~ msgid "Page Layout"
-#~ msgstr "Puslapio i�d�stymas"

Modified: trunk/gnue-forms/po/nl.po
===================================================================
--- trunk/gnue-forms/po/nl.po   2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/nl.po   2006-11-09 15:33:59 UTC (rev 9021)
@@ -8,7 +8,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: nl\n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: 2005-09-27 18:50+0200\n"
 "Last-Translator: Michael Van Wesenbeeck <address@hidden>\n"
 "Language-Team:  <address@hidden>\n"
@@ -48,11 +48,11 @@
 msgid "Unable to load UI driver: %s"
 msgstr "Kan gebruikersinterface driver niet laden: %s"
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "Geen Formulier Definitie Bestand (gfd) Opgegeven."
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
@@ -61,464 +61,793 @@
 "interface\n"
 "selecteren via de --interface optie."
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr ""
 "Om algemene help te bekijken, gebruik dan deze opdracht met de --help optie."
 
-#: GFClient.py:226
+#: GFClient.py:231
 msgid "User interface command line options:"
 msgstr "Gebruikersinterface opdrachtlijn opties:"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
-msgstr "Vereiste lengte is minimum %d"
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "Formulier is alleen-lezen"
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
-msgstr "Trigger Uitzondering :\n"
+#: GFForm.py:1227 GFForm.py:1244
+msgid "Recordnumber"
+msgstr "Itemnummer"
 
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
-msgstr ""
-"Data niet bewaard. Bewaar de wijzigingen of leeg het formulier om verder te "
-"gaan."
+#: GFForm.py:1231
+msgid "Jump to record"
+msgstr "Ga naar item"
 
-#: GFForm.py:592
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "Ongeldige numerieke waarde ingegeven."
+
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr "Geef uw opvragingscriteria in."
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr "Opvraging geannuleerd."
 
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr "Formulier is niet in opvragingsmodus."
-
-#: GFForm.py:655
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-"Database opvragingsfout:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr "Opvraging gaf geen resultaten."
 
-#: GFForm.py:666
+#: GFForm.py:1409
 msgid "Query successful."
 msgstr "Opvraging succesvol."
 
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "Formulier is alleen-lezen"
+#: GFForm.py:1870
+#, fuzzy
+msgid "Save changes?"
+msgstr "Wijzigingen Opslaan"
 
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr "Formulier trigger leverde een fout"
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr "Blok trigger leverde een fout"
-
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
-msgid "You cannot do that in query mode."
-msgstr "U kan dit niet doen in opvragingsmodus."
-
-#: GFInstance.py:60
+#: GFInstance.py:53
 msgid "Unable to open file: %s"
 msgstr "Kan bestand %s niet openen"
 
-#: GFInstance.py:354
-msgid "There are no navigable widgets in this form. Unable to display."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+msgstr "Databron '%(datasource)s' in blok '%(block)s' is niet gevonden"
+
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
 msgstr ""
-"Er zijn geen navigeerbare elementen in dit formulier. Kan niet weergegeven "
-"worden."
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "Ongeldige numerieke waarde ingegeven."
+#: GFObjects/GFField.py:46
+#, fuzzy
+msgid "Datasource '%(name)s' not found"
+msgstr "Databron '%s' niet gevonden"
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "Huidige data is bewaard"
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
+#, fuzzy
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "Ongeldige waarde '%s' voor veld"
 
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "Dit blok staat geen wissen toe"
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
+msgstr ""
 
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "Dit blok staat geen ingeven toe"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
+msgstr ""
 
-#: GFInstance.py:1019
-msgid "Recordnumber"
-msgstr "Itemnummer"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
+msgstr ""
 
-#: GFInstance.py:1020
-msgid "Jump to record"
-msgstr "Ga naar item"
-
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
-msgstr "Databron '%(datasource)s' in blok '%(block)s' is niet gevonden"
-
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+#: GFObjects/GFObj.py:41
+#, fuzzy
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr "Uw gegeven refereert naar een niet bestaand blok '%s'"
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFObj.py:52
+#, fuzzy
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr "Uw gegeven refereert naar een niet bestaand veld '%s'"
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
-msgstr "Databron '%s' niet gevonden"
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
+msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
-msgid "Scrollbar references a non-existent block '%s'"
-msgstr "De scrollbar refereert naar een niet bestaand blok '%s'"
+#: GFParser.py:86
+#, fuzzy
+msgid "Form"
+msgstr "Normaal"
 
-#: GFParser.py:90
+#: GFParser.py:91
 msgid "Title"
 msgstr "Titel"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 msgid "Read Only"
 msgstr "Alleen-Lezen"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 msgid "Name"
 msgstr "Naam"
 
-#: GFParser.py:106
+#: GFParser.py:107
 msgid "Style"
 msgstr "Stijl"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr "Normaal"
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr "Dialoog"
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
+#, fuzzy
+msgid "Description"
+msgstr "Beschrijving:"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+#: GFParser.py:164 GFParser.py:229
+msgid "Action"
+msgstr ""
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "Opslaan"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "Login"
+
+#: GFParser.py:273
+msgid "Layout"
+msgstr ""
+
+#: GFParser.py:279
 msgid "Tab Location"
 msgstr "Tab Plaatsing"
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr "Geen Tabs"
 
-#: GFParser.py:140
+#: GFParser.py:282
 msgid "Left tabs"
 msgstr "Linker tabs"
 
-#: GFParser.py:141
+#: GFParser.py:283
 msgid "Right tabs"
 msgstr "Rechter tabs"
 
-#: GFParser.py:142
+#: GFParser.py:284
 msgid "Botton tabs"
 msgstr "Bodem tabs"
 
-#: GFParser.py:143
+#: GFParser.py:285
 msgid "Top tabs"
 msgstr "Top tabs"
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "&Plakken"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr "Rij spaciëring"
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr "Transparent Nav"
 
-#: GFParser.py:223
+#: GFParser.py:384
 msgid "Auto Create Record"
 msgstr "Automatische Item Aanmaak"
 
-#: GFParser.py:229
+#: GFParser.py:390
 msgid "Auto Next Record"
 msgstr "Automatisch Volgend Item"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr "Automatisch Verwerken"
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr "Automatisch Legen na Opslaan"
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr "Wijzigen Toestaan"
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr "Ja"
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 msgid "No"
 msgstr "Nee"
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 msgid "Update Only"
 msgstr "Enkel Updaten"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 msgid "New Records Only"
 msgstr "Enkel Nieuwe Items"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr "Opvragingen Toegestaan"
 
-#: GFParser.py:265
+#: GFParser.py:426
 msgid "Allow Deletes"
 msgstr "Verwijderingen Toegestaan"
 
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 msgid "Navigable"
 msgstr "Navigeerbaar"
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr "Verwijderingen Voorkomen"
 
-#: GFParser.py:283
+#: GFParser.py:444
 msgid "Prevent Inserts"
 msgstr "Ingaven Voorkomen"
 
-#: GFParser.py:311
+#: GFParser.py:455
+#, fuzzy
+msgid "Block"
+msgstr "Volgend &Blok"
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+msgid "The text to be displayed."
+msgstr ""
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr "Links"
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr "Rechts"
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr "Gecentreerd"
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr "Veld (Database)"
 
-#: GFParser.py:348
-msgid "Max Text Length"
-msgstr "Maximum Tekst Lengte"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "Data Type"
 
-#: GFParser.py:353
-msgid "Min Text Length"
-msgstr "Minimum Tekst Lengte"
+#: GFParser.py:517
+msgid "The type of data stored in this field."
+msgstr ""
 
-#: GFParser.py:385
-msgid "As Entered"
-msgstr "Zoals Ingegeven"
+#: GFParser.py:520
+msgid "Text"
+msgstr "Tekst"
 
-#: GFParser.py:386
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "Numeriek"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "Data Type"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "Titel"
+
+#: GFParser.py:524
+#, fuzzy
+msgid "Date and time"
+msgstr "Datum/Tijd"
+
+#: GFParser.py:525
+msgid "Boolean"
+msgstr ""
+
+#: GFParser.py:528
+#, fuzzy
+msgid "Length"
+msgstr "Links"
+
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
+#, fuzzy
+msgid "Scale"
+msgstr "Opslaan"
+
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
+msgstr ""
+
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "Sluiten"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
+msgstr ""
+
+#: GFParser.py:549
+#, fuzzy
+msgid "Mixed case"
+msgstr "Kleine letters"
+
+#: GFParser.py:550
 msgid "Upper case"
 msgstr "Hoofdletters"
 
-#: GFParser.py:387
+#: GFParser.py:551
 msgid "Lower case"
 msgstr "Kleine letters"
 
-#: GFParser.py:393
-msgid "Data Type"
-msgstr "Data Type"
+#: GFParser.py:554
+msgid "Required"
+msgstr ""
 
-#: GFParser.py:395
-msgid "Text"
-msgstr "Tekst"
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
-msgstr "Numeriek"
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr "Minimum Tekst Lengte"
 
-#: GFParser.py:397
-msgid "Date/Time"
-msgstr "Datum/Tijd"
-
-#: GFParser.py:407
+#: GFParser.py:591
 msgid "F/K Datasource"
 msgstr "F/K Databron"
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr "F/K Gebonden Veld"
 
-#: GFParser.py:417
+#: GFParser.py:601
 msgid "F/K Description Field"
 msgstr "F/K Beschrijvings Veld"
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr "F/K Verversing Methode"
 
-#: GFParser.py:429
+#: GFParser.py:613
 msgid "On form startup"
 msgstr "Bij opstart van formulier"
 
-#: GFParser.py:430
+#: GFParser.py:614
 msgid "On field modification"
 msgstr "Bij wijziging van veld"
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr "Bij opslaan"
 
-#: GFParser.py:437
+#: GFParser.py:621
 msgid "Default (New Records)"
 msgstr "Standaard (Nieuwe Items)"
 
-#: GFParser.py:444
+#: GFParser.py:628
 msgid "Default to last entry"
 msgstr "Standaard naar laatste ingave"
 
-#: GFParser.py:452
+#: GFParser.py:636
 msgid "Default (Querying)"
 msgstr "Standaard (Opvragingen)"
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr "Slordige Opvragingen"
 
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
-msgstr "Negeer Hoofd- of Kleine letters bij Opvragingen"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
+msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr "Enkel Null"
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr "Opvraging Toestaan"
 
-#: GFParser.py:488
+#: GFParser.py:679
+#, fuzzy
+msgid "Automatic Query"
+msgstr "Opvraging Toestaan"
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr "Linker spaties verwijderen"
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr "Rechter spaties verwijderen"
 
-#: GFParser.py:528
+#: GFParser.py:699
+#, fuzzy
+msgid "Field"
+msgstr "&Bestand"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr "Focus Volgorde"
 
-#: GFParser.py:556
+#: GFParser.py:756
+#, fuzzy
+msgid "Automatic"
+msgstr "Automatisch Verwerken"
+
+#: GFParser.py:757
 msgid "Default"
 msgstr "Standaard"
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr "Paswoord/Verborgen"
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr "Dropdown/Combo box"
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr "Selectie box"
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr "Aankruisvak"
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr "Label (niet bewerkbaar)"
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr "Opmaak Masker"
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr "Ingave Masker"
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr "Weergave Masker"
 
-#: GFParser.py:651
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "&Volgende Ingave"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+msgid "Grid"
+msgstr ""
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr "Veld bevat de URL de afbeelding"
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr "Veld bevat een PIL encodering van de afbeelding"
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr "Volledige afbeelding (niet geschaald)"
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr "Schalen naar breedte"
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr "Schalen naar hoogte"
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr "Breedte en hoogte schalen (kan afbeelding vervormen)"
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr "Gebruik een 'best-passend' algoritme"
 
-#: GFParser.py:714
+#: GFParser.py:977
+msgid "Image"
+msgstr ""
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr "Veld bevat de URL van de component"
 
-#: GFParser.py:715
+#: GFParser.py:1005
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr "Veld bevat de data van de component in Base64 encodering"
 
-#: GFParser.py:783 GFParser.py:824
-msgid "Description field"
-msgstr "Beschrijvings veld"
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
 
-#: GFParser.py:788
-msgid "Own ID field"
-msgstr "Eigen ID veld"
+#: GFParser.py:1060
+msgid "Button"
+msgstr ""
 
-#: GFParser.py:793
-msgid "Parent ID field"
-msgstr "Ouder ID veld"
+#: GFParser.py:1069
+msgid "Options"
+msgstr ""
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
-msgstr "Tabel hint voor afhankelijke tabellen"
+#: GFParser.py:1084
+msgid "Option"
+msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
-msgstr "ID van een veld"
+#: GFParser.py:1103
+#, fuzzy
+msgid "Form Title"
+msgstr "Titel"
 
-#: GFParser.py:1063
+#: GFParser.py:1139
+#, fuzzy
+msgid "Form Author"
+msgstr "Auteur:"
+
+#: GFParser.py:1175
+#, fuzzy
+msgid "Version"
+msgstr "Versie:"
+
+#: GFParser.py:1193
+msgid "Tip"
+msgstr ""
+
+#: GFParser.py:1229
+msgid "Parameter"
+msgstr ""
+
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr "M/D Minimum Detail Rijen"
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr "M/D Maximum Detail Rijen"
 
+#: GFParser.py:1313
+msgid "Text Field"
+msgstr ""
+
+#: GFParser.py:1314
+#, fuzzy
+msgid "List Box"
+msgstr "Selectie box"
+
+#: GFParser.py:1315
+#, fuzzy
+msgid "Drop Down Box"
+msgstr "Dropdown/Combo box"
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+#, fuzzy
+msgid "Check Box"
+msgstr "Aankruisvak"
+
 #: input/GFKeyMapper.py:145
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
 msgstr ""
@@ -529,25 +858,16 @@
 msgstr ""
 "Ongeldige toetsaanslagcombinatie '%(comb)s' in 'keymap' voor '%(event)s'"
 
-#: input/displayHandlers/Cursor.py:48
-#, fuzzy
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "Ongeldige waarde '%s' voor veld"
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
+msgstr "Vereiste lengte is minimum %d"
 
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "Ongeldige waarde '%s' voor veld"
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
-msgstr "Ongeldige ingave: '%s'"
-
 #: input/displayHandlers/DateTime.py:40
 #, fuzzy
 msgid "'%(value)s' is not a valid date-literal"
 msgstr "%s is een ongeldig type voor een ingaveveld"
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr "Ongeldige waarde '%s' voor selectieveld met sleutelwaarden"
 
@@ -555,47 +875,39 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr "De UI-driver %(name)s heeft geen %(method)s implementatie"
 
-#: uidrivers/_base/UIdriver.py:535
-msgid "GNUe Message"
-msgstr "GNUe Boodschap"
-
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr "Onbekend"
-
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 msgid "Save all changes to the database."
 msgstr "Bewaar alle wijzigingen in de database"
 
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 msgid "Clear form."
 msgstr "Leeg het formulier"
 
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr "Leeg het formulier en keer terug naar uw originele data."
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "Voer de afdrukroutine uit voor dit formulier."
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "Verlaat deze applicatie"
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "Knip de geselecteerde tekst"
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "Kopiëer de geselecteerde tekst"
 
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 msgid "Copy the current record to the clipboard."
 msgstr "Kopiëer het huidig item naar het klembord."
 
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
@@ -603,75 +915,75 @@
 "Kopiëer het huidige item naar het klembord. Het item wordt gekopiëerd als "
 "een door tabs gescheiden waarde."
 
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "Kopiëer het huidige scherm naar het klembord als gewone tekst."
 
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr "Plak de tekst in het huidige veld."
 
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 msgid "Select all text."
 msgstr "Selecteer alle tekst."
 
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr "Verplaats naar het vorige logische veld."
 
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr "Verplaats naar het volgende logische veld."
 
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr "Spring naar de eerste item in het huidige blok."
 
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr "Spring naar het vorige item in het huidige blok."
 
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr "Spring naar het volgende item in het huidige blok."
 
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr "Spring naar het laatste item in het huidige blok."
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "Dit vraagt om een itemnummer waarnaar het systeem dan springt."
 
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr "Een nieuw item invoegen in het huidige blok."
 
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "Markeer het item voor verwijdering bij de volgende verwerking."
 
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 msgid "Unmark record for removal at next commit."
 msgstr "Markering voor verwijdering ongedaan maken bij de volgende verwerking."
 
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 msgid "Navigate to the next data block."
 msgstr "Gaat naar het volgende datablok."
 
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 msgid "Navigate to the previous data block."
 msgstr "Gaat naar het vorige datablok."
 
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 msgid "Navigate to the next page."
 msgstr "Gaat naar de volgende pagina."
 
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 msgid "Navigate to the previous page."
 msgstr "Gaat naar de vorige pagina."
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
@@ -679,7 +991,7 @@
 "Ga over op opvragingsmodus. Selecteer 'Voer Opvraging uit' eens de criteria "
 "ingegeven zijn."
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
@@ -687,247 +999,257 @@
 "Ga over op opvragingsmodus (indien nodig) en herneem de laatste zoek "
 "parameters. Selecteer 'Voer Opvraging uit' eens de criteria zijn ingevoerd."
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr "Annuleer opvragingsmodus"
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr "Doe een opvraging en toon de resultaten."
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "Toon informatie over GNUe Forms."
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr "Toon de toetsaanslag verbindingen die momenteel in gebruik zijn."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&Bestand"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 msgid "&Save Changes"
 msgstr "Wijzigingen &Opslaan"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 msgid "&Revert Changes"
 msgstr "Wijzigingen &Ongedaan Maken"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "Af&drukken"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "&Sluiten"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&Bewerken"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "&Knippen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "&Kopiëren"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "&Plakken"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 msgid "Select &All"
 msgstr "&Alles Selecteren"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 msgid "&Insert New Record"
 msgstr "Nieuw Item &Invoegen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 msgid "&Delete Current Record"
 msgstr "Huidig Item Ve&rwijderen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 msgid "&Undelete Current Record"
 msgstr "Huidig Item &Herstellen"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr "Navi&geren"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 msgid "&Next Entry"
 msgstr "&Volgende Ingave"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 msgid "&Previous Entry"
 msgstr "&Vorige Ingave"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 msgid "Next &Record"
 msgstr "Volgend &Item"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 msgid "Previous R&ecord"
 msgstr "Vorig &Item"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 msgid "&First Record"
 msgstr "&Eerste Item"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 msgid "&Last Record"
 msgstr "&Laatste Item"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 msgid "&Go to record..."
 msgstr "&Ga naar item..."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr "Volgend &Blok"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 msgid "Previous Bl&ock"
 msgstr "Vorig Bl&ok"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 msgid "Next P&age"
 msgstr "Volgende P&agina"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 msgid "Pre&vious Page"
 msgstr "Vor&ige Pagina"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 msgid "&Search"
 msgstr "&Zoeken"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 msgid "Enter Query Mode"
 msgstr "Naar Opvragingsmodus"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr "Annuleer Opvragingsmodus"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 msgid "Repeat Last Query"
 msgstr "Herneem Laatste Opvraging"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 msgid "Perform Query"
 msgstr "Voer Opvraging Uit"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "&Help"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 msgid "About..."
 msgstr "Over..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 msgid "Save Changes"
 msgstr "Wijzigingen Opslaan"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 msgid "Insert New Record"
 msgstr "Nieuw Item Invoegen"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 msgid "Delete Current Record"
 msgstr "Verwijder Huidig Item"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "Eerste Item"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "Vorig Item"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "Volgend Item"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "Laatste Item"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 msgid "Go to record..."
 msgstr "Ga naar item..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 msgid "Enter Search Mode"
 msgstr "Naar Opzoekingsmodus"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 msgid "Perform Search"
 msgstr "Voer Opzoeking Uit"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 msgid "Print Form"
 msgstr "Formulier Afdrukken"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 msgid "Revert Changes"
 msgstr "Wijzigingen Ongedaan Maken"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 msgid "Close"
 msgstr "Sluiten"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr "in verwerking..."
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr "Ok"
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 msgid "Save"
 msgstr "Opslaan"
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 msgid "Revert"
 msgstr "Ongedaan maken"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr "Invoegen"
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 msgid "Delete"
 msgstr "Verwijderen"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 msgid "Query"
 msgstr "Opvraging"
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr "Uitvoeren"
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "Annuleren"
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 msgid "Exit"
 msgstr "Uitgang"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr "Maak keuze"
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr "in verwerking..."
+
 #: uidrivers/gtk2/UIdriver.py:42
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
 msgstr ""
@@ -942,22 +1264,23 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr "De GNUe-Forms GTK driver vereist PyGTK en GTK 2.x."
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr "GNUe Interne Syteem Fout"
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr "GNUe Onverwachte Fout"
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 msgid "GNUe Application Error"
 msgstr "GNUe Applicatie Fout"
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -969,8 +1292,9 @@
 "Dit betekend dat je een fout gevonden hebt in GNU Enterprise. Geef het "
 "alstublieft door aan address@hidden"
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
@@ -980,129 +1304,122 @@
 "%s.\n"
 "Contacteer a.u.b. je systeembeheerder."
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 msgid "Error"
 msgstr "Fout"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ">> Detail"
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ">> Details"
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr "<< Details"
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr "%s is een ongeldig type voor een ingaveveld"
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 msgid "About %s"
 msgstr "Over %s"
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 msgid "Version:"
 msgstr "Versie:"
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 msgid "Driver:"
 msgstr "Driver:"
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 msgid " Form Information "
 msgstr " Formulier Informatie"
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 msgid "Name:"
 msgstr "Naam:"
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 msgid "Author:"
 msgstr "Auteur:"
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 msgid "Description:"
 msgstr "Beschrijving:"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "Versie %s"
-
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "Beschermd door GNU General Public Licence 2.0"
-
-#: uidrivers/qt/ToolBar.py:36
-msgid "Forms Navigation"
-msgstr "Formulier Navigatie"
-
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
 msgstr ""
-"Inloggen vereist voor\n"
-"\"%s\""
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr "Inloggen vereist voor %s"
+#: uidrivers/qt3/UIdriver.py:36
+msgid "The GNUe-Forms QT3 driver requires PyQT."
+msgstr "De GNUe-Forms QT3 driver vereist PyQT."
 
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: Inloggen op %s"
+#: uidrivers/qt3/dialogs.py:113
+#, fuzzy
+msgid "<< Detail"
+msgstr "<< Details"
 
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr "Login"
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
+#, fuzzy
+msgid "Version: %s"
+msgstr "Versie %s"
 
-#: uidrivers/qt/UIdriver.py:39
-msgid "The GNUe-Forms QT3 driver requires PyQT."
-msgstr "De GNUe-Forms QT3 driver vereist PyQT."
-
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
 msgid "Information"
 msgstr "Informatie"
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 msgid "Warning"
 msgstr "Waarschuwing"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 msgid "Question"
 msgstr "Vraag"
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr "De GNUe-Forms Win32 driver vereist PyWin32."
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr "Informatie"
+#: uidrivers/win32/dialogs.py:359
+msgid "GNUe Forms"
+msgstr "GNUe Forms"
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+msgid "Form Information"
+msgstr "Formulier Informatie"
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1114,7 +1431,7 @@
 "Dit betekend dat je een fout gevonden hebt in GNU Enterprise. Geef het "
 "alstublieft door aan address@hidden"
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 msgid ""
 "An unexpected error has occured:\r\n"
 "%s.\r\n"
@@ -1124,19 +1441,15 @@
 "%s.\r\n"
 "Contacteer a.u.b. je systeembeheerder."
 
-#: uidrivers/win32/dialogs.py:356
-msgid "GNUe Forms"
-msgstr "GNUe Forms"
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr "Informatie"
 
-#: uidrivers/win32/dialogs.py:364
-msgid "Form Information"
-msgstr "Formulier Informatie"
-
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid "Printing"
 msgstr "Afdrukken"
 
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
@@ -1144,18 +1457,30 @@
 "Er was een afdrukprobleem.\n"
 "Kijk je afdruk instellingen na en probeer opnieuw."
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 msgid "Login: "
 msgstr "Login:"
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr "Pagina 1 van 1"
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr "GNU Enterprise Forms"
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "Versie %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr "(c) Free Software Foundation"
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "Beschermd door GNU General Public Licence 2.0"
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr "De GNUe-Forms wx driver vereist wxPython."
@@ -1164,25 +1489,113 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr "Encodering %s is niet ondersteund door de wx UI driver"
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
-msgstr "Knooppunt"
-
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
-
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
+#: uidrivers/wx26/UIdriver.py:35
 #, fuzzy
-msgid "Version: %s"
-msgstr "Versie %s"
-
-#: uidrivers/wx26/UIdriver.py:38
-#, fuzzy
 msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
 msgstr "De GNUe-Forms GTK driver vereist PyGTK en GTK 2.x."
 
+#~ msgid "Trigger Exception :\n"
+#~ msgstr "Trigger Uitzondering :\n"
+
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr ""
+#~ "Data niet bewaard. Bewaar de wijzigingen of leeg het formulier om verder "
+#~ "te gaan."
+
+#~ msgid "Form not in query mode"
+#~ msgstr "Formulier is niet in opvragingsmodus."
+
 #~ msgid ""
+#~ "Database query error:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s"
+#~ msgstr ""
+#~ "Database opvragingsfout:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s"
+
+#~ msgid "Form trigger returned error"
+#~ msgstr "Formulier trigger leverde een fout"
+
+#~ msgid "Block trigger returned error"
+#~ msgstr "Blok trigger leverde een fout"
+
+#~ msgid "You cannot do that in query mode."
+#~ msgstr "U kan dit niet doen in opvragingsmodus."
+
+#~ msgid "There are no navigable widgets in this form. Unable to display."
+#~ msgstr ""
+#~ "Er zijn geen navigeerbare elementen in dit formulier. Kan niet "
+#~ "weergegeven worden."
+
+#~ msgid "Current data is saved"
+#~ msgstr "Huidige data is bewaard"
+
+#~ msgid "Block does not allow delete"
+#~ msgstr "Dit blok staat geen wissen toe"
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "Dit blok staat geen ingeven toe"
+
+#~ msgid "Scrollbar references a non-existent block '%s'"
+#~ msgstr "De scrollbar refereert naar een niet bestaand blok '%s'"
+
+#~ msgid "Max Text Length"
+#~ msgstr "Maximum Tekst Lengte"
+
+#~ msgid "As Entered"
+#~ msgstr "Zoals Ingegeven"
+
+#~ msgid "Ignore Case on Queries"
+#~ msgstr "Negeer Hoofd- of Kleine letters bij Opvragingen"
+
+#~ msgid "Description field"
+#~ msgstr "Beschrijvings veld"
+
+#~ msgid "Own ID field"
+#~ msgstr "Eigen ID veld"
+
+#~ msgid "Parent ID field"
+#~ msgstr "Ouder ID veld"
+
+#~ msgid "Table hint for leaf tables"
+#~ msgstr "Tabel hint voor afhankelijke tabellen"
+
+#~ msgid "ID of a field"
+#~ msgstr "ID van een veld"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "Ongeldige waarde '%s' voor veld"
+
+#~ msgid "Invalid input: '%s'"
+#~ msgstr "Ongeldige ingave: '%s'"
+
+#~ msgid "GNUe Message"
+#~ msgstr "GNUe Boodschap"
+
+#~ msgid "Unknown"
+#~ msgstr "Onbekend"
+
+#~ msgid "Forms Navigation"
+#~ msgstr "Formulier Navigatie"
+
+#~ msgid ""
+#~ "Login required for\n"
+#~ "\"%s\""
+#~ msgstr ""
+#~ "Inloggen vereist voor\n"
+#~ "\"%s\""
+
+#~ msgid "Login required for %s"
+#~ msgstr "Inloggen vereist voor %s"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: Inloggen op %s"
+
+#~ msgid "Node"
+#~ msgstr "Knooppunt"
+
+#~ msgid ""
 #~ "Database commit error:\n"
 #~ "%(exType)s\n"
 #~ "%(exMessage)s"

Modified: trunk/gnue-forms/po/ro.po
===================================================================
--- trunk/gnue-forms/po/ro.po   2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/ro.po   2006-11-09 15:33:59 UTC (rev 9021)
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNUe Forms\n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: 2004-04-7 17:02+0200\n"
 "Last-Translator: Florin Boariu <address@hidden>\n"
 "Language-Team: Romanian\n"
@@ -44,11 +44,11 @@
 msgid "Unable to load UI driver: %s"
 msgstr "Nu pot incarca drivere UI valide.  Ma dau batut."
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "Nu ati specificat nici un Fisier de Definitie Formular."
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
@@ -56,486 +56,804 @@
 "Urmatoarele interfete sunt suportate de GNUe Forms. Puteti selecta una\n"
 "prin optiunea --interface."
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr "Pentru ajutor general, rulati aceasta comanda cu optionea --help."
 
-#: GFClient.py:226
+#: GFClient.py:231
 msgid "User interface command line options:"
 msgstr "Optiuni de linia de comanda pentru interfata de utilizare:"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "Formularu este read-only"
+
+#: GFForm.py:1227 GFForm.py:1244
+msgid "Recordnumber"
 msgstr ""
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
-msgstr "Exceptie trigger: \n"
+#: GFForm.py:1231
+#, fuzzy
+msgid "Jump to record"
+msgstr "Du-te la inregistrarea..."
 
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
-msgstr ""
-"Datele n-au fost salvate. Salvati sau stergeti formularul pentru a continua."
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "A fost introdusa o valoare numerica non-valida."
 
-#: GFForm.py:592
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr ""
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr ""
 
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr "Formualrul nu e in mod cautare"
-
-#: GFForm.py:655
-#, fuzzy
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-"Eroare la cautarea in baza de date:\n"
-"%s\n"
-"%s "
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr ""
 
-#: GFForm.py:666
+#: GFForm.py:1409
 msgid "Query successful."
 msgstr ""
 
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "Formularu este read-only"
-
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr "Un trigger al formularului a returnat o eroare"
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr "Un trigger a blocului a returnat o eroare"
-
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
+#: GFForm.py:1870
 #, fuzzy
-msgid "You cannot do that in query mode."
-msgstr "Formualrul nu e in mod cautare"
+msgid "Save changes?"
+msgstr "Salveaza editarile"
 
-#: GFInstance.py:60
+#: GFInstance.py:53
 #, fuzzy
 msgid "Unable to open file: %s"
 msgstr ""
 "Nu pot deschide fisierul\n"
 "     %s"
 
-#: GFInstance.py:354
-#, fuzzy
-msgid "There are no navigable widgets in this form. Unable to display."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
 msgstr ""
-"Nu sunt elemente de control navigabile in acest formular.  N-am ce sa afisez."
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "A fost introdusa o valoare numerica non-valida."
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
+msgstr ""
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "Datele curente sunt salvate"
-
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "Blocul nu permite stergerea"
-
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "Blocul nu permite adaugarea"
-
-#: GFInstance.py:1019
-msgid "Recordnumber"
+#: GFObjects/GFField.py:46
+msgid "Datasource '%(name)s' not found"
 msgstr ""
 
-#: GFInstance.py:1020
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
 #, fuzzy
-msgid "Jump to record"
-msgstr "Du-te la inregistrarea..."
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "Valoare non-valida '%s' pentru camp"
 
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
 msgstr ""
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
 msgstr ""
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
+#: GFObjects/GFObj.py:41
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
-msgid "Scrollbar references a non-existent block '%s'"
+#: GFObjects/GFObj.py:52
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr ""
 
-#: GFParser.py:90
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
+msgstr ""
+
+#: GFParser.py:86
+#, fuzzy
+msgid "Form"
+msgstr "Normal"
+
+#: GFParser.py:91
 msgid "Title"
 msgstr "Titlu"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 msgid "Read Only"
 msgstr "Doar Citire (read-only)"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 msgid "Name"
 msgstr ""
 
-#: GFParser.py:106
+#: GFParser.py:107
 #, fuzzy
 msgid "Style"
 msgstr "Titlu"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr "Normal"
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr "Dialog"
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
+#, fuzzy
+msgid "Description"
+msgstr "Campul de descriere"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+#: GFParser.py:164 GFParser.py:229
+msgid "Action"
+msgstr ""
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "Titlu"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "Login"
+
+#: GFParser.py:273
+msgid "Layout"
+msgstr ""
+
+#: GFParser.py:279
 msgid "Tab Location"
 msgstr "Locatie tab"
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr "Fara tab-uri"
 
-#: GFParser.py:140
+#: GFParser.py:282
 #, fuzzy
 msgid "Left tabs"
 msgstr "Tab stanga"
 
-#: GFParser.py:141
+#: GFParser.py:283
 #, fuzzy
 msgid "Right tabs"
 msgstr "Tab dreapta"
 
-#: GFParser.py:142
+#: GFParser.py:284
 #, fuzzy
 msgid "Botton tabs"
 msgstr "Tab jos"
 
-#: GFParser.py:143
+#: GFParser.py:285
 #, fuzzy
 msgid "Top tabs"
 msgstr "Tab sus"
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "Copiaza din &panou"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr "Spatiul intre randuri"
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr ""
 
-#: GFParser.py:223
+#: GFParser.py:384
 #, fuzzy
 msgid "Auto Create Record"
 msgstr "Sterge inregistrarea actuala"
 
-#: GFParser.py:229
+#: GFParser.py:390
 #, fuzzy
 msgid "Auto Next Record"
 msgstr "Inregistarea urmatoare"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr ""
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr ""
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr ""
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr ""
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 msgid "No"
 msgstr ""
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 #, fuzzy
 msgid "Update Only"
 msgstr "Doar Citire (read-only)"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 #, fuzzy
 msgid "New Records Only"
 msgstr "Inregistarea urmatoare"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr ""
 
-#: GFParser.py:265
+#: GFParser.py:426
 msgid "Allow Deletes"
 msgstr ""
 
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 #, fuzzy
 msgid "Navigable"
 msgstr "&Navigare"
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr "Impiedica stergerea"
 
-#: GFParser.py:283
+#: GFParser.py:444
 msgid "Prevent Inserts"
 msgstr "Impiedica adaugarea"
 
-#: GFParser.py:311
+#: GFParser.py:455
+#, fuzzy
+msgid "Block"
+msgstr "&Blocul urmator"
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+msgid "The text to be displayed."
+msgstr ""
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr "Stanga"
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr "Dreapta"
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr "Centrat"
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr "Camp (Baza de date)"
 
-#: GFParser.py:348
-msgid "Max Text Length"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "Tipul de date"
+
+#: GFParser.py:517
+msgid "The type of data stored in this field."
 msgstr ""
 
-#: GFParser.py:353
-msgid "Min Text Length"
+#: GFParser.py:520
+msgid "Text"
+msgstr "Text"
+
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "Numeric"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "Tipul de date"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "Titlu"
+
+#: GFParser.py:524
+#, fuzzy
+msgid "Date and time"
+msgstr "Data/Ora"
+
+#: GFParser.py:525
+msgid "Boolean"
 msgstr ""
 
-#: GFParser.py:385
+#: GFParser.py:528
 #, fuzzy
-msgid "As Entered"
-msgstr "Centrat"
+msgid "Length"
+msgstr "Stanga"
 
-#: GFParser.py:386
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
+#, fuzzy
+msgid "Scale"
+msgstr "Titlu"
+
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
+msgstr ""
+
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "Inchide"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
+msgstr ""
+
+#: GFParser.py:549
+msgid "Mixed case"
+msgstr ""
+
+#: GFParser.py:550
 msgid "Upper case"
 msgstr ""
 
-#: GFParser.py:387
+#: GFParser.py:551
 msgid "Lower case"
 msgstr ""
 
-#: GFParser.py:393
-msgid "Data Type"
-msgstr "Tipul de date"
+#: GFParser.py:554
+msgid "Required"
+msgstr ""
 
-#: GFParser.py:395
-msgid "Text"
-msgstr "Text"
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
-msgstr "Numeric"
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr ""
 
-#: GFParser.py:397
-msgid "Date/Time"
-msgstr "Data/Ora"
-
-#: GFParser.py:407
+#: GFParser.py:591
 msgid "F/K Datasource"
 msgstr "F/K Sursa de date"
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr "F/L Campul legat"
 
-#: GFParser.py:417
+#: GFParser.py:601
 msgid "F/K Description Field"
 msgstr "F/K Campul descriptiv"
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr "F/K Metoda de actualizare"
 
-#: GFParser.py:429
+#: GFParser.py:613
 #, fuzzy
 msgid "On form startup"
 msgstr "Actualizare doar la pornirea formularului"
 
-#: GFParser.py:430
+#: GFParser.py:614
 #, fuzzy
 msgid "On field modification"
 msgstr "Actualizare la modificarea campului"
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr ""
 
-#: GFParser.py:437
+#: GFParser.py:621
 #, fuzzy
 msgid "Default (New Records)"
 msgstr "Standard (Inregistrare noua)"
 
-#: GFParser.py:444
+#: GFParser.py:628
 #, fuzzy
 msgid "Default to last entry"
 msgstr "Raman la ultima intrare ca actiune standard?"
 
-#: GFParser.py:452
+#: GFParser.py:636
 #, fuzzy
 msgid "Default (Querying)"
 msgstr "Standard (cauta)"
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr "Cautari sloppy"
 
-# FIXME -- need a word for sloppy
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
-msgstr "Ignora marimea literelor la cautare"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
+msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr ""
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr ""
 
-#: GFParser.py:488
+#: GFParser.py:679
+msgid "Automatic Query"
+msgstr ""
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr "Taie spatiile din stanga"
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr "Taie spatiile din dreapta"
 
-#: GFParser.py:528
+#: GFParser.py:699
+#, fuzzy
+msgid "Field"
+msgstr "&Fisier"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr "Ordinea de focus"
 
-#: GFParser.py:556
+#: GFParser.py:756
+msgid "Automatic"
+msgstr ""
+
+#: GFParser.py:757
 msgid "Default"
 msgstr "Standard"
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr "Parola/Ascuns"
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr "Casuta combo"
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr ""
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr "Cutie de marcat"
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr "Eticheta (ne-editabil)"
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr "Masca de format"
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr "Masca de intrare"
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr "Masca de prezentare"
 
-#: GFParser.py:651
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "Intrarea &urmatoare"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+msgid "Grid"
+msgstr ""
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr "Campul contine URL-ul imaginii"
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr "Campul contine o codare PIL a imaginii"
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr ""
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr ""
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr ""
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr ""
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr ""
 
-#: GFParser.py:714
+#: GFParser.py:977
+msgid "Image"
+msgstr ""
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr "Camputl contine URL-ul componentei"
 
-#: GFParser.py:715
+#: GFParser.py:1005
 #, fuzzy
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr "Camputl contine URL-ul componentei"
 
-#: GFParser.py:783 GFParser.py:824
-msgid "Description field"
-msgstr "Campul de descriere"
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
 
-#: GFParser.py:788
-msgid "Own ID field"
-msgstr "Campul cu ID-ul propriu"
+#: GFParser.py:1060
+msgid "Button"
+msgstr ""
 
-#: GFParser.py:793
-msgid "Parent ID field"
-msgstr "Campul cu ID-ul parintelui"
+#: GFParser.py:1069
+msgid "Options"
+msgstr ""
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
-msgstr "Nume de tabela pentru frunze"
+#: GFParser.py:1084
+msgid "Option"
+msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
-msgstr "ID-ul unui camp"
+#: GFParser.py:1103
+#, fuzzy
+msgid "Form Title"
+msgstr "Titlu"
 
-#: GFParser.py:1063
+#: GFParser.py:1139
+msgid "Form Author"
+msgstr ""
+
+#: GFParser.py:1175
+#, fuzzy
+msgid "Version"
+msgstr "Versiunea %s"
+
+#: GFParser.py:1193
+msgid "Tip"
+msgstr ""
+
+#: GFParser.py:1229
+msgid "Parameter"
+msgstr ""
+
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr ""
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr ""
 
+#: GFParser.py:1313
+msgid "Text Field"
+msgstr ""
+
+#: GFParser.py:1314
+msgid "List Box"
+msgstr ""
+
+#: GFParser.py:1315
+#, fuzzy
+msgid "Drop Down Box"
+msgstr "Casuta combo"
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+#, fuzzy
+msgid "Check Box"
+msgstr "Cutie de marcat"
+
 #: input/GFKeyMapper.py:145
 #, fuzzy
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
@@ -546,24 +864,15 @@
 msgid "Invalid keystroke combination '%(comb)s' in keymap for '%(event)s'"
 msgstr "Combinatie de tastare non-valida '%s' in kemap pentru '%s'"
 
-#: input/displayHandlers/Cursor.py:48
-#, fuzzy
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "Valoare non-valida '%s' pentru camp"
-
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "Valoare non-valida '%s' pentru camp"
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
 msgstr ""
 
 #: input/displayHandlers/DateTime.py:40
 msgid "'%(value)s' is not a valid date-literal"
 msgstr ""
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr "Valoare non-valida '%s' pentru campul pull-down cu cheie"
 
@@ -571,47 +880,39 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr ""
 
-#: uidrivers/_base/UIdriver.py:535
-msgid "GNUe Message"
-msgstr ""
-
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr ""
-
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 msgid "Save all changes to the database."
 msgstr "Salveaza toate editarile in baza de date."
 
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 msgid "Clear form."
 msgstr "Sterge formularul."
 
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr "Sterge formularul si se intoarce la datele d-voastra initiale."
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "Porneste rutina de imprimare a formularului."
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "Paraseste aplicatia."
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "Decupeaza textul selectat"
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "Copiaza textul selectat"
 
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 msgid "Copy the current record to the clipboard."
 msgstr "Copiaza inregistrarea actuala in panou."
 
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
@@ -619,76 +920,76 @@
 "Copiaza inregistrarea actuala in panou. Inregistrarea va fi copiata cu "
 "caractere TAB separand valorile."
 
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "Copiaza ecranul curent in panou ca text simplu."
 
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr "Copiaza din panou in campul actual."
 
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 msgid "Select all text."
 msgstr "Selecteaza intregul text."
 
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr "Duce cursorul la campul logic anterior."
 
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr "Duce cursorul la campul logic urmator."
 
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr "Sare la prima inregistrare in blocul actual."
 
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr "Sare la inregistrarea anterioara in blocul actual."
 
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr "Sare la inregistrarea urmatoare in blocul actual."
 
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr "Sare la ultima inregistrare in blocul actual."
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "Sare la un numar de inregistrare specificat de utilizator."
 
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr "Adauga o inregistrare noua la blocul actual."
 
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "Marcheaza inregistrarea pentru stergere la urmatoarea salvare."
 
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 #, fuzzy
 msgid "Unmark record for removal at next commit."
 msgstr "Marcheaza inregistrarea pentru stergere la urmatoarea salvare."
 
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 msgid "Navigate to the next data block."
 msgstr "Navigeaza la blocul de date urmator."
 
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 msgid "Navigate to the previous data block."
 msgstr "Navigheaza la blocul de date anterior."
 
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 msgid "Navigate to the next page."
 msgstr "Navigheaza la pagina urmatoare."
 
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 msgid "Navigate to the previous page."
 msgstr "Navigheaza la pagina anterioara."
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
@@ -696,7 +997,7 @@
 "Trece la modul de cautare. Selectati 'Executa cautarea' dupa ce v-ati "
 "introdus criteriile."
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
@@ -704,252 +1005,262 @@
 "Trece la modul de cautare (daca e nevoie) si reface ultimii parametri de "
 "cautare. Selectati 'Executa cautarea' indata ce v-ati introdus criteriile."
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr "Paraseste modul de cautare fara a cauta."
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr "Executa cautarea si afiseaza rezultatele."
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "Afiseaza informatii despre GNUe Forms."
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr "Afiseaza legaturile la taste folosite actual."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&Fisier"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 msgid "&Save Changes"
 msgstr "&Salveaza editarile"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 msgid "&Revert Changes"
 msgstr "&Reverseaza editarile"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "Im&prima"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "In&chide"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&Editare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "Dec&upeaza"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "&Copiaza in panou"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "Copiaza din &panou"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 msgid "Select &All"
 msgstr "Selecte&aza Tot"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 msgid "&Insert New Record"
 msgstr "Adauga &inregistrare noua"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 msgid "&Delete Current Record"
 msgstr "&Sterge inregistrarea actuala"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 #, fuzzy
 msgid "&Undelete Current Record"
 msgstr "&Sterge inregistrarea actuala"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr "&Navigare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 msgid "&Next Entry"
 msgstr "Intrarea &urmatoare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 msgid "&Previous Entry"
 msgstr "Intrarea &anterioara"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 msgid "Next &Record"
 msgstr "In&registrarea urmatoare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 msgid "Previous R&ecord"
 msgstr "Inr&egistrarea anterioara"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 msgid "&First Record"
 msgstr "&Prima inregistrare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 msgid "&Last Record"
 msgstr "&Ultima inregistrare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 msgid "&Go to record..."
 msgstr "&Du-te la inregistrarea..."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr "&Blocul urmator"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 msgid "Previous Bl&ock"
 msgstr "Bl&ocul anterior"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 msgid "Next P&age"
 msgstr "Pa&gina urmatoare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 msgid "Pre&vious Page"
 msgstr "Pagina ante&rioara"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 msgid "&Search"
 msgstr "Cau&ta"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 msgid "Enter Query Mode"
 msgstr "Intra in modul de cautare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr "Iesi din modul de cautare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 msgid "Repeat Last Query"
 msgstr "Repeta ultima cautare"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 msgid "Perform Query"
 msgstr "Executa cautarea"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "&Ajutor"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 msgid "About..."
 msgstr "Despre..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 msgid "Save Changes"
 msgstr "Salveaza editarile"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 msgid "Insert New Record"
 msgstr "Adauga inregistrare noua"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 msgid "Delete Current Record"
 msgstr "Sterge inregistrarea actuala"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "Prima inregistrare"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "Inregistrarea anterioara"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "Inregistarea urmatoare"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "Ultima inregistrare"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 msgid "Go to record..."
 msgstr "Du-te la inregistrarea..."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 msgid "Enter Search Mode"
 msgstr "Intra in modul de cautare"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 msgid "Perform Search"
 msgstr "Executa cautarea"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 #, fuzzy
 msgid "Print Form"
 msgstr "Im&prima"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 msgid "Revert Changes"
 msgstr "Reverseaza schimbarile"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 msgid "Close"
 msgstr "Inchide"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr ""
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 msgid "Save"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 #, fuzzy
 msgid "Revert"
 msgstr "Reverseaza schimbarile"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 #, fuzzy
 msgid "Delete"
 msgstr "Standard"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 msgid "Query"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr ""
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "Alta data..."
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 #, fuzzy
 msgid "Exit"
 msgstr "&Editare"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr ""
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr ""
+
 #: uidrivers/gtk2/UIdriver.py:42
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
 msgstr ""
@@ -962,22 +1273,23 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr "Driver-ul GNUe-Forms pentru GTK cere PyGTK si GTK 2.x."
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 msgid "GNUe Application Error"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -985,142 +1297,137 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 #, fuzzy
 msgid "Error"
 msgstr "Eroare: %s"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 #, fuzzy
 msgid "About %s"
 msgstr "Despre..."
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 #, fuzzy
 msgid "Version:"
 msgstr "Versiunea %s"
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 msgid "Driver:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 msgid " Form Information "
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 msgid "Name:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 msgid "Author:"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 #, fuzzy
 msgid "Description:"
 msgstr "Campul de descriere"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "Versiunea %s"
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
+msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "Protejat de GNU General Public Licence 2.0"
+#: uidrivers/qt3/UIdriver.py:36
+msgid "The GNUe-Forms QT3 driver requires PyQT."
+msgstr "Driver-ul GNUe-Forms pentru Qt3 cere PyQt."
 
-#: uidrivers/qt/ToolBar.py:36
-msgid "Forms Navigation"
-msgstr "Navigarea Forms"
-
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
+#: uidrivers/qt3/dialogs.py:113
+msgid "<< Detail"
 msgstr ""
-"Am nevoie de login pentru\n"
-"\"%s\""
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr "Am nevoie de login pentru %s"
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
+#, fuzzy
+msgid "Version: %s"
+msgstr "Versiunea %s"
 
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: Login la %s"
-
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr "Login"
-
-#: uidrivers/qt/UIdriver.py:39
-msgid "The GNUe-Forms QT3 driver requires PyQT."
-msgstr "Driver-ul GNUe-Forms pentru Qt3 cere PyQt."
-
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
 msgid "Information"
 msgstr ""
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 #, fuzzy
 msgid "Warning"
 msgstr "Imprimez"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 msgid "Question"
 msgstr ""
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr "Driver-ul GNUe-Forms pentru Win32 cere PyWin32."
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr ""
+#: uidrivers/win32/dialogs.py:359
+#, fuzzy
+msgid "GNUe Forms"
+msgstr "GNU Enterprise Forms"
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+#, fuzzy
+msgid "Form Information"
+msgstr "Navigarea Forms"
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1128,28 +1435,22 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 msgid ""
 "An unexpected error has occured:\r\n"
 "%s.\r\n"
 "Please contact your system administrator."
 msgstr ""
 
-#: uidrivers/win32/dialogs.py:356
-#, fuzzy
-msgid "GNUe Forms"
-msgstr "GNU Enterprise Forms"
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr ""
 
-#: uidrivers/win32/dialogs.py:364
-#, fuzzy
-msgid "Form Information"
-msgstr "Navigarea Forms"
-
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid "Printing"
 msgstr "Imprimez"
 
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
@@ -1157,18 +1458,30 @@
 "Au fost probleme cu imprimarea.\n"
 "Verificati-va setarea acesteia si incercati din nou."
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 msgid "Login: "
 msgstr "Login: "
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr "Pagina 1 din 1"
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr "GNU Enterprise Forms"
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "Versiunea %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr ""
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "Protejat de GNU General Public Licence 2.0"
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr "Driver-ul GNUe-Forms pentru wx cere wxPython"
@@ -1177,26 +1490,101 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr "Codarea %s nu e suportata de driver-ul UI wx"
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
-msgstr ""
+#: uidrivers/wx26/UIdriver.py:35
+#, fuzzy
+msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
+msgstr "Driver-ul GNUe-Forms pentru GTK cere PyGTK si GTK 2.x."
 
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
+#~ msgid "Trigger Exception :\n"
+#~ msgstr "Exceptie trigger: \n"
 
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr ""
+#~ "Datele n-au fost salvate. Salvati sau stergeti formularul pentru a "
+#~ "continua."
+
+#~ msgid "Form not in query mode"
+#~ msgstr "Formualrul nu e in mod cautare"
+
 #, fuzzy
-msgid "Version: %s"
-msgstr "Versiunea %s"
+#~ msgid ""
+#~ "Database query error:\n"
+#~ "%(exType)s\n"
+#~ "%(exMessage)s"
+#~ msgstr ""
+#~ "Eroare la cautarea in baza de date:\n"
+#~ "%s\n"
+#~ "%s "
 
-#: uidrivers/wx26/UIdriver.py:38
+#~ msgid "Form trigger returned error"
+#~ msgstr "Un trigger al formularului a returnat o eroare"
+
+#~ msgid "Block trigger returned error"
+#~ msgstr "Un trigger a blocului a returnat o eroare"
+
 #, fuzzy
-msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
-msgstr "Driver-ul GNUe-Forms pentru GTK cere PyGTK si GTK 2.x."
+#~ msgid "You cannot do that in query mode."
+#~ msgstr "Formualrul nu e in mod cautare"
 
 #, fuzzy
+#~ msgid "There are no navigable widgets in this form. Unable to display."
+#~ msgstr ""
+#~ "Nu sunt elemente de control navigabile in acest formular.  N-am ce sa "
+#~ "afisez."
+
+#~ msgid "Current data is saved"
+#~ msgstr "Datele curente sunt salvate"
+
+#~ msgid "Block does not allow delete"
+#~ msgstr "Blocul nu permite stergerea"
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "Blocul nu permite adaugarea"
+
+#, fuzzy
+#~ msgid "As Entered"
+#~ msgstr "Centrat"
+
+# FIXME -- need a word for sloppy
+#~ msgid "Ignore Case on Queries"
+#~ msgstr "Ignora marimea literelor la cautare"
+
+#~ msgid "Description field"
+#~ msgstr "Campul de descriere"
+
+#~ msgid "Own ID field"
+#~ msgstr "Campul cu ID-ul propriu"
+
+#~ msgid "Parent ID field"
+#~ msgstr "Campul cu ID-ul parintelui"
+
+#~ msgid "Table hint for leaf tables"
+#~ msgstr "Nume de tabela pentru frunze"
+
+#~ msgid "ID of a field"
+#~ msgstr "ID-ul unui camp"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "Valoare non-valida '%s' pentru camp"
+
+#~ msgid "Forms Navigation"
+#~ msgstr "Navigarea Forms"
+
 #~ msgid ""
+#~ "Login required for\n"
+#~ "\"%s\""
+#~ msgstr ""
+#~ "Am nevoie de login pentru\n"
+#~ "\"%s\""
+
+#~ msgid "Login required for %s"
+#~ msgstr "Am nevoie de login pentru %s"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: Login la %s"
+
+#, fuzzy
+#~ msgid ""
 #~ "Database commit error:\n"
 #~ "%(exType)s\n"
 #~ "%(exMessage)s"

Modified: trunk/gnue-forms/po/ru.po
===================================================================
--- trunk/gnue-forms/po/ru.po   2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/po/ru.po   2006-11-09 15:33:59 UTC (rev 9021)
@@ -1,7 +1,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNUe-Forms 0.5\n"
-"POT-Creation-Date: 2006-03-27 10:59+CEST\n"
+"POT-Creation-Date: 2006-11-09 16:31+CET\n"
 "PO-Revision-Date: $Date$\n"
 "Last-Translator: Dmitry Sorokin <address@hidden>\n"
 "MIME-Version: 1.0\n"
@@ -36,11 +36,11 @@
 msgid "Unable to load UI driver: %s"
 msgstr "�� ���� ��������� UI �������: %s"
 
-#: GFClient.py:195
+#: GFClient.py:200
 msgid "No Forms Definition File Specified."
 msgstr "���� �������� ����� (.gfd) �� ������"
 
-#: GFClient.py:221
+#: GFClient.py:226
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
@@ -48,461 +48,793 @@
 "��������� ������������ �������� �������������� GNUe Forms. �� ����� �������\n"
 "��������� ������� � ������� ����� --interface."
 
-#: GFClient.py:224
+#: GFClient.py:229
 msgid "To view general help, run this command with the --help option."
 msgstr "��� ��������� ���������, ��������� ������ ������� � ������ --help"
 
-#: GFClient.py:226
+#: GFClient.py:231
 msgid "User interface command line options:"
 msgstr "����� ��������� ������:"
 
-#: GFForm.py:388
-msgid "Minimum required length %d"
-msgstr "����������� ��������� ����� %d"
+# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
+#: GFForm.py:53
+#, fuzzy
+msgid "Form is read only"
+msgstr "����� ������� � ������ - '������ ������'"
 
-#: GFForm.py:475
-msgid "Trigger Exception :\n"
-msgstr "���������� �������� :\n"
-
-#: GFForm.py:571 GFInstance.py:912
-msgid "Data not saved. Save changes or clear the form to proceed."
+#: GFForm.py:1227 GFForm.py:1244
+msgid "Recordnumber"
 msgstr ""
-"������ �� ���������. ��������� ��������� ��� �������� ����� ��� ����������� "
-"������"
 
-#: GFForm.py:592
+#: GFForm.py:1231
+#, fuzzy
+msgid "Jump to record"
+msgstr "������� �� ������.."
+
+#: GFForm.py:1242
+msgid "Invalid numeric value entered."
+msgstr "������� �������� �������� ��������"
+
+#: GFForm.py:1324 GFForm.py:1352
 msgid "Enter your query criteria."
 msgstr "������� ��������� �������"
 
-#: GFForm.py:610
+#: GFForm.py:1371
 msgid "Query canceled."
 msgstr "������ �������"
 
-#: GFForm.py:643
-msgid "Form not in query mode"
-msgstr "����� �� � ������ �������"
-
-#: GFForm.py:655
-msgid ""
-"Database query error:\n"
-"%(exType)s\n"
-"%(exMessage)s"
-msgstr ""
-
-#: GFForm.py:664
+#: GFForm.py:1407
 msgid "Query returned no results."
 msgstr ""
 
-#: GFForm.py:666
+#: GFForm.py:1409
 msgid "Query successful."
 msgstr "������ �������� �������"
 
-# ../../forms/src/GFForm.py:459 ../../forms/src/GFInstance.py:378 :394
-#: GFForm.py:684 GFInstance.py:935 GFInstance.py:971
-msgid "Form is readonly"
-msgstr "����� ������� � ������ - '������ ������'"
+#: GFForm.py:1870
+#, fuzzy
+msgid "Save changes?"
+msgstr "��������� ���������"
 
-#: GFForm.py:701
-msgid "Form trigger returned error"
-msgstr "������� ����� ���������� � �������"
-
-#: GFForm.py:712
-msgid "Block trigger returned error"
-msgstr "������� ����� ���������� � �������"
-
-#: GFForm.py:1128 GFForm.py:1142 GFForm.py:1156 GFForm.py:1170 GFForm.py:1185
-#: GFInstance.py:802
-msgid "You cannot do that in query mode."
-msgstr "������ �������� ���������� � ������ �������"
-
-#: GFInstance.py:60
+#: GFInstance.py:53
 msgid "Unable to open file: %s"
 msgstr "�� ���� ������� ����: %s"
 
-#: GFInstance.py:354
-msgid "There are no navigable widgets in this form. Unable to display."
+#: GFObjects/GFBlock.py:47
+msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
+msgstr "�������� ������ '%(datasource)s � ����� '%(block)s' �� ������"
+
+#: GFObjects/GFField.py:38
+msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
 msgstr ""
 
-#: GFInstance.py:812 GFInstance.py:1030
-msgid "Invalid numeric value entered."
-msgstr "������� �������� �������� ��������"
+#: GFObjects/GFField.py:46
+#, fuzzy
+msgid "Datasource '%(name)s' not found"
+msgstr "�������� ������ '%s' �� ������"
 
-#: GFInstance.py:917
-msgid "Current data is saved"
-msgstr "������� ������ ���������"
+#: GFObjects/GFField.py:53 input/displayHandlers/Cursor.py:48
+#, fuzzy
+msgid "Invalid value '%(value)s' for field '%(field)s"
+msgstr "������������ �������� '%s' ��� ���� "
 
-#: GFInstance.py:938
-msgid "Block does not allow delete"
-msgstr "���� �� ��������� ��������"
+#: GFObjects/GFLayout.py:42
+msgid "%(item)s '%(name)s' not allowed in a managed layout"
+msgstr ""
 
-#: GFInstance.py:974
-msgid "Block does not allow insert"
-msgstr "���� �� ��������� �������"
+#: GFObjects/GFLayout.py:45
+msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
+msgstr ""
 
-#: GFInstance.py:1019
-msgid "Recordnumber"
+#: GFObjects/GFLayout.py:49
+msgid "%(item)s '%(name)s' not allowed in a positioned layout"
 msgstr ""
 
-#: GFInstance.py:1020
+#: GFObjects/GFObj.py:41
 #, fuzzy
-msgid "Jump to record"
-msgstr "������� �� ������.."
-
-#: GFObjects/GFBlock.py:226
-msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
-msgstr "�������� ������ '%(datasource)s � ����� '%(block)s' �� ������"
-
-#: GFObjects/GFEntry.py:97
-msgid "Entry references non-existent block '%s'"
+msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
 msgstr "���� ����� ��������� �� �������������� ���� '%s'"
 
-#: GFObjects/GFEntry.py:105
-msgid "Entry references non-existent field '%s'"
+#: GFObjects/GFObj.py:52
+#, fuzzy
+msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
 msgstr "���� ����� ��������� �� �������������� ���� '%s'"
 
-#: GFObjects/GFField.py:213
-msgid "Datasource '%s' not found"
-msgstr "�������� ������ '%s' �� ������"
+#: GFObjects/GFParameter.py:37
+msgid "Parameter '%(name)s' not defined in the form"
+msgstr ""
 
-#: GFObjects/GFScrollBar.py:36
+#: GFParser.py:86
 #, fuzzy
-msgid "Scrollbar references a non-existent block '%s'"
-msgstr "���� ����� ��������� �� �������������� ���� '%s'"
+msgid "Form"
+msgstr "����������"
 
-#: GFParser.py:90
+#: GFParser.py:91
 msgid "Title"
 msgstr "���������"
 
-#: GFParser.py:95 GFParser.py:370
+#: GFParser.py:96
 msgid "Read Only"
 msgstr "������ ������"
 
-#: GFParser.py:102
+#: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:198
+#: GFParser.py:210 GFParser.py:296 GFParser.py:1121
 msgid "Name"
 msgstr "�������� : "
 
-#: GFParser.py:106
+#: GFParser.py:107
 msgid "Style"
 msgstr "�����"
 
-#: GFParser.py:108 GFParser.py:173
+#: GFParser.py:109 GFParser.py:322
 msgid "Normal"
 msgstr "����������"
 
-#: GFParser.py:109
+#: GFParser.py:110 GFParser.py:1248
 msgid "Dialog"
 msgstr "������"
 
-#: GFParser.py:137
+#: GFParser.py:119
+msgid "A menu or submenu containing menu items and/or submenus"
+msgstr ""
+
+#: GFParser.py:123
+msgid "Menu"
+msgstr ""
+
+#: GFParser.py:127 GFParser.py:144 GFParser.py:199 GFParser.py:211
+msgid "Name of this element"
+msgstr ""
+
+#: GFParser.py:132 GFParser.py:154 GFParser.py:220 GFParser.py:497
+msgid "Label"
+msgstr ""
+
+#: GFParser.py:133
+msgid "Text to use if this is a submenu"
+msgstr ""
+
+#: GFParser.py:136
+msgid "A menu item that fires a trigger when selected"
+msgstr ""
+
+#: GFParser.py:139
+msgid "Menu Item"
+msgstr ""
+
+#: GFParser.py:149 GFParser.py:216
+msgid "Icon"
+msgstr ""
+
+#: GFParser.py:150
+msgid "Icon to display besides this menu item"
+msgstr ""
+
+#: GFParser.py:155
+msgid "Text to use for this menu item"
+msgstr ""
+
+#: GFParser.py:158 GFParser.py:224 GFParser.py:1157
+#, fuzzy
+msgid "Description"
+msgstr "��������:"
+
+#: GFParser.py:159
+msgid "Text to display in the status bar for this menu item"
+msgstr ""
+
+#: GFParser.py:164 GFParser.py:229
+msgid "Action"
+msgstr ""
+
+#: GFParser.py:165
+msgid "Name of the trigger to run whenever this menu item is selected"
+msgstr ""
+
+#: GFParser.py:171 GFParser.py:236
+msgid "Action Off"
+msgstr ""
+
+#: GFParser.py:172
+msgid "Name of the trigger to run whenever this menu item is switched to off"
+msgstr ""
+
+#: GFParser.py:178 GFParser.py:243
+#, fuzzy
+msgid "State"
+msgstr "���������"
+
+#: GFParser.py:179
+msgid "Determines whether this menu item will be switched on by default"
+msgstr ""
+
+#: GFParser.py:185 GFParser.py:250
+msgid "Enabled"
+msgstr ""
+
+#: GFParser.py:186
+msgid "Determines whether this menu item will be enabled by default"
+msgstr ""
+
+#: GFParser.py:192
+msgid "A toolbar containing tool buttons"
+msgstr ""
+
+#: GFParser.py:195
+msgid "Toolbar"
+msgstr ""
+
+#: GFParser.py:204
+msgid "A button on a toolbar"
+msgstr ""
+
+#: GFParser.py:207
+msgid "Toolbar Button"
+msgstr ""
+
+#: GFParser.py:217
+msgid "Icon to display on the button"
+msgstr ""
+
+#: GFParser.py:221
+msgid "Text to display on the button"
+msgstr ""
+
+#: GFParser.py:225
+msgid "Text to display in a tooltip window"
+msgstr ""
+
+#: GFParser.py:230
+msgid "Name of the trigger to run whenever this button is clicked"
+msgstr ""
+
+#: GFParser.py:237
+msgid "Name of the trigger to run whenever this button is switched to off"
+msgstr ""
+
+#: GFParser.py:244
+msgid "Determines whether this button will be switched on by default"
+msgstr ""
+
+#: GFParser.py:251
+msgid "Determines whether this button will be enabled by default"
+msgstr ""
+
+#: GFParser.py:263
+#, fuzzy
+msgid "Logic"
+msgstr "����"
+
+#: GFParser.py:273
+msgid "Layout"
+msgstr ""
+
+#: GFParser.py:279
 msgid "Tab Location"
 msgstr "������������ ��������"
 
-#: GFParser.py:139
+#: GFParser.py:281
 msgid "No tabs"
 msgstr ""
 
-#: GFParser.py:140
+#: GFParser.py:282
 msgid "Left tabs"
 msgstr "�������� �����"
 
-#: GFParser.py:141
+#: GFParser.py:283
 msgid "Right tabs"
 msgstr "�������� ������"
 
-#: GFParser.py:142
+#: GFParser.py:284
 msgid "Botton tabs"
 msgstr "�������� �����"
 
-#: GFParser.py:143
+#: GFParser.py:285
 msgid "Top tabs"
 msgstr "�������� ������"
 
-#: GFParser.py:206 GFParser.py:324 GFParser.py:537 GFParser.py:774
+#: GFParser.py:332
+#, fuzzy
+msgid "Page"
+msgstr "��&������"
+
+#: GFParser.py:355 GFParser.py:492 GFParser.py:737 GFParser.py:1045
 msgid "Row Spacing"
 msgstr ""
 
-#: GFParser.py:213
+#: GFParser.py:361
+msgid "Startup state"
+msgstr ""
+
+#: GFParser.py:362
+msgid ""
+"State in which the block will be on form startup. 'Empty' means the block is "
+"filled with a single empty record, 'full' means the block is populated with "
+"the result of a full query."
+msgstr ""
+
+#: GFParser.py:369
+msgid "Empty"
+msgstr ""
+
+#: GFParser.py:370
+msgid "Full"
+msgstr ""
+
+#: GFParser.py:374
 msgid "Transparent Nav"
 msgstr ""
 
-#: GFParser.py:223
+#: GFParser.py:384
 msgid "Auto Create Record"
 msgstr "������� ������"
 
-#: GFParser.py:229
+#: GFParser.py:390
 msgid "Auto Next Record"
 msgstr "��������� ������"
 
-#: GFParser.py:237
+#: GFParser.py:398
 msgid "Auto Commit"
 msgstr "��������������"
 
-#: GFParser.py:244
+#: GFParser.py:405
 msgid "Auto Clear on Commit"
 msgstr "������� ��� ����������"
 
-#: GFParser.py:250 GFParser.py:473 GFParser.py:673
+#: GFParser.py:411 GFParser.py:658 GFParser.py:958
 msgid "Allow Editing"
 msgstr "��������� ��������������"
 
-#: GFParser.py:252 GFParser.py:475 GFParser.py:675
-#: uidrivers/curses/UIdriver.py:269
+#: GFParser.py:413 GFParser.py:660 GFParser.py:681 GFParser.py:960
+#: uidrivers/curses/UIdriver.py:224
 msgid "Yes"
 msgstr "��"
 
-#: GFParser.py:253 GFParser.py:476 GFParser.py:676
-#: uidrivers/curses/UIdriver.py:270
+#: GFParser.py:414 GFParser.py:661 GFParser.py:682 GFParser.py:961
+#: uidrivers/curses/UIdriver.py:225
 msgid "No"
 msgstr "���"
 
-#: GFParser.py:254 GFParser.py:478 GFParser.py:678
+#: GFParser.py:415 GFParser.py:663 GFParser.py:963
 msgid "Update Only"
 msgstr "������ ����������"
 
-#: GFParser.py:255 GFParser.py:479 GFParser.py:679
+#: GFParser.py:416 GFParser.py:664 GFParser.py:964
 msgid "New Records Only"
 msgstr "������ ����� ������"
 
-#: GFParser.py:260
+#: GFParser.py:421
 msgid "Allow Querying"
 msgstr "��������� �������"
 
-#: GFParser.py:265
+#: GFParser.py:426
 msgid "Allow Deletes"
 msgstr "��������� ��������"
 
-#: GFParser.py:270 GFParser.py:738
+#: GFParser.py:431 GFParser.py:1029
 msgid "Navigable"
 msgstr ""
 
-#: GFParser.py:277
+#: GFParser.py:438
 msgid "Prevent Deletes"
 msgstr "��������� �������"
 
-#: GFParser.py:283
+#: GFParser.py:444
 msgid "Prevent Inserts"
 msgstr "��������� ����������"
 
-#: GFParser.py:311
+#: GFParser.py:455
+#, fuzzy
+msgid "Block"
+msgstr "��������� ����"
+
+#: GFParser.py:465
+msgid "The unique ID of the label."
+msgstr ""
+
+#: GFParser.py:469
+msgid "The text to be displayed."
+msgstr ""
+
+#: GFParser.py:474
+msgid "If this label is for a specific object, name it here."
+msgstr ""
+
+#: GFParser.py:479
 msgid "Left"
 msgstr "�����"
 
-#: GFParser.py:312
+#: GFParser.py:480
 msgid "Right"
 msgstr "������"
 
-#: GFParser.py:313
+#: GFParser.py:481
 msgid "Centered"
 msgstr "�� ������"
 
-#: GFParser.py:343
+#: GFParser.py:512
 msgid "Field (Database)"
 msgstr ""
 
-#: GFParser.py:348
-msgid "Max Text Length"
-msgstr "������������ ����� ������"
+#: GFParser.py:516
+#, fuzzy
+msgid "Datatype"
+msgstr "��� ������"
 
-#: GFParser.py:353
-msgid "Min Text Length"
-msgstr "����������� ����� ������"
+#: GFParser.py:517
+msgid "The type of data stored in this field."
+msgstr ""
 
-#: GFParser.py:385
-msgid "As Entered"
+#: GFParser.py:520
+msgid "Text"
+msgstr "�����"
+
+#: GFParser.py:521
+#, fuzzy
+msgid "Number"
+msgstr "��������"
+
+#: GFParser.py:522
+#, fuzzy
+msgid "Date"
+msgstr "��� ������"
+
+#: GFParser.py:523
+#, fuzzy
+msgid "Time"
+msgstr "���������"
+
+#: GFParser.py:524
+#, fuzzy
+msgid "Date and time"
+msgstr "����/�����"
+
+#: GFParser.py:525
+msgid "Boolean"
 msgstr ""
 
-#: GFParser.py:386
+#: GFParser.py:528
+#, fuzzy
+msgid "Length"
+msgstr "�����"
+
+#: GFParser.py:529
+msgid ""
+"Maximum length of data stored in this field. Applies only to fields with a "
+"datatype of 'string' or 'number'. For numbers, this is the total number of "
+"digits, including the fractional digits."
+msgstr ""
+
+#: GFParser.py:536
+#, fuzzy
+msgid "Scale"
+msgstr "���������"
+
+#: GFParser.py:537
+msgid ""
+"Number of fractional digits. Applies only to fields with a datatype of "
+"'number'."
+msgstr ""
+
+#: GFParser.py:542
+#, fuzzy
+msgid "Case"
+msgstr "�����"
+
+#: GFParser.py:543
+msgid ""
+"Convert the value to uppercase/lowercase or leave it as it is. Applies only "
+"to fields with a datatype of 'string'."
+msgstr ""
+
+#: GFParser.py:549
+#, fuzzy
+msgid "Mixed case"
+msgstr "������ �������"
+
+#: GFParser.py:550
 msgid "Upper case"
 msgstr "������� �������"
 
-#: GFParser.py:387
+#: GFParser.py:551
 msgid "Lower case"
 msgstr "������ �������"
 
-#: GFParser.py:393
-msgid "Data Type"
-msgstr "��� ������"
+#: GFParser.py:554
+msgid "Required"
+msgstr ""
 
-#: GFParser.py:395
-msgid "Text"
-msgstr "�����"
+#: GFParser.py:555
+msgid "If set, empty values can not be stored in this field."
+msgstr ""
 
-#: GFParser.py:396
-msgid "Numeric"
-msgstr "��������"
+#: GFParser.py:564
+msgid "Min Text Length"
+msgstr "����������� ����� ������"
 
-#: GFParser.py:397
-msgid "Date/Time"
-msgstr "����/�����"
-
-#: GFParser.py:407
+#: GFParser.py:591
 msgid "F/K Datasource"
 msgstr ""
 
-#: GFParser.py:411
+#: GFParser.py:595
 msgid "F/K Bound Field"
 msgstr ""
 
-#: GFParser.py:417
+#: GFParser.py:601
 msgid "F/K Description Field"
 msgstr ""
 
-#: GFParser.py:427
+#: GFParser.py:611
 msgid "F/K Refresh Method"
 msgstr ""
 
-#: GFParser.py:429
+#: GFParser.py:613
 msgid "On form startup"
 msgstr "��� ������� �����"
 
-#: GFParser.py:430
+#: GFParser.py:614
 msgid "On field modification"
 msgstr "��� ����������� ����"
 
-#: GFParser.py:431
+#: GFParser.py:615
 msgid "On commit"
 msgstr "��� ����������"
 
-#: GFParser.py:437
+#: GFParser.py:621
 msgid "Default (New Records)"
 msgstr ""
 
-#: GFParser.py:444
+#: GFParser.py:628
 msgid "Default to last entry"
 msgstr ""
 
-#: GFParser.py:452
+#: GFParser.py:636
 msgid "Default (Querying)"
 msgstr ""
 
-#: GFParser.py:459
+#: GFParser.py:643
 msgid "Sloppy Queries"
 msgstr ""
 
-#: GFParser.py:466
-msgid "Ignore Case on Queries"
-msgstr "������������ ������� �������� ��� ��������"
+#: GFParser.py:650
+msgid "Perform queries case-sensitive"
+msgstr ""
 
-#: GFParser.py:477 GFParser.py:677
+#: GFParser.py:662 GFParser.py:962
 msgid "Null Only"
 msgstr ""
 
-#: GFParser.py:484
+#: GFParser.py:669
 msgid "Allow Query"
 msgstr "��������� �������"
 
-#: GFParser.py:488
+#: GFParser.py:679
+#, fuzzy
+msgid "Automatic Query"
+msgstr "��������� �������"
+
+#: GFParser.py:683
+msgid "Empty forms only"
+msgstr ""
+
+#: GFParser.py:687
 msgid "Trim left spaces"
 msgstr "������� ������� �����"
 
-#: GFParser.py:494
+#: GFParser.py:693
 msgid "Trim right spaces"
 msgstr "������� ������� ������"
 
-#: GFParser.py:528
+#: GFParser.py:699
+#, fuzzy
+msgid "Field"
+msgstr "&����"
+
+#: GFParser.py:728
 msgid "Focus Order"
 msgstr ""
 
-#: GFParser.py:556
+#: GFParser.py:756
+#, fuzzy
+msgid "Automatic"
+msgstr "��������������"
+
+#: GFParser.py:757
 msgid "Default"
 msgstr ""
 
-#: GFParser.py:557
+#: GFParser.py:758
 msgid "Password/Hidden"
 msgstr ""
 
-#: GFParser.py:558
+#: GFParser.py:759
 msgid "Dropdown/Combo box"
 msgstr "���������� ������"
 
-#: GFParser.py:559
+#: GFParser.py:760
 msgid "Listbox"
 msgstr "������"
 
-#: GFParser.py:560
+#: GFParser.py:761
 msgid "Checkbox"
 msgstr ""
 
-#: GFParser.py:561
+#: GFParser.py:762
+msgid "Multiline-Edit"
+msgstr ""
+
+#: GFParser.py:763
 msgid "Label (non-editable)"
 msgstr ""
 
-#: GFParser.py:572
+#: GFParser.py:774
 msgid "Format Mask"
 msgstr "����� ��������������"
 
-#: GFParser.py:576
+#: GFParser.py:778
 msgid "Input Mask"
 msgstr "����� �����"
 
-#: GFParser.py:580
+#: GFParser.py:782
 msgid "Display Mask"
 msgstr "����� �����������"
 
-#: GFParser.py:651
+#: GFParser.py:788
+#, fuzzy
+msgid "Entry"
+msgstr "&��������� ����"
+
+#: GFParser.py:811
+msgid "Scrollbar"
+msgstr ""
+
+#: GFParser.py:834
+msgid "Box (Vertical)"
+msgstr ""
+
+#: GFParser.py:857
+msgid "Box (Horizontal)"
+msgstr ""
+
+#: GFParser.py:878
+msgid "Box"
+msgstr ""
+
+#: GFParser.py:879
+msgid ""
+"A box is a visual element that draws a box around other visual elements, "
+"thus providing logical separation for them."
+msgstr ""
+
+#: GFParser.py:895
+msgid "Overrides the rows setting defined at the block level."
+msgstr ""
+
+#: GFParser.py:901
+msgid "Grid"
+msgstr ""
+
+#: GFParser.py:902
+msgid "A grid is a layout container grouping fields into repeating rows."
+msgstr ""
+
+#: GFParser.py:913
+msgid "Grid Row"
+msgstr ""
+
+#: GFParser.py:914
+msgid "Contains all elements of a single line in a grid"
+msgstr ""
+
+#: GFParser.py:936
 msgid "Field contains the URL of the image"
 msgstr "���� �������� ����� �����������"
 
-#: GFParser.py:652
+#: GFParser.py:937
 msgid "Field contains a PIL encoding of the image"
 msgstr ""
 
-#: GFParser.py:660
+#: GFParser.py:945
 msgid "Full-size image (no scaling)"
 msgstr ""
 
-#: GFParser.py:661
+#: GFParser.py:946
 msgid "Scale to width"
 msgstr ""
 
-#: GFParser.py:662
+#: GFParser.py:947
 msgid "Scale to height"
 msgstr ""
 
-#: GFParser.py:663
+#: GFParser.py:948
 msgid "Scale width and height (may distort image)"
 msgstr ""
 
-#: GFParser.py:664
+#: GFParser.py:949
 msgid "Use a best-fit algorithm"
 msgstr ""
 
-#: GFParser.py:714
+#: GFParser.py:977
+msgid "Image"
+msgstr ""
+
+#: GFParser.py:1004
 msgid "Field contains the URL of the component"
 msgstr "���� �������� ����� ����������"
 
-#: GFParser.py:715
+#: GFParser.py:1005
 msgid "Field contains the data of the component in Base64 encoding"
 msgstr "���� �������� ������ ���������� � ��������� Base64"
 
-#: GFParser.py:783 GFParser.py:824
-msgid "Description field"
-msgstr "�������� ����"
+#: GFParser.py:1015
+msgid "Embedded Component"
+msgstr ""
 
-#: GFParser.py:788
-msgid "Own ID field"
+#: GFParser.py:1060
+msgid "Button"
 msgstr ""
 
-#: GFParser.py:793
-msgid "Parent ID field"
+#: GFParser.py:1069
+msgid "Options"
 msgstr ""
 
-#: GFParser.py:798
-msgid "Table hint for leaf tables"
+#: GFParser.py:1084
+msgid "Option"
 msgstr ""
 
-#: GFParser.py:819
-msgid "ID of a field"
-msgstr "�������� Id ����"
+#: GFParser.py:1103
+#, fuzzy
+msgid "Form Title"
+msgstr "���������"
 
-#: GFParser.py:1063
+#: GFParser.py:1139
+#, fuzzy
+msgid "Form Author"
+msgstr "�����:"
+
+#: GFParser.py:1175
+#, fuzzy
+msgid "Version"
+msgstr "������:"
+
+#: GFParser.py:1193
+msgid "Tip"
+msgstr ""
+
+#: GFParser.py:1229
+msgid "Parameter"
+msgstr ""
+
+#: GFParser.py:1269
 msgid "M/D Min Child Rows"
 msgstr ""
 
-#: GFParser.py:1074
+#: GFParser.py:1280
 msgid "M/D Max Child Rows"
 msgstr ""
 
+#: GFParser.py:1313
+msgid "Text Field"
+msgstr ""
+
+#: GFParser.py:1314
+#, fuzzy
+msgid "List Box"
+msgstr "������"
+
+#: GFParser.py:1315
+#, fuzzy
+msgid "Drop Down Box"
+msgstr "���������� ������"
+
+#: GFParser.py:1316
+msgid "Label-like Field"
+msgstr ""
+
+#: GFParser.py:1317
+msgid "Check Box"
+msgstr ""
+
 #: input/GFKeyMapper.py:145
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
 msgstr ""
@@ -511,24 +843,15 @@
 msgid "Invalid keystroke combination '%(comb)s' in keymap for '%(event)s'"
 msgstr ""
 
-#: input/displayHandlers/Cursor.py:48
-#, fuzzy
-msgid "Invalid value '%(value)s' for field '%(field)s"
-msgstr "������������ �������� '%s' ��� ���� "
+#: input/displayHandlers/Cursor.py:54
+msgid "Minimum required length %d"
+msgstr "����������� ��������� ����� %d"
 
-#: input/displayHandlers/Cursor.py:246
-msgid "Invalid value '%s' for field"
-msgstr "������������ �������� '%s' ��� ���� "
-
-#: input/displayHandlers/Cursor.py:258
-msgid "Invalid input: '%s'"
-msgstr "�������� ����: '%s'"
-
 #: input/displayHandlers/DateTime.py:40
 msgid "'%(value)s' is not a valid date-literal"
 msgstr ""
 
-#: input/displayHandlers/Dropdown.py:72 input/displayHandlers/Listbox.py:69
+#: input/displayHandlers/Listbox.py:69
 msgid "Invalid value '%s' for keyed pull-down field"
 msgstr "������������ �������� �������� '%s' ��� �������� ����������� ������"
 
@@ -536,49 +859,41 @@
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
 msgstr "������������ ������� %(name) �� ����� ���������� ������ %(method)s"
 
-#: uidrivers/_base/UIdriver.py:535
-msgid "GNUe Message"
-msgstr ""
-
-#: uidrivers/_base/UIdriver.py:575
-msgid "Unknown"
-msgstr ""
-
 # ../../forms/src/uidrivers/wx/UIdriver.py:205 :273
-#: uidrivers/_base/UserActions.py:104 uidrivers/_base/UserActions.py:105
+#: uidrivers/_base/UserActions.py:106 uidrivers/_base/UserActions.py:107
 msgid "Save all changes to the database."
 msgstr "��������� ��� ��������� � ���� ������"
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:207 :286 :286
-#: uidrivers/_base/UserActions.py:109
+#: uidrivers/_base/UserActions.py:111
 msgid "Clear form."
 msgstr "�������� �����"
 
-#: uidrivers/_base/UserActions.py:110
+#: uidrivers/_base/UserActions.py:112
 msgid "Clear form and revert back to your original data."
 msgstr "�������� ����� � ������������ �������� ������"
 
-#: uidrivers/_base/UserActions.py:114 uidrivers/_base/UserActions.py:115
+#: uidrivers/_base/UserActions.py:116 uidrivers/_base/UserActions.py:117
 msgid "Perform print routine for this form."
 msgstr "��������� ��������� ������ ��� ������ �����"
 
-#: uidrivers/_base/UserActions.py:119 uidrivers/_base/UserActions.py:120
+#: uidrivers/_base/UserActions.py:121 uidrivers/_base/UserActions.py:122
 msgid "Leave the application."
 msgstr "������� ����������"
 
-#: uidrivers/_base/UserActions.py:124 uidrivers/_base/UserActions.py:125
+#: uidrivers/_base/UserActions.py:126 uidrivers/_base/UserActions.py:127
 msgid "Cut the selected text"
 msgstr "�������� ���������� �����"
 
-#: uidrivers/_base/UserActions.py:129 uidrivers/_base/UserActions.py:130
+#: uidrivers/_base/UserActions.py:131 uidrivers/_base/UserActions.py:132
 msgid "Copy the selected text"
 msgstr "����������� ���������� �����"
 
-#: uidrivers/_base/UserActions.py:134
+#: uidrivers/_base/UserActions.py:136
 msgid "Copy the current record to the clipboard."
 msgstr "����������� ������� ������ � ����� ������"
 
-#: uidrivers/_base/UserActions.py:135
+#: uidrivers/_base/UserActions.py:137
 msgid ""
 "Copy the current record to the clipboard. The record is copied with tabs "
 "separating values."
@@ -586,78 +901,78 @@
 "����������� ������� ������ � �����. ��������� �������� ������ ����������� "
 "�������� ���������."
 
-#: uidrivers/_base/UserActions.py:139 uidrivers/_base/UserActions.py:140
+#: uidrivers/_base/UserActions.py:141 uidrivers/_base/UserActions.py:142
 msgid "Copy the current screen to the clipboard as plain text."
 msgstr "���������� ������� ����� � �������� ��� �����"
 
-#: uidrivers/_base/UserActions.py:144 uidrivers/_base/UserActions.py:145
+#: uidrivers/_base/UserActions.py:146 uidrivers/_base/UserActions.py:147
 msgid "Paste text into the current field."
 msgstr "�������� ����� � ������� ����."
 
-#: uidrivers/_base/UserActions.py:149 uidrivers/_base/UserActions.py:150
+#: uidrivers/_base/UserActions.py:151 uidrivers/_base/UserActions.py:152
 msgid "Select all text."
 msgstr "�������� ���"
 
-#: uidrivers/_base/UserActions.py:154 uidrivers/_base/UserActions.py:155
+#: uidrivers/_base/UserActions.py:156 uidrivers/_base/UserActions.py:157
 msgid "Move to the previous logical field."
 msgstr "������� � ����������� ����."
 
-#: uidrivers/_base/UserActions.py:159 uidrivers/_base/UserActions.py:160
+#: uidrivers/_base/UserActions.py:161 uidrivers/_base/UserActions.py:162
 msgid "Move to the next logical field."
 msgstr "������� � ���������� ����."
 
-#: uidrivers/_base/UserActions.py:164 uidrivers/_base/UserActions.py:165
+#: uidrivers/_base/UserActions.py:166 uidrivers/_base/UserActions.py:167
 msgid "Jump to the first record in the current block."
 msgstr "������� � ������ ������ � ������� �����"
 
-#: uidrivers/_base/UserActions.py:169 uidrivers/_base/UserActions.py:170
+#: uidrivers/_base/UserActions.py:171 uidrivers/_base/UserActions.py:172
 msgid "Jump to the previous record in the current block."
 msgstr "������� � ���������� ������ � ������� �����"
 
-#: uidrivers/_base/UserActions.py:174 uidrivers/_base/UserActions.py:175
+#: uidrivers/_base/UserActions.py:176 uidrivers/_base/UserActions.py:177
 msgid "Jump to the next record in the current block."
 msgstr "������� � ��������� ������ � ������� �����"
 
-#: uidrivers/_base/UserActions.py:179 uidrivers/_base/UserActions.py:180
+#: uidrivers/_base/UserActions.py:181 uidrivers/_base/UserActions.py:182
 msgid "Jump to the last record in the current block."
 msgstr "������� � ��������� ������ � ������� �����"
 
-#: uidrivers/_base/UserActions.py:184 uidrivers/_base/UserActions.py:186
+#: uidrivers/_base/UserActions.py:186 uidrivers/_base/UserActions.py:188
 msgid "Prompts for a record number to which the system should jump."
 msgstr "������� ����� ������ ��� ��������"
 
-#: uidrivers/_base/UserActions.py:190 uidrivers/_base/UserActions.py:191
+#: uidrivers/_base/UserActions.py:192 uidrivers/_base/UserActions.py:193
 msgid "Insert a new record into the current block."
 msgstr "������� ����� ������ � ������� �����"
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:195 uidrivers/_base/UserActions.py:196
+#: uidrivers/_base/UserActions.py:197 uidrivers/_base/UserActions.py:198
 msgid "Mark record for removal at next commit."
 msgstr "�������� ������ �� ��������"
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:237 :275
-#: uidrivers/_base/UserActions.py:201 uidrivers/_base/UserActions.py:202
+#: uidrivers/_base/UserActions.py:203 uidrivers/_base/UserActions.py:204
 #, fuzzy
 msgid "Unmark record for removal at next commit."
 msgstr "�������� ������ �� ��������"
 
-#: uidrivers/_base/UserActions.py:206 uidrivers/_base/UserActions.py:207
+#: uidrivers/_base/UserActions.py:208 uidrivers/_base/UserActions.py:209
 msgid "Navigate to the next data block."
 msgstr "������� �� ��������� ���� ������"
 
-#: uidrivers/_base/UserActions.py:211 uidrivers/_base/UserActions.py:212
+#: uidrivers/_base/UserActions.py:213 uidrivers/_base/UserActions.py:214
 msgid "Navigate to the previous data block."
 msgstr "������� � ����������� ����� ������"
 
-#: uidrivers/_base/UserActions.py:216 uidrivers/_base/UserActions.py:217
+#: uidrivers/_base/UserActions.py:218 uidrivers/_base/UserActions.py:219
 msgid "Navigate to the next page."
 msgstr "������� �� ��������� ��������"
 
-#: uidrivers/_base/UserActions.py:221 uidrivers/_base/UserActions.py:222
+#: uidrivers/_base/UserActions.py:223 uidrivers/_base/UserActions.py:224
 msgid "Navigate to the previous page."
 msgstr "������� �� ���������� ��������"
 
-#: uidrivers/_base/UserActions.py:226 uidrivers/_base/UserActions.py:227
+#: uidrivers/_base/UserActions.py:228 uidrivers/_base/UserActions.py:229
 msgid ""
 "Switch to query mode. Select Execute Query once your criteria has been "
 "entered."
@@ -665,7 +980,7 @@
 "������������ � ����� �������. ����� ����� ��������� ������ �������� "
 "��������� ������.������"
 
-#: uidrivers/_base/UserActions.py:238 uidrivers/_base/UserActions.py:239
+#: uidrivers/_base/UserActions.py:240 uidrivers/_base/UserActions.py:241
 msgid ""
 "Switch to query mode (if not already) and retrieve the last query "
 "parameters. Select Execute Query once your criteria has been entered."
@@ -674,249 +989,259 @@
 "��������� ����������� �������. ����� ����� ��������� ������ �������� "
 "��������� ������"
 
-#: uidrivers/_base/UserActions.py:243 uidrivers/_base/UserActions.py:244
+#: uidrivers/_base/UserActions.py:245 uidrivers/_base/UserActions.py:246
 msgid "Cancel query mode."
 msgstr "����� �� ������ ��������"
 
-#: uidrivers/_base/UserActions.py:248 uidrivers/_base/UserActions.py:249
+#: uidrivers/_base/UserActions.py:250 uidrivers/_base/UserActions.py:251
 msgid "Perform a query and show the results."
 msgstr "��������� ������ � �������� ����������"
 
-#: uidrivers/_base/UserActions.py:253 uidrivers/_base/UserActions.py:254
+#: uidrivers/_base/UserActions.py:255 uidrivers/_base/UserActions.py:256
 msgid "Display info about GNUe Forms."
 msgstr "�������� ��������� � GNUe Forms"
 
-#: uidrivers/_base/UserActions.py:258 uidrivers/_base/UserActions.py:259
+#: uidrivers/_base/UserActions.py:260 uidrivers/_base/UserActions.py:261
 msgid "Display the keystroke bindings currently in use."
 msgstr "�������� ������� ��������� ������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:146
+#: uidrivers/_base/widgets/_base.py:46
+msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
+msgstr ""
+
+#: uidrivers/_base/widgets/_base.py:58
+msgid "Widget %(type)s '%(name)s' has an invalid width or height"
+msgstr ""
+
+#: uidrivers/_commonGuiToolkit/MenuBar.py:158
 msgid "&File"
 msgstr "&����"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:147
+#: uidrivers/_commonGuiToolkit/MenuBar.py:159
 msgid "&Save Changes"
 msgstr "&��������� ���������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:148
+#: uidrivers/_commonGuiToolkit/MenuBar.py:160
 msgid "&Revert Changes"
 msgstr "&�������� ���������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:150
+#: uidrivers/_commonGuiToolkit/MenuBar.py:162
 msgid "&Print"
 msgstr "&������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:152
+#: uidrivers/_commonGuiToolkit/MenuBar.py:164
 msgid "&Close"
 msgstr "&�����"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:154
+#: uidrivers/_commonGuiToolkit/MenuBar.py:166
 msgid "&Edit"
 msgstr "&������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:155
+#: uidrivers/_commonGuiToolkit/MenuBar.py:167
 msgid "C&ut"
 msgstr "&��������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:156
+#: uidrivers/_commonGuiToolkit/MenuBar.py:168
 msgid "&Copy"
 msgstr "&����������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:160
+#: uidrivers/_commonGuiToolkit/MenuBar.py:172
 msgid "&Paste"
 msgstr "��&������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:161
+#: uidrivers/_commonGuiToolkit/MenuBar.py:173
 msgid "Select &All"
 msgstr "�������� ���"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:163
+#: uidrivers/_commonGuiToolkit/MenuBar.py:175
 msgid "&Insert New Record"
 msgstr "&�������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:165
+#: uidrivers/_commonGuiToolkit/MenuBar.py:177
 msgid "&Delete Current Record"
 msgstr "&������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:166
+#: uidrivers/_commonGuiToolkit/MenuBar.py:178
 #, fuzzy
 msgid "&Undelete Current Record"
 msgstr "&������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:168
+#: uidrivers/_commonGuiToolkit/MenuBar.py:180
 msgid "&Navigation"
 msgstr "&�������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:169
+#: uidrivers/_commonGuiToolkit/MenuBar.py:181
 msgid "&Next Entry"
 msgstr "&��������� ����"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:170
+#: uidrivers/_commonGuiToolkit/MenuBar.py:182
 msgid "&Previous Entry"
 msgstr "&���������� ����"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:172
+#: uidrivers/_commonGuiToolkit/MenuBar.py:184
 msgid "Next &Record"
 msgstr "��������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:173
+#: uidrivers/_commonGuiToolkit/MenuBar.py:185
 msgid "Previous R&ecord"
 msgstr "���������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:174
+#: uidrivers/_commonGuiToolkit/MenuBar.py:186
 msgid "&First Record"
 msgstr "������ ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:175
+#: uidrivers/_commonGuiToolkit/MenuBar.py:187
 msgid "&Last Record"
 msgstr "��������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:176
+#: uidrivers/_commonGuiToolkit/MenuBar.py:188
 msgid "&Go to record..."
 msgstr "������� �� ������.."
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:178
+#: uidrivers/_commonGuiToolkit/MenuBar.py:190
 msgid "Next &Block"
 msgstr "��������� ����"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:179
+#: uidrivers/_commonGuiToolkit/MenuBar.py:191
 msgid "Previous Bl&ock"
 msgstr "���������� ����"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:181
+#: uidrivers/_commonGuiToolkit/MenuBar.py:193
 msgid "Next P&age"
 msgstr "��������� ��������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:182
+#: uidrivers/_commonGuiToolkit/MenuBar.py:194
 msgid "Pre&vious Page"
 msgstr "���������� ��������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:184
+#: uidrivers/_commonGuiToolkit/MenuBar.py:196
 msgid "&Search"
 msgstr "&�������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:185
+#: uidrivers/_commonGuiToolkit/MenuBar.py:197
 msgid "Enter Query Mode"
 msgstr "����������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:186
+#: uidrivers/_commonGuiToolkit/MenuBar.py:198
 msgid "Cancel Query Mode"
 msgstr "�������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:188
+#: uidrivers/_commonGuiToolkit/MenuBar.py:200
 msgid "Repeat Last Query"
 msgstr "��������� ��������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:190
+#: uidrivers/_commonGuiToolkit/MenuBar.py:202
 msgid "Perform Query"
 msgstr "��������� ������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:192
+#: uidrivers/_commonGuiToolkit/MenuBar.py:204
 msgid "&Help"
 msgstr "&�������"
 
-#: uidrivers/_commonGuiToolkit/MenuBar.py:194
+#: uidrivers/_commonGuiToolkit/MenuBar.py:206
 msgid "About..."
 msgstr "� ���������.."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:143
+#: uidrivers/_commonGuiToolkit/ToolBar.py:160
 msgid "Save Changes"
 msgstr "��������� ���������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:146
+#: uidrivers/_commonGuiToolkit/ToolBar.py:163
 msgid "Insert New Record"
 msgstr "�������� ������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:147
+#: uidrivers/_commonGuiToolkit/ToolBar.py:164
 msgid "Delete Current Record"
 msgstr "������� ������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:149
+#: uidrivers/_commonGuiToolkit/ToolBar.py:166
 msgid "First Record"
 msgstr "������ ������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:150
+#: uidrivers/_commonGuiToolkit/ToolBar.py:167
 msgid "Previous Record"
 msgstr "���������� ������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:151
+#: uidrivers/_commonGuiToolkit/ToolBar.py:168
 msgid "Next Record"
 msgstr "��������� ������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:152
+#: uidrivers/_commonGuiToolkit/ToolBar.py:169
 msgid "Last Record"
 msgstr "��������� ������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:153
+#: uidrivers/_commonGuiToolkit/ToolBar.py:170
 msgid "Go to record..."
 msgstr "������� �� ������.."
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:155
+#: uidrivers/_commonGuiToolkit/ToolBar.py:172
 msgid "Enter Search Mode"
 msgstr "����������� ������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:156
+#: uidrivers/_commonGuiToolkit/ToolBar.py:173
 msgid "Perform Search"
 msgstr "��������� ������"
 
 # ../../forms/src/uidrivers/wx/UIdriver.py:287 :287
-#: uidrivers/_commonGuiToolkit/ToolBar.py:157
+#: uidrivers/_commonGuiToolkit/ToolBar.py:174
 msgid "Print Form"
 msgstr "������ �����"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:159
+#: uidrivers/_commonGuiToolkit/ToolBar.py:176
 msgid "Revert Changes"
 msgstr "��������� ���������"
 
-#: uidrivers/_commonGuiToolkit/ToolBar.py:161 uidrivers/win32/UIdriver.py:438
+#: uidrivers/_commonGuiToolkit/ToolBar.py:178 uidrivers/qt3/dialogs.py:92
+#: uidrivers/win32/dialogs.py:519
 msgid "Close"
 msgstr "�����"
 
-#: uidrivers/curses/UIdriver.py:246
-msgid "processing..."
-msgstr "���� ���������..."
-
-#: uidrivers/curses/UIdriver.py:271 uidrivers/win32/dialog.py:61
+#: uidrivers/curses/UIdriver.py:226 uidrivers/qt3/dialogs.py:192
+#: uidrivers/qt3/dialogs.py:436 uidrivers/win32/dialog.py:62
 msgid "Ok"
 msgstr "Ok"
 
-#: uidrivers/curses/UIdriver.py:403
+#: uidrivers/curses/UIdriver.py:366
 msgid "Save"
 msgstr "���������"
 
-#: uidrivers/curses/UIdriver.py:404
+#: uidrivers/curses/UIdriver.py:367
 msgid "Revert"
 msgstr "��������"
 
-#: uidrivers/curses/UIdriver.py:405
+#: uidrivers/curses/UIdriver.py:368
 msgid "Insert"
 msgstr "��������"
 
-#: uidrivers/curses/UIdriver.py:406
+#: uidrivers/curses/UIdriver.py:369
 msgid "Delete"
 msgstr "�������"
 
-#: uidrivers/curses/UIdriver.py:407
+#: uidrivers/curses/UIdriver.py:370
 msgid "Query"
 msgstr "������"
 
-#: uidrivers/curses/UIdriver.py:408
+#: uidrivers/curses/UIdriver.py:371
 msgid "Execute"
 msgstr "���������"
 
-#: uidrivers/curses/UIdriver.py:409 uidrivers/qt/UILoginHandler.py:118
-#: uidrivers/win32/dialog.py:65
+#: uidrivers/curses/UIdriver.py:372 uidrivers/qt3/dialogs.py:430
+#: uidrivers/win32/dialog.py:66
 msgid "Cancel"
 msgstr "������"
 
-#: uidrivers/curses/UIdriver.py:410
+#: uidrivers/curses/UIdriver.py:373
 msgid "Exit"
 msgstr "�����"
 
-#: uidrivers/curses/widgets/entry.py:329
+#: uidrivers/curses/widgets/entry.py:374
 msgid "Select option"
 msgstr ""
 
+#: uidrivers/curses/widgets/form.py:90
+msgid "processing..."
+msgstr "���� ���������..."
+
 #: uidrivers/gtk2/UIdriver.py:42
 #, fuzzy
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
@@ -932,22 +1257,23 @@
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
 msgstr "GTK ������� GNUe-Forms ������� ��������� PyGTK � GTK2.x."
 
-#: uidrivers/gtk2/UIdriver.py:417 uidrivers/win32/UIdriver.py:401
-#: uidrivers/wx26/dialogs.py:425
+#: uidrivers/gtk2/UIdriver.py:241 uidrivers/qt3/dialogs.py:43
+#: uidrivers/win32/dialogs.py:482 uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
 msgstr "GNUe ���������� ������ �������"
 
-#: uidrivers/gtk2/UIdriver.py:418 uidrivers/win32/UIdriver.py:402
-#: uidrivers/wx26/dialogs.py:426
+#: uidrivers/gtk2/UIdriver.py:242 uidrivers/qt3/dialogs.py:44
+#: uidrivers/win32/dialogs.py:483 uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
 msgstr "GNUe ����������� ������"
 
-#: uidrivers/gtk2/UIdriver.py:419 uidrivers/win32/UIdriver.py:403
-#: uidrivers/wx26/dialogs.py:427
+#: uidrivers/gtk2/UIdriver.py:243 uidrivers/qt3/dialogs.py:45
+#: uidrivers/win32/dialogs.py:484 uidrivers/wx26/dialogs.py:431
 msgid "GNUe Application Error"
 msgstr "GNUe ������ ����������"
 
-#: uidrivers/gtk2/UIdriver.py:422 uidrivers/wx26/dialogs.py:430
+#: uidrivers/gtk2/UIdriver.py:246 uidrivers/qt3/dialogs.py:48
+#: uidrivers/wx26/dialogs.py:434
 msgid ""
 "An unexpected internal error has occured:\n"
 "%s.\n"
@@ -955,8 +1281,9 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/gtk2/UIdriver.py:425 uidrivers/gtk2/UIdriver.py:427
-#: uidrivers/wx26/dialogs.py:433 uidrivers/wx26/dialogs.py:435
+#: uidrivers/gtk2/UIdriver.py:249 uidrivers/gtk2/UIdriver.py:251
+#: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
+#: uidrivers/wx26/dialogs.py:437 uidrivers/wx26/dialogs.py:439
 msgid ""
 "An unexpected error has occured:\n"
 "%s.\n"
@@ -966,127 +1293,123 @@
 "%s.\n"
 "����������, ��������� � ����� ��������� ���������������."
 
-#: uidrivers/gtk2/UIdriver.py:436 uidrivers/qt/UIdriver.py:71
-#: uidrivers/win32/UIdriver.py:105 uidrivers/win32/UIdriver.py:420
-#: uidrivers/wx/UIdriver.py:67 uidrivers/wx26/UIdriver.py:68
-#: uidrivers/wx26/dialogs.py:445
+#: uidrivers/gtk2/UIdriver.py:260 uidrivers/qt3/widgets/form.py:61
+#: uidrivers/win32/dialogs.py:501 uidrivers/win32/widgets/form/widget.py:59
+#: uidrivers/wx/widgets/form/widget.py:51 uidrivers/wx26/dialogs.py:449
+#: uidrivers/wx26/widgets/form.py:51
 msgid "Error"
 msgstr "������"
 
-#: uidrivers/gtk2/UIdriver.py:441
+#: uidrivers/gtk2/UIdriver.py:265 uidrivers/qt3/dialogs.py:97
+#: uidrivers/qt3/dialogs.py:115
 msgid ">> Detail"
 msgstr ">> �����������"
 
-#: uidrivers/gtk2/UIdriver.py:498 uidrivers/win32/UIdriver.py:442
-#: uidrivers/win32/UIdriver.py:480
+#: uidrivers/gtk2/UIdriver.py:322 uidrivers/win32/dialogs.py:523
+#: uidrivers/win32/dialogs.py:563
 msgid ">> Details"
 msgstr ">> �����������"
 
-#: uidrivers/gtk2/UIdriver.py:502 uidrivers/win32/UIdriver.py:475
+#: uidrivers/gtk2/UIdriver.py:326 uidrivers/win32/dialogs.py:558
 msgid "<< Details"
 msgstr "<< �����������"
 
-#: uidrivers/gtk2/dialogs.py:38 uidrivers/win32/dialogs.py:44
+#: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
 msgstr ""
 
-#: uidrivers/gtk2/dialogs.py:65 uidrivers/win32/dialogs.py:348
-#: uidrivers/wx/dialogs.py:57 uidrivers/wx26/dialogs.py:55
+#: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
+#: uidrivers/win32/dialogs.py:351 uidrivers/wx/dialogs.py:56
+#: uidrivers/wx26/dialogs.py:55
 msgid "About %s"
 msgstr "� %s"
 
-#: uidrivers/gtk2/dialogs.py:80 uidrivers/gtk2/dialogs.py:99
-#: uidrivers/win32/dialogs.py:357 uidrivers/win32/dialogs.py:366
-#: uidrivers/wx/dialogs.py:67 uidrivers/wx/dialogs.py:85
+#: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
+#: uidrivers/win32/dialogs.py:360 uidrivers/win32/dialogs.py:369
+#: uidrivers/wx/dialogs.py:66 uidrivers/wx/dialogs.py:84
 msgid "Version:"
 msgstr "������:"
 
-#: uidrivers/gtk2/dialogs.py:81 uidrivers/win32/dialogs.py:358
-#: uidrivers/wx/dialogs.py:69
+#: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:361
+#: uidrivers/wx/dialogs.py:68
 msgid "Driver:"
 msgstr "�������:"
 
-#: uidrivers/gtk2/dialogs.py:90 uidrivers/wx/dialogs.py:76
+#: uidrivers/gtk2/dialogs.py:91 uidrivers/wx/dialogs.py:75
 msgid " Form Information "
 msgstr "���������� � �����"
 
-#: uidrivers/gtk2/dialogs.py:98 uidrivers/win32/dialogs.py:365
-#: uidrivers/wx/dialogs.py:83
+#: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:368
+#: uidrivers/wx/dialogs.py:82
 msgid "Name:"
 msgstr "��������:"
 
-#: uidrivers/gtk2/dialogs.py:100 uidrivers/win32/dialogs.py:367
-#: uidrivers/wx/dialogs.py:87
+#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:370
+#: uidrivers/wx/dialogs.py:86
 msgid "Author:"
 msgstr "�����:"
 
-#: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:368
-#: uidrivers/wx/dialogs.py:89
+#: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:371
+#: uidrivers/wx/dialogs.py:88
 msgid "Description:"
 msgstr "��������:"
 
-#: uidrivers/qt/QTSplashScreen.py:54 uidrivers/wx/UIWXSplashScreen.py:69
-msgid "GNU Enterprise Forms"
+#: uidrivers/qt3/ToolBar.py:51
+msgid "Forms Toolbar"
 msgstr ""
 
-#: uidrivers/qt/QTSplashScreen.py:61 uidrivers/wx/UIWXSplashScreen.py:76
-msgid "Version %s"
-msgstr "������ %s"
-
-#: uidrivers/qt/QTSplashScreen.py:71 uidrivers/wx/UIWXSplashScreen.py:86
-msgid "Protected by GNU General Public Licence 2.0"
-msgstr "�������� ��������� GNU General Public Licence 2."
-
-#: uidrivers/qt/ToolBar.py:36
-msgid "Forms Navigation"
+#: uidrivers/qt3/ToolBar.py:137 uidrivers/wx26/ToolBar.py:88
+msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
 msgstr ""
 
-#: uidrivers/qt/UILoginHandler.py:62
-msgid ""
-"Login required for\n"
-"\"%s\""
-msgstr ""
+#: uidrivers/qt3/UIdriver.py:36
+msgid "The GNUe-Forms QT3 driver requires PyQT."
+msgstr "QT3 ������� GNUe-Forms ������� ��������� PyQT"
 
-#: uidrivers/qt/UILoginHandler.py:64
-msgid "Login required for %s"
-msgstr ""
+#: uidrivers/qt3/dialogs.py:113
+#, fuzzy
+msgid "<< Detail"
+msgstr "<< �����������"
 
-#: uidrivers/qt/UILoginHandler.py:66 uidrivers/qt/UILoginHandler.py:67
-msgid "GNU Enterprise: Login to %s"
-msgstr "GNU Enterprise: ���������� � %s"
+#: uidrivers/qt3/dialogs.py:164 uidrivers/wx26/UISplashScreen.py:54
+#: uidrivers/wx26/dialogs.py:82
+#, fuzzy
+msgid "Version: %s"
+msgstr "������ %s"
 
-#: uidrivers/qt/UILoginHandler.py:115
-msgid "Login"
-msgstr ""
-
-#: uidrivers/qt/UIdriver.py:39
-msgid "The GNUe-Forms QT3 driver requires PyQT."
-msgstr "QT3 ������� GNUe-Forms ������� ��������� PyQT"
-
-#: uidrivers/qt/UIdriver.py:65 uidrivers/wx/UIdriver.py:61
-#: uidrivers/wx26/UIdriver.py:59
+#: uidrivers/qt3/widgets/form.py:51 uidrivers/wx/widgets/form/widget.py:45
+#: uidrivers/wx26/widgets/form.py:42
 msgid "Information"
 msgstr "����������"
 
-#: uidrivers/qt/UIdriver.py:67 uidrivers/win32/UIdriver.py:99
-#: uidrivers/wx/UIdriver.py:63 uidrivers/wx26/UIdriver.py:62
+#: uidrivers/qt3/widgets/form.py:54 uidrivers/win32/widgets/form/widget.py:53
+#: uidrivers/wx/widgets/form/widget.py:47 uidrivers/wx26/widgets/form.py:45
 msgid "Warning"
 msgstr "��������������"
 
-#: uidrivers/qt/UIdriver.py:69 uidrivers/win32/UIdriver.py:102
-#: uidrivers/wx/UIdriver.py:65 uidrivers/wx26/UIdriver.py:65
+#: uidrivers/qt3/widgets/form.py:57 uidrivers/win32/widgets/form/widget.py:56
+#: uidrivers/wx/widgets/form/widget.py:49 uidrivers/wx26/widgets/form.py:48
 msgid "Question"
 msgstr "������"
 
+#: uidrivers/qt3/widgets/image.py:43 uidrivers/wx26/widgets/image.py:42
+msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
+msgstr ""
+
 #: uidrivers/win32/UIdriver.py:39
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
 msgstr "Win32 ������� GNUe-Forms ������� ��������� PyWin32"
 
-#: uidrivers/win32/UIdriver.py:96
-msgid "Info"
-msgstr "����������"
+#: uidrivers/win32/dialogs.py:359
+msgid "GNUe Forms"
+msgstr ""
 
-#: uidrivers/win32/UIdriver.py:406
+#: uidrivers/win32/dialogs.py:367
+#, fuzzy
+msgid "Form Information"
+msgstr "���������� � �����"
+
+#: uidrivers/win32/dialogs.py:487
 msgid ""
 "An unexpected internal error has occured:\r\n"
 "%s.\r\n"
@@ -1094,7 +1417,7 @@
 "address@hidden"
 msgstr ""
 
-#: uidrivers/win32/UIdriver.py:409 uidrivers/win32/UIdriver.py:411
+#: uidrivers/win32/dialogs.py:490 uidrivers/win32/dialogs.py:492
 #, fuzzy
 msgid ""
 "An unexpected error has occured:\r\n"
@@ -1105,20 +1428,15 @@
 "%s.\n"
 "����������, ��������� � ����� ��������� ���������������."
 
-#: uidrivers/win32/dialogs.py:356
-msgid "GNUe Forms"
-msgstr ""
+#: uidrivers/win32/widgets/form/widget.py:50
+msgid "Info"
+msgstr "����������"
 
-#: uidrivers/win32/dialogs.py:364
-#, fuzzy
-msgid "Form Information"
-msgstr "���������� � �����"
-
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid "Printing"
 msgstr "������"
 
-#: uidrivers/wx/PrintForm.py:86
+#: uidrivers/wx/PrintForm.py:71
 msgid ""
 "There was a problem printing.\n"
 "Please verify your printer setup and try again."
@@ -1126,18 +1444,30 @@
 "�������� � �������.\n"
 "����������, �������� ��������� �������� � ����������� �����."
 
-#: uidrivers/wx/PrintForm.py:141
+#: uidrivers/wx/PrintForm.py:126 uidrivers/wx26/widgets/form.py:554
 msgid "Login: "
 msgstr "����"
 
-#: uidrivers/wx/PrintForm.py:156
+#: uidrivers/wx/PrintForm.py:141
 msgid "Page 1 of 1"
 msgstr "�������� 1 �� 1"
 
+#: uidrivers/wx/UIWXSplashScreen.py:69
+msgid "GNU Enterprise Forms"
+msgstr ""
+
+#: uidrivers/wx/UIWXSplashScreen.py:76
+msgid "Version %s"
+msgstr "������ %s"
+
 #: uidrivers/wx/UIWXSplashScreen.py:81
 msgid "(c) Free Software Foundation"
 msgstr ""
 
+#: uidrivers/wx/UIWXSplashScreen.py:86
+msgid "Protected by GNU General Public Licence 2.0"
+msgstr "�������� ��������� GNU General Public Licence 2."
+
 #: uidrivers/wx/UIdriver.py:33
 msgid "The GNUe-Forms wx driver requires wxPython."
 msgstr "Wx ������� GNUe-Forms ������� �������������� wxPython"
@@ -1146,24 +1476,68 @@
 msgid "Encoding %s is not supported by the wx UI driver"
 msgstr "��������� %s �� �������������� wx UI ���������"
 
-#: uidrivers/wx/widgets/tree.py:95
-msgid "Node"
-msgstr "����"
+#: uidrivers/wx26/UIdriver.py:35
+#, fuzzy
+msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
+msgstr "GTK ������� GNUe-Forms ������� ��������� PyGTK � GTK2.x."
 
-#: uidrivers/wx26/ToolBar.py:88
-msgid "** WARNING: Cannot add '%s' to toolbar; no icon"
-msgstr ""
+#~ msgid "Trigger Exception :\n"
+#~ msgstr "���������� �������� :\n"
 
-#: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
-#, fuzzy
-msgid "Version: %s"
-msgstr "������ %s"
+#~ msgid "Data not saved. Save changes or clear the form to proceed."
+#~ msgstr ""
+#~ "������ �� ���������. ��������� ��������� ��� �������� ����� ��� "
+#~ "����������� ������"
 
-#: uidrivers/wx26/UIdriver.py:38
+#~ msgid "Form not in query mode"
+#~ msgstr "����� �� � ������ �������"
+
+#~ msgid "Form trigger returned error"
+#~ msgstr "������� ����� ���������� � �������"
+
+#~ msgid "Block trigger returned error"
+#~ msgstr "������� ����� ���������� � �������"
+
+#~ msgid "You cannot do that in query mode."
+#~ msgstr "������ �������� ���������� � ������ �������"
+
+#~ msgid "Current data is saved"
+#~ msgstr "������� ������ ���������"
+
+#~ msgid "Block does not allow delete"
+#~ msgstr "���� �� ��������� ��������"
+
+#~ msgid "Block does not allow insert"
+#~ msgstr "���� �� ��������� �������"
+
 #, fuzzy
-msgid "This GNUe-Forms UI Driver requires at least wx 2.6."
-msgstr "GTK ������� GNUe-Forms ������� ��������� PyGTK � GTK2.x."
+#~ msgid "Scrollbar references a non-existent block '%s'"
+#~ msgstr "���� ����� ��������� �� �������������� ���� '%s'"
 
+#~ msgid "Max Text Length"
+#~ msgstr "������������ ����� ������"
+
+#~ msgid "Ignore Case on Queries"
+#~ msgstr "������������ ������� �������� ��� ��������"
+
+#~ msgid "Description field"
+#~ msgstr "�������� ����"
+
+#~ msgid "ID of a field"
+#~ msgstr "�������� Id ����"
+
+#~ msgid "Invalid value '%s' for field"
+#~ msgstr "������������ �������� '%s' ��� ���� "
+
+#~ msgid "Invalid input: '%s'"
+#~ msgstr "�������� ����: '%s'"
+
+#~ msgid "GNU Enterprise: Login to %s"
+#~ msgstr "GNU Enterprise: ���������� � %s"
+
+#~ msgid "Node"
+#~ msgstr "����"
+
 #~ msgid ""
 #~ "Switch to edit mode.  This will allow you to edit the current entries."
 #~ msgstr "������������ � ����� ��������������."

Modified: trunk/gnue-forms/src/__init__.py
===================================================================
--- trunk/gnue-forms/src/__init__.py    2006-11-09 15:30:25 UTC (rev 9020)
+++ trunk/gnue-forms/src/__init__.py    2006-11-09 15:33:59 UTC (rev 9021)
@@ -35,7 +35,7 @@
 PACKAGE = "GNUe-Forms"
 TITLE = "GNUe Forms"
 
-version = version.Version(0, 6, 'alpha', 0, svn_revision)
+version = version.Version(0, 6, 'alpha', 1, svn_revision)
 
 VERSION = version.get_version()
 HEXVERSION = version.get_hexversion()





reply via email to

[Prev in Thread] Current Thread [Next in Thread]