diff --git a/VERSION b/VERSION
index 396118ea..82e44bf8 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Version 2.00.1 (2012-08-27 15:13:23) rc4
+Version 2.00.1 (2012-08-27 15:29:22) rc4
diff --git a/applications/admin/views/appadmin.html b/applications/admin/views/appadmin.html
index bdbfd307..541a18bb 100644
--- a/applications/admin/views/appadmin.html
+++ b/applications/admin/views/appadmin.html
@@ -10,7 +10,7 @@
//-->
{{if request.function=='index':}}
-
{{=T("Available databases and tables")}}
+{{=T("Available Databases and Tables")}}
{{if not databases:}}{{=T("No databases in this application")}}{{pass}}
{{for db in sorted(databases):}}
@@ -42,11 +42,11 @@
{{pass}}
{{elif request.function=='select':}}
- {{=XML(str(T("database %s select"))%A(request.args[0],_href=URL('index'))) }}
+ {{=XML(str(T("Database %s select"))%A(request.args[0],_href=URL('index'))) }}
{{if table:}}
{{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn")}}
- {{=T("Rows in table")}}
+ {{=T("Rows in Table")}}
{{else:}}
{{=T("Rows selected")}}
{{pass}}
@@ -70,31 +70,31 @@
{{=formcsv or ''}}
{{elif request.function=='insert':}}
- {{=T("database")}} {{=A(request.args[0],_href=URL('index'))}}
+ {{=T("Database")}} {{=A(request.args[0],_href=URL('index'))}}
{{if hasattr(table,'_primarykey'):}}
{{fieldname=table._primarykey[0]}}
{{dbname=request.args[0]}}
{{tablename=request.args[1]}}
{{cond = table[fieldname].type in ['string','text'] and '!=""' or '>0'}}
- {{=T("table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
+ {{=T("Table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
{{else:}}
- {{=T("table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
+ {{=T("Table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
{{pass}}
{{=T("New Record")}}
{{=form}}
{{elif request.function=='update':}}
- {{=T("database")}} {{=A(request.args[0],_href=URL('index'))}}
+ {{=T("Database")}} {{=A(request.args[0],_href=URL('index'))}}
{{if hasattr(table,'_primarykey'):}}
{{fieldname=request.vars.keys()[0]}}
{{dbname=request.args[0]}}
{{tablename=request.args[1]}}
{{cond = table[fieldname].type in ['string','text'] and '!=""' or '>0'}}
- {{=T("table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
- {{=T("record")}} {{=A('%s=%s'%request.vars.items()[0],_href=URL('update',args=request.args[:2],vars=request.vars))}}
+ {{=T("Table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
+ {{=T("Record")}} {{=A('%s=%s'%request.vars.items()[0],_href=URL('update',args=request.args[:2],vars=request.vars))}}
{{else:}}
- {{=T("table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
- {{=T("record id")}} {{=A(request.args[2],_href=URL('update',args=request.args[:3]))}}
+ {{=T("Table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
+ {{=T("Record id")}} {{=A(request.args[2],_href=URL('update',args=request.args[:3]))}}
{{pass}}
{{=T("Edit current record")}}
{{=form}}
diff --git a/applications/examples/views/appadmin.html b/applications/examples/views/appadmin.html
index bdbfd307..541a18bb 100644
--- a/applications/examples/views/appadmin.html
+++ b/applications/examples/views/appadmin.html
@@ -10,7 +10,7 @@
//-->
{{if request.function=='index':}}
-{{=T("Available databases and tables")}}
+{{=T("Available Databases and Tables")}}
{{if not databases:}}{{=T("No databases in this application")}}{{pass}}
{{for db in sorted(databases):}}
@@ -42,11 +42,11 @@
{{pass}}
{{elif request.function=='select':}}
- {{=XML(str(T("database %s select"))%A(request.args[0],_href=URL('index'))) }}
+ {{=XML(str(T("Database %s select"))%A(request.args[0],_href=URL('index'))) }}
{{if table:}}
{{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn")}}
- {{=T("Rows in table")}}
+ {{=T("Rows in Table")}}
{{else:}}
{{=T("Rows selected")}}
{{pass}}
@@ -70,31 +70,31 @@
{{=formcsv or ''}}
{{elif request.function=='insert':}}
- {{=T("database")}} {{=A(request.args[0],_href=URL('index'))}}
+ {{=T("Database")}} {{=A(request.args[0],_href=URL('index'))}}
{{if hasattr(table,'_primarykey'):}}
{{fieldname=table._primarykey[0]}}
{{dbname=request.args[0]}}
{{tablename=request.args[1]}}
{{cond = table[fieldname].type in ['string','text'] and '!=""' or '>0'}}
- {{=T("table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
+ {{=T("Table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
{{else:}}
- {{=T("table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
+ {{=T("Table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
{{pass}}
{{=T("New Record")}}
{{=form}}
{{elif request.function=='update':}}
- {{=T("database")}} {{=A(request.args[0],_href=URL('index'))}}
+ {{=T("Database")}} {{=A(request.args[0],_href=URL('index'))}}
{{if hasattr(table,'_primarykey'):}}
{{fieldname=request.vars.keys()[0]}}
{{dbname=request.args[0]}}
{{tablename=request.args[1]}}
{{cond = table[fieldname].type in ['string','text'] and '!=""' or '>0'}}
- {{=T("table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
- {{=T("record")}} {{=A('%s=%s'%request.vars.items()[0],_href=URL('update',args=request.args[:2],vars=request.vars))}}
+ {{=T("Table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
+ {{=T("Record")}} {{=A('%s=%s'%request.vars.items()[0],_href=URL('update',args=request.args[:2],vars=request.vars))}}
{{else:}}
- {{=T("table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
- {{=T("record id")}} {{=A(request.args[2],_href=URL('update',args=request.args[:3]))}}
+ {{=T("Table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
+ {{=T("Record id")}} {{=A(request.args[2],_href=URL('update',args=request.args[:3]))}}
{{pass}}
{{=T("Edit current record")}}
{{=form}}
diff --git a/applications/welcome/languages/cs.py b/applications/welcome/languages/cs.py
index ba362a3f..85c72dce 100644
--- a/applications/welcome/languages/cs.py
+++ b/applications/welcome/languages/cs.py
@@ -10,7 +10,7 @@
'%s selected': '%s označených',
'Administrative interface': 'pro administrátorské rozhranie kliknite sem',
'Are you sure you want to delete this object?': 'Opravdu chceš odstranit tento objekt?',
-'Available databases and tables': 'Dostupné databáze a tabuľky',
+'Available Databases and Tables': 'Dostupné databáze a tabuľky',
'Cannot be empty': 'Nemůže být prázdné',
'Change password': 'Změna hesla',
'Check to delete': 'Označit ke smazání',
@@ -68,7 +68,7 @@
'Reset Password key': 'Nastavit registrační kľíč',
'Retrieve username': 'Retrieve username',
'Role': 'Role',
-'Rows in table': 'řádků v tabulce',
+'Rows in Table': 'řádků v tabulce',
'Rows selected': 'označených řádků',
'Stylesheet': 'CSS',
'Submit': 'Odeslat',
@@ -100,8 +100,8 @@
'cache': 'cache',
'customize me!': 'uprav mě!',
'data uploaded': 'data nahrána',
-'database': 'databáze',
-'database %s select': 'databáze %s výber',
+'Database': 'databáze',
+'Database %s select': 'databáze %s výber',
'db': 'db',
'design': 'návrh',
'done!': 'hotovo!',
@@ -121,11 +121,11 @@
'password': 'heslo',
'previous 100 rows': 'předchádzajících 100 řádků',
'profile': 'profil',
-'record': 'záznam',
+'Record': 'záznam',
'record does not exist': 'záznam neexistuje',
-'record id': 'id záznamu',
+'Record id': 'id záznamu',
'register': 'registrovat',
'state': 'stav',
-'table': 'tabulka',
+'Table': 'tabulka',
'unable to parse csv file': 'nedá sa zpracovat csv soubor',
}
diff --git a/applications/welcome/languages/es.py b/applications/welcome/languages/es.py
index cd54bced..1780400c 100644
--- a/applications/welcome/languages/es.py
+++ b/applications/welcome/languages/es.py
@@ -24,7 +24,7 @@
'Are you sure you want to uninstall application "%s"': '¿Está seguro que desea desinstalar la aplicación "%s"',
'Are you sure you want to uninstall application "%s"?': '¿Está seguro que desea desinstalar la aplicación "%s"?',
'Authentication': 'Autenticación',
-'Available databases and tables': 'Bases de datos y tablas disponibles',
+'Available Databases and Tables': 'Bases de datos y tablas disponibles',
'Cannot be empty': 'No puede estar vacío',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'No se puede compilar: hay errores en su aplicación. Depure, corrija errores y vuelva a intentarlo.',
'Change Password': 'Cambie Contraseña',
@@ -99,7 +99,7 @@
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'archivo Resolución de Conflicto',
'Role': 'Rol',
-'Rows in table': 'Filas en la tabla',
+'Rows in Table': 'Filas en la tabla',
'Rows selected': 'Filas seleccionadas',
'Saved file hash:': 'Hash del archivo guardado:',
'Static files': 'Archivos estáticos',
@@ -165,8 +165,8 @@
'currently saved or': 'actualmente guardado o',
'customize me!': 'Adaptame!',
'data uploaded': 'datos subidos',
-'database': 'base de datos',
-'database %s select': 'selección en base de datos %s',
+'Database': 'base de datos',
+'Database %s select': 'selección en base de datos %s',
'database administration': 'administración base de datos',
'db': 'db',
'defines tables': 'define tablas',
@@ -218,9 +218,9 @@
'pack all': 'empaquetar todo',
'pack compiled': 'empaquete compiladas',
'previous 100 rows': '100 filas anteriores',
-'record': 'registro',
+'Record': 'registro',
'record does not exist': 'el registro no existe',
-'record id': 'id de registro',
+'Record id': 'id de registro',
'register': 'registrese',
'remove compiled': 'eliminar compiladas',
'restore': 'restaurar',
@@ -232,7 +232,7 @@
'some files could not be removed': 'algunos archivos no pudieron ser removidos',
'state': 'estado',
'static': 'estáticos',
-'table': 'tabla',
+'Table': 'tabla',
'test': 'probar',
'the application logic, each URL path is mapped in one exposed function in the controller': 'la lógica de la aplicación, cada ruta URL se mapea en una función expuesta en el controlador',
'the data representation, define database tables and sets': 'la representación de datos, define tablas y conjuntos de base de datos',
diff --git a/applications/welcome/languages/fr-ca.py b/applications/welcome/languages/fr-ca.py
index 599cddbf..2491a9ea 100644
--- a/applications/welcome/languages/fr-ca.py
+++ b/applications/welcome/languages/fr-ca.py
@@ -14,7 +14,7 @@
'Ajax Recipes': 'Recettes Ajax',
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
'Authentication': 'Authentification',
-'Available databases and tables': 'Bases de données et tables disponibles',
+'Available Databases and Tables': 'Bases de données et tables disponibles',
'Buy this book': 'Acheter ce livre',
'Cannot be empty': 'Ne peut pas être vide',
'Check to delete': 'Cliquez pour supprimer',
@@ -95,7 +95,7 @@
'Reset Password key': 'Réinitialiser le mot clé',
'Resources': 'Ressources',
'Role': 'Rôle',
-'Rows in table': 'Lignes du tableau',
+'Rows in Table': 'Lignes du tableau',
'Rows selected': 'Lignes sélectionnées',
'Semantic': 'Sémantique',
'Services': 'Services',
@@ -135,8 +135,8 @@
'change password': 'changer le mot de passe',
'customize me!': 'personnalisez-moi!',
'data uploaded': 'données téléchargées',
-'database': 'base de données',
-'database %s select': 'base de données %s select',
+'Database': 'base de données',
+'Database %s select': 'base de données %s select',
'db': 'db',
'design': 'design',
'done!': 'fait!',
@@ -157,12 +157,12 @@
'please input your password again': "S'il vous plaît entrer votre mot de passe",
'previous 100 rows': '100 lignes précédentes',
'profile': 'profile',
-'record': 'enregistrement',
+'Record': 'enregistrement',
'record does not exist': "l'archive n'existe pas",
-'record id': "id d'enregistrement",
+'Record id': "id d'enregistrement",
'register': "s'inscrire",
'state': 'état',
-'table': 'tableau',
+'Table': 'tableau',
'unable to parse csv file': "incapable d'analyser le fichier cvs",
'value already in database or empty': 'valeur déjà dans la base ou vide',
}
diff --git a/applications/welcome/languages/fr.py b/applications/welcome/languages/fr.py
index 8db13409..f7893576 100644
--- a/applications/welcome/languages/fr.py
+++ b/applications/welcome/languages/fr.py
@@ -16,7 +16,7 @@
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
'Authentication': 'Authentification',
-'Available databases and tables': 'Bases de données et tables disponibles',
+'Available Databases and Tables': 'Bases de données et tables disponibles',
'Buy this book': 'Acheter ce livre',
'cache': 'cache',
'Cannot be empty': 'Ne peut pas être vide',
@@ -34,8 +34,8 @@
'customize me!': 'personnalisez-moi!',
'data uploaded': 'données téléchargées',
'Database': 'Base de données',
-'database': 'base de données',
-'database %s select': 'base de données %s select',
+'Database': 'base de données',
+'Database %s select': 'base de données %s select',
'db': 'db',
'DB Model': 'Modèle DB',
'Delete:': 'Supprimer:',
@@ -114,9 +114,9 @@
'Quick Examples': 'Examples Rapides',
'Readme': 'Lisez-moi',
'Recipes': 'Recettes',
-'record': 'enregistrement',
+'Record': 'enregistrement',
'record does not exist': "l'archive n'existe pas",
-'record id': "id d'enregistrement",
+'Record id': "id d'enregistrement",
'Record ID': "ID d'enregistrement",
'Register': "S'inscrire",
'register': "s'inscrire",
@@ -127,7 +127,7 @@
'Reset Password key': 'Réinitialiser le mot clé',
'Resources': 'Ressources',
'Role': 'Rôle',
-'Rows in table': 'Lignes du tableau',
+'Rows in Table': 'Lignes du tableau',
'Rows selected': 'Lignes sélectionnées',
'Semantic': 'Sémantique',
'Services': 'Services',
@@ -136,7 +136,7 @@
'Submit': 'Soumettre',
'Support': 'Support',
'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
-'table': 'tableau',
+'Table': 'tableau',
'Table name': 'Nom du tableau',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "query" est une condition comme "db.table1.champ1==\'valeur\'". Quelque chose comme "db.table1.champ1==db.table2.champ2" résulte en un JOIN SQL.',
'The Core': 'Le noyau',
diff --git a/applications/welcome/languages/hi.py b/applications/welcome/languages/hi.py
index e2bbc7d1..8dc9f19f 100644
--- a/applications/welcome/languages/hi.py
+++ b/applications/welcome/languages/hi.py
@@ -9,7 +9,7 @@
'%s %%{row} updated': '%s पंक्तियाँ अद्यतन',
'%s selected': '%s चुना हुआ',
'Administrative interface': 'प्रशासनिक इंटरफेस के लिए यहाँ क्लिक करें',
-'Available databases and tables': 'उपलब्ध डेटाबेस और तालिका',
+'Available Databases and Tables': 'उपलब्ध डेटाबेस और तालिका',
'Cannot be empty': 'खाली नहीं हो सकता',
'Change Password': 'पासवर्ड बदलें',
'Check to delete': 'हटाने के लिए चुनें',
@@ -43,7 +43,7 @@
'Powered by': 'Powered by',
'Query:': 'प्रश्न:',
'Register': 'पंजीकृत (रजिस्टर) करना ',
-'Rows in table': 'तालिका में पंक्तियाँ ',
+'Rows in Table': 'तालिका में पंक्तियाँ ',
'Rows selected': 'चयनित (चुने गये) पंक्तियाँ ',
'Stylesheet': 'Stylesheet',
'Sure you want to delete this object?': 'सुनिश्चित हैं कि आप इस वस्तु को हटाना चाहते हैं?',
@@ -61,8 +61,8 @@
'change password': 'change password',
'customize me!': 'मुझे अनुकूलित (कस्टमाइज़) करें!',
'data uploaded': 'डाटा अपलोड सम्पन्न ',
-'database': 'डेटाबेस',
-'database %s select': 'डेटाबेस %s चुनी हुई',
+'Database': 'डेटाबेस',
+'Database %s select': 'डेटाबेस %s चुनी हुई',
'db': 'db',
'design': 'रचना करें',
'done!': 'हो गया!',
@@ -77,11 +77,11 @@
'next 100 rows': 'अगले 100 पंक्तियाँ',
'or import from csv file': 'या csv फ़ाइल से आयात',
'previous 100 rows': 'पिछले 100 पंक्तियाँ',
-'record': 'record',
+'Record': 'Record',
'record does not exist': 'रिकॉर्ड मौजूद नहीं है',
-'record id': 'रिकॉर्ड पहचानकर्ता (आईडी)',
+'Record id': 'रिकॉर्ड पहचानकर्ता (आईडी)',
'register': 'register',
'state': 'स्थिति',
-'table': 'तालिका',
+'Table': 'तालिका',
'unable to parse csv file': 'csv फ़ाइल पार्स करने में असमर्थ',
}
diff --git a/applications/welcome/languages/hu.py b/applications/welcome/languages/hu.py
index a5133a63..bd996f66 100644
--- a/applications/welcome/languages/hu.py
+++ b/applications/welcome/languages/hu.py
@@ -9,7 +9,7 @@
'%s %%{row} updated': '%s sorok frissítődtek',
'%s selected': '%s kiválasztott',
'Administrative interface': 'az adminisztrációs felületért kattints ide',
-'Available databases and tables': 'Elérhető adatbázisok és táblák',
+'Available Databases and Tables': 'Elérhető adatbázisok és táblák',
'Cannot be empty': 'Nem lehet üres',
'Check to delete': 'Törléshez válaszd ki',
'Client IP': 'Client IP',
@@ -50,7 +50,7 @@
'Registration key': 'Registration key',
'Reset Password key': 'Reset Password key',
'Role': 'Role',
-'Rows in table': 'Sorok a táblában',
+'Rows in Table': 'Sorok a táblában',
'Rows selected': 'Kiválasztott sorok',
'Stylesheet': 'Stylesheet',
'Sure you want to delete this object?': 'Biztos törli ezt az objektumot?',
@@ -71,8 +71,8 @@
'change password': 'jelszó megváltoztatása',
'customize me!': 'változtass meg!',
'data uploaded': 'adat feltöltve',
-'database': 'adatbázis',
-'database %s select': 'adatbázis %s kiválasztás',
+'Database': 'adatbázis',
+'Database %s select': 'adatbázis %s kiválasztás',
'db': 'db',
'design': 'design',
'done!': 'kész!',
@@ -88,11 +88,11 @@
'next 100 rows': 'következő 100 sor',
'or import from csv file': 'vagy betöltés csv fájlból',
'previous 100 rows': 'előző 100 sor',
-'record': 'bejegyzés',
+'Record': 'bejegyzés',
'record does not exist': 'bejegyzés nem létezik',
-'record id': 'bejegyzés id',
+'Record id': 'bejegyzés id',
'register': 'regisztráció',
'state': 'állapot',
-'table': 'tábla',
+'Table': 'tábla',
'unable to parse csv file': 'nem lehet a csv fájlt beolvasni',
}
diff --git a/applications/welcome/languages/it.py b/applications/welcome/languages/it.py
index 375599be..d01c8dfc 100644
--- a/applications/welcome/languages/it.py
+++ b/applications/welcome/languages/it.py
@@ -17,7 +17,7 @@
'Ajax Recipes': 'Ajax Recipes',
'appadmin is disabled because insecure channel': 'Amministrazione (appadmin) disabilitata: comunicazione non sicura',
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
-'Available databases and tables': 'Database e tabelle disponibili',
+'Available Databases and Tables': 'Database e tabelle disponibili',
'Buy this book': 'Buy this book',
'cache': 'cache',
'Cannot be empty': 'Non può essere vuoto',
@@ -39,8 +39,8 @@
'customize me!': 'Personalizzami!',
'data uploaded': 'dati caricati',
'Database': 'Database',
-'database': 'database',
-'database %s select': 'database %s select',
+'Database': 'Database',
+'Database %s select': 'Database %s select',
'db': 'db',
'DB Model': 'Modello di DB',
'Delete': 'Delete',
@@ -127,17 +127,17 @@
'RAM': 'RAM',
'Ram Cleared': 'Ram Cleared',
'Recipes': 'Recipes',
-'record': 'record',
+'Record': 'Record',
'record does not exist': 'il record non esiste',
'Record ID': 'Record ID',
-'record id': 'record id',
+'Record id': 'Record id',
'Register': 'Register',
'register': 'registrazione',
'Registration identifier': 'Registration identifier',
'Registration key': 'Chiave di Registazione',
'Reset Password key': 'Resetta chiave Password ',
'Role': 'Ruolo',
-'Rows in table': 'Righe nella tabella',
+'Rows in Table': 'Righe nella tabella',
'Rows selected': 'Righe selezionate',
'Semantic': 'Semantic',
'Services': 'Services',
@@ -147,7 +147,7 @@
'Submit': 'Submit',
'Support': 'Support',
'Sure you want to delete this object?': 'Vuoi veramente cancellare questo oggetto?',
-'table': 'tabella',
+'Table': 'tabella',
'Table name': 'Nome tabella',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La richiesta (query) è una condizione come ad esempio "db.tabella1.campo1==\'valore\'". Una condizione come "db.tabella1.campo1==db.tabella2.campo2" produce un "JOIN" SQL.',
'The Core': 'The Core',
diff --git a/applications/welcome/languages/nl.py b/applications/welcome/languages/nl.py
index 8efd85e4..33a06002 100644
--- a/applications/welcome/languages/nl.py
+++ b/applications/welcome/languages/nl.py
@@ -50,7 +50,7 @@
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'LET OP: TESTEN IS NIET THREAD SAFE, PROBEER NIET GELIJKTIJDIG MEERDERE TESTS TE DOEN.',
'ATTENTION: you cannot edit the running application!': 'LET OP: je kan de applicatie die nu draait niet editen!',
'Authentication': 'Authenticatie',
-'Available databases and tables': 'Beschikbare databases en tabellen',
+'Available Databases and Tables': 'Beschikbare databases en tabellen',
'Back': 'Terug',
'Buy this book': 'Koop dit boek',
'Cache': 'Cache',
@@ -95,8 +95,8 @@
'customize me!': 'pas me aan!',
'data uploaded': 'data geupload',
'Database': 'Database',
-'database': 'database',
-'database %s select': 'database %s select',
+'Database': 'Database',
+'Database %s select': 'Database %s select',
'database administration': 'database administratie',
'Date and Time': 'Datum en Tijd',
'db': 'db',
@@ -260,9 +260,9 @@
'RAM Cache Keys': 'RAM Cache Keys',
'Ram Cleared': 'Ram Geleegd',
'Recipes': 'Recepten',
-'record': 'record',
+'Record': 'Record',
'record does not exist': 'record bestaat niet',
-'record id': 'record id',
+'Record id': 'Record id',
'Record ID': 'Record ID',
'register': 'registreer',
'Register': 'Registreer',
@@ -277,7 +277,7 @@
'restore': 'herstel',
'revert': 'herstel',
'Role': 'Rol',
-'Rows in table': 'Rijen in tabel',
+'Rows in Table': 'Rijen in tabel',
'Rows selected': 'Rijen geselecteerd',
'save': 'bewaar',
'Save profile': 'Bewaar profiel',
@@ -300,7 +300,7 @@
'submit': 'submit',
'Support': 'Support',
'Sure you want to delete this object?': 'Weet je zeker dat je dit object wilt verwijderen?',
-'table': 'Tabel',
+'Table': 'Tabel',
'Table name': 'Tabelnaam',
'test': 'test',
'Testing application': 'Applicatie testen',
diff --git a/applications/welcome/languages/pl.py b/applications/welcome/languages/pl.py
index 366987c5..a94ec312 100644
--- a/applications/welcome/languages/pl.py
+++ b/applications/welcome/languages/pl.py
@@ -10,7 +10,7 @@
'%s selected': '%s wybranych',
'Administrative interface': 'Kliknij aby przejść do panelu administracyjnego',
'Authentication': 'Uwierzytelnienie',
-'Available databases and tables': 'Dostępne bazy danych i tabele',
+'Available Databases and Tables': 'Dostępne bazy danych i tabele',
'Cannot be empty': 'Nie może być puste',
'Change Password': 'Zmień hasło',
'Check to delete': 'Zaznacz aby usunąć',
@@ -59,7 +59,7 @@
'Register': 'Zarejestruj',
'Registration key': 'Klucz rejestracji',
'Role': 'Rola',
-'Rows in table': 'Wiersze w tabeli',
+'Rows in Table': 'Wiersze w tabeli',
'Rows selected': 'Wybrane wiersze',
'Stylesheet': 'Arkusz stylów',
'Submit': 'Wyślij',
@@ -83,8 +83,8 @@
'change password': 'change password',
'customize me!': 'dostosuj mnie!',
'data uploaded': 'dane wysłane',
-'database': 'baza danych',
-'database %s select': 'wybór z bazy danych %s',
+'Database': 'baza danych',
+'Database %s select': 'wybór z bazy danych %s',
'db': 'baza danych',
'design': 'projektuj',
'done!': 'zrobione!',
@@ -99,11 +99,11 @@
'next 100 rows': 'następne 100 wierszy',
'or import from csv file': 'lub zaimportuj z pliku csv',
'previous 100 rows': 'poprzednie 100 wierszy',
-'record': 'rekord',
+'Record': 'rekord',
'record does not exist': 'rekord nie istnieje',
-'record id': 'id rekordu',
+'Record id': 'id rekordu',
'register': 'register',
'state': 'stan',
-'table': 'tabela',
+'Table': 'tabela',
'unable to parse csv file': 'nie można sparsować pliku csv',
}
diff --git a/applications/welcome/languages/pt-br.py b/applications/welcome/languages/pt-br.py
index b9b8a8bf..ecdfba3f 100644
--- a/applications/welcome/languages/pt-br.py
+++ b/applications/welcome/languages/pt-br.py
@@ -12,7 +12,7 @@
'Access Control': 'Access Control',
'Administrative interface': 'Interface administrativa',
'Ajax Recipes': 'Ajax Recipes',
-'Available databases and tables': 'Bancos de dados e tabelas disponíveis',
+'Available Databases and Tables': 'Bancos de dados e tabelas disponíveis',
'Buy this book': 'Buy this book',
'Cannot be empty': 'Não pode ser vazio',
'Check to delete': 'Marque para apagar',
@@ -79,7 +79,7 @@
'Reset Password key': 'Reset Password key',
'Resources': 'Resources',
'Role': 'Role',
-'Rows in table': 'Linhas na tabela',
+'Rows in Table': 'Linhas na tabela',
'Rows selected': 'Linhas selecionadas',
'Semantic': 'Semantic',
'Services': 'Services',
@@ -115,8 +115,8 @@
'change password': 'modificar senha',
'customize me!': 'Personalize-me!',
'data uploaded': 'dados enviados',
-'database': 'banco de dados',
-'database %s select': 'Selecionar banco de dados %s',
+'Database': 'banco de dados',
+'Database %s select': 'Selecionar banco de dados %s',
'db': 'bd',
'design': 'design',
'done!': 'concluído!',
@@ -132,11 +132,11 @@
'next 100 rows': 'próximas 100 linhas',
'or import from csv file': 'ou importar de um arquivo csv',
'previous 100 rows': '100 linhas anteriores',
-'record': 'registro',
+'Record': 'registro',
'record does not exist': 'registro não existe',
-'record id': 'id do registro',
+'Record id': 'id do registro',
'register': 'Registre-se',
'state': 'estado',
-'table': 'tabela',
+'Table': 'tabela',
'unable to parse csv file': 'não foi possível analisar arquivo csv',
}
diff --git a/applications/welcome/languages/pt.py b/applications/welcome/languages/pt.py
index f8e01ab1..8b0c633f 100644
--- a/applications/welcome/languages/pt.py
+++ b/applications/welcome/languages/pt.py
@@ -12,7 +12,7 @@
'Administrative interface': 'Painel administrativo',
'Author Reference Auth User': 'Author Reference Auth User',
'Author Reference Auth User.username': 'Author Reference Auth User.username',
-'Available databases and tables': 'bases de dados e tabelas disponíveis',
+'Available Databases and Tables': 'bases de dados e tabelas disponíveis',
'Cannot be empty': 'não pode ser vazio',
'Category Create': 'Category Create',
'Category Select': 'Category Select',
@@ -58,7 +58,7 @@
'Powered by': 'Suportado por',
'Query:': 'Interrogação:',
'Replyto Reference Post': 'Replyto Reference Post',
-'Rows in table': 'Linhas numa tabela',
+'Rows in Table': 'Linhas numa tabela',
'Rows selected': 'Linhas seleccionadas',
'Stylesheet': 'Folha de estilo',
'Sure you want to delete this object?': 'Tem a certeza que deseja eliminar este objecto?',
@@ -83,8 +83,8 @@
'create new post': 'create new post',
'customize me!': 'Personaliza-me!',
'data uploaded': 'informação enviada',
-'database': 'base de dados',
-'database %s select': 'selecção de base de dados %s',
+'Database': 'base de dados',
+'Database %s select': 'selecção de base de dados %s',
'db': 'bd',
'design': 'design',
'done!': 'concluído!',
@@ -102,9 +102,9 @@
'next 100 rows': 'próximas 100 linhas',
'or import from csv file': 'ou importe a partir de ficheiro csv',
'previous 100 rows': '100 linhas anteriores',
-'record': 'registo',
+'Record': 'registo',
'record does not exist': 'registo inexistente',
-'record id': 'id de registo',
+'Record id': 'id de registo',
'register': 'register',
'search category': 'search category',
'search comment': 'search comment',
@@ -116,6 +116,6 @@
'show comment': 'show comment',
'show post': 'show post',
'state': 'estado',
-'table': 'tabela',
+'Table': 'tabela',
'unable to parse csv file': 'não foi possível carregar ficheiro csv',
}
diff --git a/applications/welcome/languages/ro.py b/applications/welcome/languages/ro.py
index e2f0a31a..1352c26e 100644
--- a/applications/welcome/languages/ro.py
+++ b/applications/welcome/languages/ro.py
@@ -53,7 +53,7 @@
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENȚIE: Nu puteți efectua mai multe teste o dată deoarece lansarea în execuție a mai multor subpocese nu este sigură.',
'ATTENTION: you cannot edit the running application!': 'ATENȚIE: nu puteți edita o aplicație în curs de execuție!',
'Authentication': 'Autentificare',
-'Available databases and tables': 'Baze de date și tabele disponibile',
+'Available Databases and Tables': 'Baze de date și tabele disponibile',
'Back': 'Înapoi',
'Buy this book': 'Cumpără această carte',
'cache': 'cache',
@@ -92,8 +92,8 @@
'customize me!': 'Personalizează-mă!',
'data uploaded': 'date încărcate',
'Database': 'Baza de date',
-'database': 'bază de date',
-'database %s select': 'selectare bază de date %s',
+'Database': 'bază de date',
+'Database %s select': 'selectare bază de date %s',
'database administration': 'administrare bază de date',
'Date and Time': 'Data și ora',
'db': 'db',
@@ -247,9 +247,9 @@
'Quick Examples': 'Exemple rapide',
'RAM Cache Keys': 'Chei cache RAM',
'Recipes': 'Rețete',
-'record': 'înregistrare',
+'Record': 'înregistrare',
'record does not exist': 'înregistrare inexistentă',
-'record id': 'id înregistrare',
+'Record id': 'id înregistrare',
'Record ID': 'ID înregistrare',
'register': 'înregistrare',
'Register': 'Înregistrare',
@@ -264,7 +264,7 @@
'restore': 'restaurare',
'revert': 'revenire',
'Role': 'Rol',
-'Rows in table': 'Linii în tabel',
+'Rows in Table': 'Linii în tabel',
'Rows selected': 'Linii selectate',
'save': 'salvare',
'Save profile': 'Salvează profil',
@@ -284,7 +284,7 @@
'Submit': 'Înregistrează',
'Support': 'Suport',
'Sure you want to delete this object?': 'Sigur ștergeți acest obiect?',
-'table': 'tabel',
+'Table': 'tabel',
'Table name': 'Nume tabel',
'test': 'test',
'Testing application': 'Testare aplicație',
diff --git a/applications/welcome/languages/ru.py b/applications/welcome/languages/ru.py
index 8782bb9a..ce632207 100644
--- a/applications/welcome/languages/ru.py
+++ b/applications/welcome/languages/ru.py
@@ -28,7 +28,7 @@
'Administrative interface': 'административный интерфейс',
'Ajax Recipes': 'Ajax Recipes',
'Are you sure you want to delete this object?': 'Вы уверены, что хотите удалить этот объект?',
-'Available databases and tables': 'Базы данных и таблицы',
+'Available Databases and Tables': 'Базы данных и таблицы',
'Buy this book': 'Buy this book',
'cache': 'cache',
'Cannot be empty': 'Пустое значение недопустимо',
@@ -45,9 +45,9 @@
'Current session': 'Текущая сессия',
'customize me!': 'настройте внешний вид!',
'data uploaded': 'данные загружены',
-'database': 'база данных',
+'Database': 'база данных',
'Database': 'Database',
-'database %s select': 'выбор базы данных %s',
+'Database %s select': 'выбор базы данных %s',
'db': 'БД',
'DB Model': 'DB Model',
'Delete:': 'Удалить:',
@@ -129,7 +129,7 @@
'Quick Examples': 'Quick Examples',
'Recipes': 'Recipes',
'record does not exist': 'запись не найдена',
-'record id': 'id записи',
+'Record id': 'id записи',
'Record ID': 'ID записи',
'Register': 'Зарегистрироваться',
'Registration identifier': 'Registration identifier',
@@ -137,7 +137,7 @@
'Remember me (for 30 days)': 'Запомнить меня (на 30 дней)',
'Reset Password key': 'Сбросить ключ пароля',
'Role': 'Роль',
-'Rows in table': 'Строк в таблице',
+'Rows in Table': 'Строк в таблице',
'Rows selected': 'Выделено строк',
'Semantic': 'Semantic',
'Services': 'Services',
@@ -146,7 +146,7 @@
'Submit': 'Отправить',
'Support': 'Support',
'Sure you want to delete this object?': 'Подтвердите удаление объекта',
-'table': 'таблица',
+'Table': 'таблица',
'Table name': 'Имя таблицы',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Запрос" - это условие вида "db.table1.field1==\'значение\'". Выражение вида "db.table1.field1==db.table2.field2" формирует SQL JOIN.',
'The Core': 'The Core',
diff --git a/applications/welcome/languages/sk.py b/applications/welcome/languages/sk.py
index fd28f3ff..34d34e63 100644
--- a/applications/welcome/languages/sk.py
+++ b/applications/welcome/languages/sk.py
@@ -9,7 +9,7 @@
'%s %%{row} updated': '%s upravených záznamov',
'%s selected': '%s označených',
'Administrative interface': 'pre administrátorské rozhranie kliknite sem',
-'Available databases and tables': 'Dostupné databázy a tabuľky',
+'Available Databases and Tables': 'Dostupné databázy a tabuľky',
'Cannot be empty': 'Nemôže byť prázdne',
'Check to delete': 'Označiť na zmazanie',
'Controller': 'Controller',
@@ -56,7 +56,7 @@
'Remember me (for 30 days)': 'Zapamätaj si ma (na 30 dní)',
'Reset Password key': 'Nastaviť registračný kľúč',
'Role': 'Rola',
-'Rows in table': 'riadkov v tabuľke',
+'Rows in Table': 'riadkov v tabuľke',
'Rows selected': 'označených riadkov',
'Stylesheet': 'Stylesheet',
'Submit': 'Odoslať',
@@ -85,8 +85,8 @@
'cache': 'cache',
'customize me!': 'prispôsob ma!',
'data uploaded': 'údaje naplnené',
-'database': 'databáza',
-'database %s select': 'databáza %s výber',
+'Database': 'databáza',
+'Database %s select': 'databáza %s výber',
'db': 'db',
'design': 'návrh',
'done!': 'hotovo!',
@@ -102,11 +102,11 @@
'or import from csv file': 'alebo naimportovať z csv súboru',
'password': 'heslo',
'previous 100 rows': 'predchádzajúcich 100 riadkov',
-'record': 'záznam',
+'Record': 'záznam',
'record does not exist': 'záznam neexistuje',
-'record id': 'id záznamu',
+'Record id': 'id záznamu',
'register': 'registrovať',
'state': 'stav',
-'table': 'tabuľka',
+'Table': 'tabuľka',
'unable to parse csv file': 'nedá sa načítať csv súbor',
}
diff --git a/applications/welcome/languages/uk.py b/applications/welcome/languages/uk.py
index 1bf341e2..4561f5cd 100644
--- a/applications/welcome/languages/uk.py
+++ b/applications/welcome/languages/uk.py
@@ -36,7 +36,7 @@
'Ajax Recipes': 'Рецепти для Ajax',
'appadmin is disabled because insecure channel': 'використовується незахищенний канал (HTTP). Appadmin вимкнено',
'Are you sure you want to delete this object?': "Ви впевнені, що хочете вилучити цей об'єкт?",
-'Available databases and tables': 'Доступні бази даних та таблиці',
+'Available Databases and Tables': 'Доступні бази даних та таблиці',
'Buy this book': 'Купити книжку',
'cache': 'кеш',
'Cache': 'Кеш',
@@ -58,9 +58,9 @@
'Current session': 'Поточна сесія (current session)',
'customize me!': 'причепуріть мене!',
'data uploaded': 'дані завантажено',
-'database': 'база даних',
+'Database': 'база даних',
'Database': 'База даних',
-'database %s select': 'Вибірка з бази даних %s',
+'Database %s select': 'Вибірка з бази даних %s',
'db': 'база даних',
'DB Model': 'Модель БД',
'Delete:': 'Вилучити:',
@@ -157,10 +157,10 @@
'RAM Cache Keys': 'Ключі ОЗП-кешу',
'Ram Cleared': 'ОЗП-кеш очищено',
'Recipes': 'Рецепти',
-'record': 'запис',
+'Record': 'запис',
'Record %(id)s updated': 'Запис %(id)s змінено',
'record does not exist': 'запису не існує',
-'record id': 'ід. запису',
+'Record id': 'ід. запису',
'Record ID': 'Ід.запису',
'Record Updated': 'Запис змінено',
'Register': 'Реєстрація',
@@ -171,7 +171,7 @@
'Request reset password': 'Запит на зміну пароля',
'Reset Password key': 'Ключ скидання пароля',
'Role': 'Роль',
-'Rows in table': 'Рядки в таблиці',
+'Rows in Table': 'Рядки в таблиці',
'Rows selected': 'Відмічено рядків',
'Save profile': 'Зберегти параметри',
'Semantic': 'Семантика',
@@ -183,7 +183,7 @@
'submit': 'submit',
'Submit': 'Застосувати',
'Support': 'Підтримка',
-'table': 'Таблиця',
+'Table': 'Таблиця',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Запит" це умова, на зразок "db.table1.field1==\'значення\'". Вираз "db.table1.field1==db.table2.field2" повертає результат об\'єднання (SQL JOIN) таблиць.',
'The Core': 'Ядро',
'The output of the file is a dictionary that was rendered by the view %s': 'Результат функції - словник пар (назва=значення) було відображено з допомогою відображення (view) %s',
diff --git a/applications/welcome/languages/zh.py b/applications/welcome/languages/zh.py
index 0567e55e..30c8a575 100644
--- a/applications/welcome/languages/zh.py
+++ b/applications/welcome/languages/zh.py
@@ -24,7 +24,7 @@
'Are you sure you want to uninstall application "%s"': '確定要移除應用程式 "%s"',
'Are you sure you want to uninstall application "%s"?': '確定要移除應用程式 "%s"',
'Authentication': '驗證',
-'Available databases and tables': '可提供的資料庫和資料表',
+'Available Databases and Tables': '可提供的資料庫和資料表',
'Cannot be empty': '不可空白',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': '無法編譯:應用程式中含有錯誤,請除錯後再試一次.',
'Change Password': '變更密碼',
@@ -101,7 +101,7 @@
'Reset Password key': '重設密碼',
'Resolve Conflict file': '解決衝突檔案',
'Role': '角色',
-'Rows in table': '在資料表裏的資料',
+'Rows in Table': '在資料表裏的資料',
'Rows selected': '筆資料被選擇',
'Saved file hash:': '檔案雜湊值已紀錄:',
'Static files': '靜態檔案',
@@ -144,8 +144,8 @@
'change password': '變更密碼',
'customize me!': '請調整我!',
'data uploaded': '資料已上傳',
-'database': '資料庫',
-'database %s select': '已選擇 %s 資料庫',
+'Database': '資料庫',
+'Database %s select': '已選擇 %s 資料庫',
'db': 'db',
'design': '設計',
'done!': '完成!',
@@ -160,11 +160,11 @@
'next 100 rows': '往後 100 筆',
'or import from csv file': '或是從逗號分隔檔(CSV)匯入',
'previous 100 rows': '往前 100 筆',
-'record': '紀錄',
+'Record': '紀錄',
'record does not exist': '紀錄不存在',
-'record id': '紀錄編號',
+'Record id': '紀錄編號',
'register': '註冊',
'state': '狀態',
-'table': '資料表',
+'Table': '資料表',
'unable to parse csv file': '無法解析逗號分隔檔(csv)',
}
diff --git a/applications/welcome/views/appadmin.html b/applications/welcome/views/appadmin.html
index bdbfd307..541a18bb 100644
--- a/applications/welcome/views/appadmin.html
+++ b/applications/welcome/views/appadmin.html
@@ -10,7 +10,7 @@
//-->
{{if request.function=='index':}}
-{{=T("Available databases and tables")}}
+{{=T("Available Databases and Tables")}}
{{if not databases:}}{{=T("No databases in this application")}}{{pass}}
{{for db in sorted(databases):}}
@@ -42,11 +42,11 @@
{{pass}}
{{elif request.function=='select':}}
- {{=XML(str(T("database %s select"))%A(request.args[0],_href=URL('index'))) }}
+ {{=XML(str(T("Database %s select"))%A(request.args[0],_href=URL('index'))) }}
{{if table:}}
{{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn")}}
- {{=T("Rows in table")}}
+ {{=T("Rows in Table")}}
{{else:}}
{{=T("Rows selected")}}
{{pass}}
@@ -70,31 +70,31 @@
{{=formcsv or ''}}
{{elif request.function=='insert':}}
- {{=T("database")}} {{=A(request.args[0],_href=URL('index'))}}
+ {{=T("Database")}} {{=A(request.args[0],_href=URL('index'))}}
{{if hasattr(table,'_primarykey'):}}
{{fieldname=table._primarykey[0]}}
{{dbname=request.args[0]}}
{{tablename=request.args[1]}}
{{cond = table[fieldname].type in ['string','text'] and '!=""' or '>0'}}
- {{=T("table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
+ {{=T("Table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
{{else:}}
- {{=T("table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
+ {{=T("Table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
{{pass}}
{{=T("New Record")}}
{{=form}}
{{elif request.function=='update':}}
- {{=T("database")}} {{=A(request.args[0],_href=URL('index'))}}
+ {{=T("Database")}} {{=A(request.args[0],_href=URL('index'))}}
{{if hasattr(table,'_primarykey'):}}
{{fieldname=request.vars.keys()[0]}}
{{dbname=request.args[0]}}
{{tablename=request.args[1]}}
{{cond = table[fieldname].type in ['string','text'] and '!=""' or '>0'}}
- {{=T("table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
- {{=T("record")}} {{=A('%s=%s'%request.vars.items()[0],_href=URL('update',args=request.args[:2],vars=request.vars))}}
+ {{=T("Table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}}
+ {{=T("Record")}} {{=A('%s=%s'%request.vars.items()[0],_href=URL('update',args=request.args[:2],vars=request.vars))}}
{{else:}}
- {{=T("table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
- {{=T("record id")}} {{=A(request.args[2],_href=URL('update',args=request.args[:3]))}}
+ {{=T("Table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
+ {{=T("Record id")}} {{=A(request.args[2],_href=URL('update',args=request.args[:3]))}}
{{pass}}
{{=T("Edit current record")}}
{{=form}}