initial commit
@@ -0,0 +1,2 @@
|
||||
Write something about this app.
|
||||
Developed with web2py.
|
||||
@@ -0,0 +1,4 @@
|
||||
The web2py welcome app is licensed under public domain
|
||||
(except for the css and js files that it includes, which have their own third party licenses).
|
||||
|
||||
You can modify this license when you add your own code.
|
||||
@@ -0,0 +1,430 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# ##########################################################
|
||||
# ## make sure administrator is on localhost
|
||||
# ###########################################################
|
||||
|
||||
import os
|
||||
import socket
|
||||
import datetime
|
||||
import copy
|
||||
import gluon.contenttype
|
||||
import gluon.fileutils
|
||||
|
||||
# ## critical --- make a copy of the environment
|
||||
|
||||
global_env = copy.copy(globals())
|
||||
global_env['datetime'] = datetime
|
||||
|
||||
http_host = request.env.http_host.split(':')[0]
|
||||
remote_addr = request.env.remote_addr
|
||||
try:
|
||||
hosts = (http_host, socket.gethostname(),
|
||||
socket.gethostbyname(http_host),
|
||||
'::1','127.0.0.1','::ffff:127.0.0.1')
|
||||
except:
|
||||
hosts = (http_host, )
|
||||
|
||||
if request.env.http_x_forwarded_for or request.env.wsgi_url_scheme\
|
||||
in ['https', 'HTTPS']:
|
||||
session.secure()
|
||||
elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1"):
|
||||
raise HTTP(200, T('appadmin is disabled because insecure channel'))
|
||||
|
||||
if (request.application=='admin' and not session.authorized) or \
|
||||
(request.application!='admin' and not gluon.fileutils.check_credentials(request)):
|
||||
redirect(URL('admin', 'default', 'index',
|
||||
vars=dict(send=URL(args=request.args,vars=request.vars))))
|
||||
|
||||
ignore_rw = True
|
||||
response.view = 'appadmin.html'
|
||||
response.menu = [[T('design'), False, URL('admin', 'default', 'design',
|
||||
args=[request.application])], [T('db'), False,
|
||||
URL('index')], [T('state'), False,
|
||||
URL('state')], [T('cache'), False,
|
||||
URL('ccache')]]
|
||||
|
||||
# ##########################################################
|
||||
# ## auxiliary functions
|
||||
# ###########################################################
|
||||
|
||||
|
||||
def get_databases(request):
|
||||
dbs = {}
|
||||
for (key, value) in global_env.items():
|
||||
cond = False
|
||||
try:
|
||||
cond = isinstance(value, GQLDB)
|
||||
except:
|
||||
cond = isinstance(value, SQLDB)
|
||||
if cond:
|
||||
dbs[key] = value
|
||||
return dbs
|
||||
|
||||
|
||||
databases = get_databases(None)
|
||||
|
||||
|
||||
def eval_in_global_env(text):
|
||||
exec ('_ret=%s' % text, {}, global_env)
|
||||
return global_env['_ret']
|
||||
|
||||
|
||||
def get_database(request):
|
||||
if request.args and request.args[0] in databases:
|
||||
return eval_in_global_env(request.args[0])
|
||||
else:
|
||||
session.flash = T('invalid request')
|
||||
redirect(URL('index'))
|
||||
|
||||
|
||||
def get_table(request):
|
||||
db = get_database(request)
|
||||
if len(request.args) > 1 and request.args[1] in db.tables:
|
||||
return (db, request.args[1])
|
||||
else:
|
||||
session.flash = T('invalid request')
|
||||
redirect(URL('index'))
|
||||
|
||||
|
||||
def get_query(request):
|
||||
try:
|
||||
return eval_in_global_env(request.vars.query)
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
|
||||
def query_by_table_type(tablename,db,request=request):
|
||||
keyed = hasattr(db[tablename],'_primarykey')
|
||||
if keyed:
|
||||
firstkey = db[tablename][db[tablename]._primarykey[0]]
|
||||
cond = '>0'
|
||||
if firstkey.type in ['string', 'text']:
|
||||
cond = '!=""'
|
||||
qry = '%s.%s.%s%s' % (request.args[0], request.args[1], firstkey.name, cond)
|
||||
else:
|
||||
qry = '%s.%s.id>0' % tuple(request.args[:2])
|
||||
return qry
|
||||
|
||||
|
||||
|
||||
# ##########################################################
|
||||
# ## list all databases and tables
|
||||
# ###########################################################
|
||||
|
||||
|
||||
def index():
|
||||
return dict(databases=databases)
|
||||
|
||||
|
||||
# ##########################################################
|
||||
# ## insert a new record
|
||||
# ###########################################################
|
||||
|
||||
|
||||
def insert():
|
||||
(db, table) = get_table(request)
|
||||
form = SQLFORM(db[table], ignore_rw=ignore_rw)
|
||||
if form.accepts(request.vars, session):
|
||||
response.flash = T('new record inserted')
|
||||
return dict(form=form,table=db[table])
|
||||
|
||||
|
||||
# ##########################################################
|
||||
# ## list all records in table and insert new record
|
||||
# ###########################################################
|
||||
|
||||
|
||||
def download():
|
||||
import os
|
||||
db = get_database(request)
|
||||
return response.download(request,db)
|
||||
|
||||
def csv():
|
||||
import gluon.contenttype
|
||||
response.headers['Content-Type'] = \
|
||||
gluon.contenttype.contenttype('.csv')
|
||||
db = get_database(request)
|
||||
query = get_query(request)
|
||||
if not query:
|
||||
return None
|
||||
response.headers['Content-disposition'] = 'attachment; filename=%s_%s.csv'\
|
||||
% tuple(request.vars.query.split('.')[:2])
|
||||
return str(db(query).select())
|
||||
|
||||
|
||||
def import_csv(table, file):
|
||||
table.import_from_csv_file(file)
|
||||
|
||||
def select():
|
||||
import re
|
||||
db = get_database(request)
|
||||
dbname = request.args[0]
|
||||
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)')
|
||||
if len(request.args)>1 and hasattr(db[request.args[1]],'_primarykey'):
|
||||
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)')
|
||||
if request.vars.query:
|
||||
match = regex.match(request.vars.query)
|
||||
if match:
|
||||
request.vars.query = '%s.%s.%s==%s' % (request.args[0],
|
||||
match.group('table'), match.group('field'),
|
||||
match.group('value'))
|
||||
else:
|
||||
request.vars.query = session.last_query
|
||||
query = get_query(request)
|
||||
if request.vars.start:
|
||||
start = int(request.vars.start)
|
||||
else:
|
||||
start = 0
|
||||
nrows = 0
|
||||
stop = start + 100
|
||||
table = None
|
||||
rows = []
|
||||
orderby = request.vars.orderby
|
||||
if orderby:
|
||||
orderby = dbname + '.' + orderby
|
||||
if orderby == session.last_orderby:
|
||||
if orderby[0] == '~':
|
||||
orderby = orderby[1:]
|
||||
else:
|
||||
orderby = '~' + orderby
|
||||
session.last_orderby = orderby
|
||||
session.last_query = request.vars.query
|
||||
form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px',
|
||||
_name='query', _value=request.vars.query or '',
|
||||
requires=IS_NOT_EMPTY(error_message=T("Cannot be empty")))), TR(T('Update:'),
|
||||
INPUT(_name='update_check', _type='checkbox',
|
||||
value=False), INPUT(_style='width:400px',
|
||||
_name='update_fields', _value=request.vars.update_fields
|
||||
or '')), TR(T('Delete:'), INPUT(_name='delete_check',
|
||||
_class='delete', _type='checkbox', value=False), ''),
|
||||
TR('', '', INPUT(_type='submit', _value='submit'))),
|
||||
_action=URL(r=request,args=request.args))
|
||||
if request.vars.csvfile != None:
|
||||
try:
|
||||
import_csv(db[request.vars.table],
|
||||
request.vars.csvfile.file)
|
||||
response.flash = T('data uploaded')
|
||||
except Exception, e:
|
||||
response.flash = DIV(T('unable to parse csv file'),PRE(str(e)))
|
||||
if form.accepts(request.vars, formname=None):
|
||||
# regex = re.compile(request.args[0] + '\.(?P<table>\w+)\.id\>0')
|
||||
regex = re.compile(request.args[0] + '\.(?P<table>\w+)\..+')
|
||||
|
||||
match = regex.match(form.vars.query.strip())
|
||||
if match:
|
||||
table = match.group('table')
|
||||
try:
|
||||
nrows = db(query).count()
|
||||
if form.vars.update_check and form.vars.update_fields:
|
||||
db(query).update(**eval_in_global_env('dict(%s)'
|
||||
% form.vars.update_fields))
|
||||
response.flash = T('%s rows updated', nrows)
|
||||
elif form.vars.delete_check:
|
||||
db(query).delete()
|
||||
response.flash = T('%s rows deleted', nrows)
|
||||
nrows = db(query).count()
|
||||
if orderby:
|
||||
rows = db(query).select(limitby=(start, stop),
|
||||
orderby=eval_in_global_env(orderby))
|
||||
else:
|
||||
rows = db(query).select(limitby=(start, stop))
|
||||
except Exception, e:
|
||||
(rows, nrows) = ([], 0)
|
||||
response.flash = DIV(T('Invalid Query'),PRE(str(e)))
|
||||
return dict(
|
||||
form=form,
|
||||
table=table,
|
||||
start=start,
|
||||
stop=stop,
|
||||
nrows=nrows,
|
||||
rows=rows,
|
||||
query=request.vars.query,
|
||||
)
|
||||
|
||||
|
||||
# ##########################################################
|
||||
# ## edit delete one record
|
||||
# ###########################################################
|
||||
|
||||
|
||||
def update():
|
||||
(db, table) = get_table(request)
|
||||
keyed = hasattr(db[table],'_primarykey')
|
||||
record = None
|
||||
if keyed:
|
||||
key = [f for f in request.vars if f in db[table]._primarykey]
|
||||
if key:
|
||||
record = db(db[table][key[0]] == request.vars[key[0]]).select().first()
|
||||
else:
|
||||
record = db(db[table].id == request.args(2)).select().first()
|
||||
|
||||
if not record:
|
||||
qry = query_by_table_type(table, db)
|
||||
session.flash = T('record does not exist')
|
||||
redirect(URL('select', args=request.args[:1],
|
||||
vars=dict(query=qry)))
|
||||
|
||||
if keyed:
|
||||
for k in db[table]._primarykey:
|
||||
db[table][k].writable=False
|
||||
|
||||
form = SQLFORM(db[table], record, deletable=True, delete_label=T('Check to delete'),
|
||||
ignore_rw=ignore_rw and not keyed,
|
||||
linkto=URL('select',
|
||||
args=request.args[:1]), upload=URL(r=request,
|
||||
f='download', args=request.args[:1]))
|
||||
|
||||
if form.accepts(request.vars, session):
|
||||
session.flash = T('done!')
|
||||
qry = query_by_table_type(table, db)
|
||||
redirect(URL('select', args=request.args[:1],
|
||||
vars=dict(query=qry)))
|
||||
return dict(form=form,table=db[table])
|
||||
|
||||
|
||||
# ##########################################################
|
||||
# ## get global variables
|
||||
# ###########################################################
|
||||
|
||||
|
||||
def state():
|
||||
return dict()
|
||||
|
||||
def ccache():
|
||||
form = FORM(
|
||||
P(TAG.BUTTON("Clear CACHE?", _type="submit", _name="yes", _value="yes")),
|
||||
P(TAG.BUTTON("Clear RAM", _type="submit", _name="ram", _value="ram")),
|
||||
P(TAG.BUTTON("Clear DISK", _type="submit", _name="disk", _value="disk")),
|
||||
)
|
||||
|
||||
if form.accepts(request.vars, session):
|
||||
clear_ram = False
|
||||
clear_disk = False
|
||||
session.flash = ""
|
||||
if request.vars.yes:
|
||||
clear_ram = clear_disk = True
|
||||
if request.vars.ram:
|
||||
clear_ram = True
|
||||
if request.vars.disk:
|
||||
clear_disk = True
|
||||
|
||||
if clear_ram:
|
||||
cache.ram.clear()
|
||||
session.flash += "Ram Cleared "
|
||||
if clear_disk:
|
||||
cache.disk.clear()
|
||||
session.flash += "Disk Cleared"
|
||||
|
||||
redirect(URL(r=request))
|
||||
|
||||
try:
|
||||
from guppy import hpy; hp=hpy()
|
||||
except ImportError:
|
||||
hp = False
|
||||
|
||||
import shelve, os, copy, time, math
|
||||
from gluon import portalocker
|
||||
|
||||
ram = {
|
||||
'entries': 0,
|
||||
'bytes': 0,
|
||||
'objects': 0,
|
||||
'hits': 0,
|
||||
'misses': 0,
|
||||
'ratio': 0,
|
||||
'oldest': time.time(),
|
||||
'keys': []
|
||||
}
|
||||
disk = copy.copy(ram)
|
||||
total = copy.copy(ram)
|
||||
disk['keys'] = []
|
||||
total['keys'] = []
|
||||
|
||||
def GetInHMS(seconds):
|
||||
hours = math.floor(seconds / 3600)
|
||||
seconds -= hours * 3600
|
||||
minutes = math.floor(seconds / 60)
|
||||
seconds -= minutes * 60
|
||||
seconds = math.floor(seconds)
|
||||
|
||||
return (hours, minutes, seconds)
|
||||
|
||||
for key, value in cache.ram.storage.items():
|
||||
if isinstance(value, dict):
|
||||
ram['hits'] = value['hit_total'] - value['misses']
|
||||
ram['misses'] = value['misses']
|
||||
try:
|
||||
ram['ratio'] = ram['hits'] * 100 / value['hit_total']
|
||||
except (KeyError, ZeroDivisionError):
|
||||
ram['ratio'] = 0
|
||||
else:
|
||||
if hp:
|
||||
ram['bytes'] += hp.iso(value[1]).size
|
||||
ram['objects'] += hp.iso(value[1]).count
|
||||
ram['entries'] += 1
|
||||
if value[0] < ram['oldest']:
|
||||
ram['oldest'] = value[0]
|
||||
ram['keys'].append((key, GetInHMS(time.time() - value[0])))
|
||||
|
||||
locker = open(os.path.join(request.folder,
|
||||
'cache/cache.lock'), 'a')
|
||||
portalocker.lock(locker, portalocker.LOCK_EX)
|
||||
disk_storage = shelve.open(os.path.join(request.folder, 'cache/cache.shelve'))
|
||||
try:
|
||||
for key, value in disk_storage.items():
|
||||
if isinstance(value, dict):
|
||||
disk['hits'] = value['hit_total'] - value['misses']
|
||||
disk['misses'] = value['misses']
|
||||
try:
|
||||
disk['ratio'] = disk['hits'] * 100 / value['hit_total']
|
||||
except (KeyError, ZeroDivisionError):
|
||||
disk['ratio'] = 0
|
||||
else:
|
||||
if hp:
|
||||
disk['bytes'] += hp.iso(value[1]).size
|
||||
disk['objects'] += hp.iso(value[1]).count
|
||||
disk['entries'] += 1
|
||||
if value[0] < disk['oldest']:
|
||||
disk['oldest'] = value[0]
|
||||
disk['keys'].append((key, GetInHMS(time.time() - value[0])))
|
||||
|
||||
finally:
|
||||
portalocker.unlock(locker)
|
||||
locker.close()
|
||||
disk_storage.close()
|
||||
|
||||
total['entries'] = ram['entries'] + disk['entries']
|
||||
total['bytes'] = ram['bytes'] + disk['bytes']
|
||||
total['objects'] = ram['objects'] + disk['objects']
|
||||
total['hits'] = ram['hits'] + disk['hits']
|
||||
total['misses'] = ram['misses'] + disk['misses']
|
||||
total['keys'] = ram['keys'] + disk['keys']
|
||||
try:
|
||||
total['ratio'] = total['hits'] * 100 / (total['hits'] + total['misses'])
|
||||
except (KeyError, ZeroDivisionError):
|
||||
total['ratio'] = 0
|
||||
|
||||
if disk['oldest'] < ram['oldest']:
|
||||
total['oldest'] = disk['oldest']
|
||||
else:
|
||||
total['oldest'] = ram['oldest']
|
||||
|
||||
ram['oldest'] = GetInHMS(time.time() - ram['oldest'])
|
||||
disk['oldest'] = GetInHMS(time.time() - disk['oldest'])
|
||||
total['oldest'] = GetInHMS(time.time() - total['oldest'])
|
||||
|
||||
def key_table(keys):
|
||||
return TABLE(
|
||||
TR(TD(B('Key')), TD(B('Time in Cache (h:m:s)'))),
|
||||
*[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys],
|
||||
**dict(_class='cache-keys',
|
||||
_style="border-collapse: separate; border-spacing: .5em;"))
|
||||
|
||||
ram['keys'] = key_table(ram['keys'])
|
||||
disk['keys'] = key_table(disk['keys'])
|
||||
total['keys'] = key_table(total['keys'])
|
||||
|
||||
return dict(form=form, total=total,
|
||||
ram=ram, disk=disk, object_stats=hp != False)
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# this file is released under public domain and you can use without limitations
|
||||
|
||||
#########################################################################
|
||||
## This is a samples controller
|
||||
## - index is the default action of any application
|
||||
## - user is required for authentication and authorization
|
||||
## - download is for downloading files uploaded in the db (does streaming)
|
||||
## - call exposes all registered services (none by default)
|
||||
#########################################################################
|
||||
|
||||
def index():
|
||||
"""
|
||||
example action using the internationalization operator T and flash
|
||||
rendered by views/default/index.html or views/generic.html
|
||||
"""
|
||||
response.flash = "Welcome to web2py!"
|
||||
return dict(message=T('Hello World'))
|
||||
|
||||
def user():
|
||||
"""
|
||||
exposes:
|
||||
http://..../[app]/default/user/login
|
||||
http://..../[app]/default/user/logout
|
||||
http://..../[app]/default/user/register
|
||||
http://..../[app]/default/user/profile
|
||||
http://..../[app]/default/user/retrieve_password
|
||||
http://..../[app]/default/user/change_password
|
||||
use @auth.requires_login()
|
||||
@auth.requires_membership('group name')
|
||||
@auth.requires_permission('read','table name',record_id)
|
||||
to decorate functions that need access control
|
||||
"""
|
||||
return dict(form=auth())
|
||||
|
||||
|
||||
def download():
|
||||
"""
|
||||
allows downloading of uploaded files
|
||||
http://..../[app]/default/download/[filename]
|
||||
"""
|
||||
return response.download(request,db)
|
||||
|
||||
|
||||
def call():
|
||||
"""
|
||||
exposes services. for example:
|
||||
http://..../[app]/default/call/jsonrpc
|
||||
decorate with @services.jsonrpc the functions to expose
|
||||
supports xml, json, xmlrpc, jsonrpc, amfrpc, rss, csv
|
||||
"""
|
||||
return service()
|
||||
|
||||
|
||||
@auth.requires_signature()
|
||||
def data():
|
||||
"""
|
||||
http://..../[app]/default/data/tables
|
||||
http://..../[app]/default/data/create/[table]
|
||||
http://..../[app]/default/data/read/[table]/[id]
|
||||
http://..../[app]/default/data/update/[table]/[id]
|
||||
http://..../[app]/default/data/delete/[table]/[id]
|
||||
http://..../[app]/default/data/select/[table]
|
||||
http://..../[app]/default/data/search/[table]
|
||||
but URLs must be signed, i.e. linked with
|
||||
A('table',_href=URL('data/tables',user_signature=True))
|
||||
or with the signed load operator
|
||||
LOAD('default','data.load',args='tables',ajax=True,user_signature=True)
|
||||
"""
|
||||
return dict(form=crud())
|
||||
@@ -0,0 +1 @@
|
||||
#crontab
|
||||
@@ -0,0 +1,131 @@
|
||||
# cs-cz.py pro web2py
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" je voliteľný výraz ako "field1=\'newvalue\'". Nemôžete upravovať alebo zmazať výsledky JOINu',
|
||||
'%Y-%m-%d': '%d.%m.%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d.%m.%Y %H:%M:%S',
|
||||
'%s rows deleted': '%s zmazaných záznamů',
|
||||
'%s rows updated': '%s upravených záznamů',
|
||||
'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',
|
||||
'Cannot be empty': 'Nemůže být prázdné',
|
||||
'Change password': 'Změna hesla',
|
||||
'Check to delete': 'Označit ke smazání',
|
||||
'Check to delete:': 'Check to delete:',
|
||||
'Client IP': 'Client IP',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktuální požadavek',
|
||||
'Current response': 'Aktuální odpověď',
|
||||
'Current session': 'Aktuální session',
|
||||
'DB Model': 'DB Model',
|
||||
'Database': 'Databáze',
|
||||
'Delete:': 'Smazat:',
|
||||
'Description': 'Popis',
|
||||
'Documentation': 'Dokumentáce',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Upravit',
|
||||
'Edit Profile': 'Upravit profil',
|
||||
'Edit current record': 'Upravit aktuální záznam',
|
||||
'First name': 'Křestní jméno',
|
||||
'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena',
|
||||
'Group ID': 'ID skupiny',
|
||||
'Hello World': 'Ahoj světe',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Index': 'Index',
|
||||
'Internal State': 'Vnitřní stav',
|
||||
'Invalid Query': 'Neplatná dotaz',
|
||||
'Invalid email': 'Neplatný email',
|
||||
'Invalid password': 'Nesprávné heslo',
|
||||
'Last name': 'Příjmení',
|
||||
'Layout': 'Layout',
|
||||
'Logged in': 'Přihlášení úspěšné',
|
||||
'Logged out': 'Odhlášení úspěšné',
|
||||
'Login': 'Login',
|
||||
'Lost Password': 'Ztracené heslo?',
|
||||
'Menu Model': 'Menu Model',
|
||||
'Name': 'Jméno',
|
||||
'New Record': 'Nový záznam',
|
||||
'New password': 'Nové heslo',
|
||||
'No databases in this application': 'V této aplikáci nejsou databáze',
|
||||
'Object or table name': 'Objekt či tabulka',
|
||||
'Old password': 'Staré heslo',
|
||||
'Online examples': 'pro online příklady klikněte sem',
|
||||
'Origin': 'Púvod',
|
||||
'Password': 'Heslo',
|
||||
"Password fields don't match": 'Hesla se neshodují',
|
||||
'Powered by': 'Powered by',
|
||||
'Query:': 'Dotaz:',
|
||||
'Readme': 'Nápověda',
|
||||
'Record ID': 'ID záznamu',
|
||||
'Register': 'Zaregistrovat se',
|
||||
'Registration identifier': 'Registrační identifikátor',
|
||||
'Registration key': 'Registrační kľíč',
|
||||
'Remember me (for 30 days)': 'Zapamatuj si mne (na 30 dní)',
|
||||
'Reset Password key': 'Nastavit registrační kľíč',
|
||||
'Retrieve username': 'Retrieve username',
|
||||
'Role': 'Role',
|
||||
'Rows in table': 'řádků v tabulce',
|
||||
'Rows selected': 'označených řádků',
|
||||
'Stylesheet': 'CSS',
|
||||
'Submit': 'Odeslat',
|
||||
'Sure you want to delete this object?': 'Opravdu chceš smazat tento objekt?',
|
||||
'Table name': 'Název tabulky',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"query" je podmínka jako "db.table1.field1==\'value\'". Něco jako "db.table1.field1==db.table2.field2" má za výsledek SQL JOIN.',
|
||||
'The output of the file is a dictionary that was rendered by the view': 'Výstup zo souboru je slovník, ktorý byl zobrazený ve view',
|
||||
'This is a copy of the scaffolding application': 'Toto je kopie skeletu aplikace',
|
||||
'Timestamp': 'Časové razítko',
|
||||
'Update:': 'Upravit:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použijte (...)&(...) pro AND, (...)|(...) pro OR a ~(...) pro NOT na poskládaní komplexnejších dotazů.',
|
||||
'User %(id)s Logged-in': 'Uživatel %(id)s prihlásen',
|
||||
'User %(id)s Logged-out': 'Uživatel %(id)s odhlášen',
|
||||
'User %(id)s Password changed': 'Uživatel %(id)s zmenil heslo',
|
||||
'User %(id)s Profile updated': 'Uživatel %(id)s upravil profil',
|
||||
'User %(id)s Registered': 'Uživatel %(id)s se zaregistroval',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User ID': 'ID uživatele',
|
||||
'Username': 'Nick',
|
||||
'Verify Password': 'Zopakuj heslo',
|
||||
'View': 'Zobrazit',
|
||||
'Welcome': 'Vítej',
|
||||
'Welcome to web2py': 'Vitejte ve web2py',
|
||||
'Which called the function': 'Ktorý zavolal funkci',
|
||||
'You are successfully running web2py': 'Úspešně jste spustili web2py',
|
||||
'You can modify this application and adapt it to your needs': 'Můžete upravit tuto aplikáci a prispôsobit ji svojim potřebám',
|
||||
'You visited the url': 'Navštívili jste URL',
|
||||
'appadmin is disabled because insecure channel': 'appadmin je zakázaný bez zabezpečeného spojení',
|
||||
'cache': 'cache',
|
||||
'customize me!': 'uprav mě!',
|
||||
'data uploaded': 'data nahrána',
|
||||
'database': 'databáze',
|
||||
'database %s select': 'databáze %s výber',
|
||||
'db': 'db',
|
||||
'design': 'návrh',
|
||||
'done!': 'hotovo!',
|
||||
'enter a number between %(min)g and %(max)g': 'zadej číslo mezi %(min)g a %(max)g',
|
||||
'enter an integer between %(min)g and %(max)g': 'zadej celé číslo mezi %(min)g a %(max)g',
|
||||
'export as csv file': 'exportovat do csv souboru',
|
||||
'forgot username?': 'neznáš svúj nick?',
|
||||
'insert new': 'vložit nový záznam ',
|
||||
'insert new %s': 'vložit nový záznam %s',
|
||||
'invalid request': 'Neplatný požadavek',
|
||||
'located in the file': 'v souboru ',
|
||||
'login': 'prihlásit',
|
||||
'logout': 'odhlásit',
|
||||
'lost password?': 'neznáš heslo?',
|
||||
'new record inserted': 'nový záznam byl vložen',
|
||||
'next 100 rows': 'dalších 100 řádků',
|
||||
'or import from csv file': 'a nebo naimportovat z csv souboru',
|
||||
'password': 'heslo',
|
||||
'previous 100 rows': 'předchádzajících 100 řádků',
|
||||
'profile': 'profil',
|
||||
'record': 'záznam',
|
||||
'record does not exist': 'záznam neexistuje',
|
||||
'record id': 'id záznamu',
|
||||
'register': 'registrovat',
|
||||
'selected': 'označených',
|
||||
'state': 'stav',
|
||||
'table': 'tabulka',
|
||||
'unable to parse csv file': 'nedá sa zpracovat csv soubor',
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"actualice" es una expresión opcional como "campo1=\'nuevo_valor\'". No se puede actualizar o eliminar resultados de un JOIN',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': '%s filas eliminadas',
|
||||
'%s rows updated': '%s filas actualizadas',
|
||||
'(something like "it-it")': '(algo como "it-it")',
|
||||
'A new version of web2py is available': 'Hay una nueva versión de web2py disponible',
|
||||
'A new version of web2py is available: %s': 'Hay una nueva versión de web2py disponible: %s',
|
||||
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENCION: Inicio de sesión requiere una conexión segura (HTTPS) o localhost.',
|
||||
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCION: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.',
|
||||
'ATTENTION: you cannot edit the running application!': 'ATENCION: no puede modificar la aplicación que se ejecuta!',
|
||||
'About': 'Acerca de',
|
||||
'About application': 'Acerca de la aplicación',
|
||||
'Admin is disabled because insecure channel': 'Admin deshabilitado, el canal no es seguro',
|
||||
'Admin is disabled because unsecure channel': 'Admin deshabilitado, el canal no es seguro',
|
||||
'Administrator Password:': 'Contraseña del Administrador:',
|
||||
'Are you sure you want to delete file "%s"?': '¿Está seguro que desea eliminar el archivo "%s"?',
|
||||
'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',
|
||||
'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',
|
||||
'Check to delete': 'Marque para eliminar',
|
||||
'Client IP': 'IP del Cliente',
|
||||
'Controller': 'Controlador',
|
||||
'Controllers': 'Controladores',
|
||||
'Copyright': 'Derechos de autor',
|
||||
'Create new application': 'Cree una nueva aplicación',
|
||||
'Current request': 'Solicitud en curso',
|
||||
'Current response': 'Respuesta en curso',
|
||||
'Current session': 'Sesión en curso',
|
||||
'DB Model': 'Modelo "db"',
|
||||
'DESIGN': 'DISEÑO',
|
||||
'Database': 'Base de datos',
|
||||
'Date and Time': 'Fecha y Hora',
|
||||
'Delete': 'Elimine',
|
||||
'Delete:': 'Elimine:',
|
||||
'Deploy on Google App Engine': 'Instale en Google App Engine',
|
||||
'Description': 'Descripción',
|
||||
'Design for': 'Diseño para',
|
||||
'E-mail': 'Correo electrónico',
|
||||
'EDIT': 'EDITAR',
|
||||
'Edit': 'Editar',
|
||||
'Edit Profile': 'Editar Perfil',
|
||||
'Edit This App': 'Edite esta App',
|
||||
'Edit application': 'Editar aplicación',
|
||||
'Edit current record': 'Edite el registro actual',
|
||||
'Editing file': 'Editando archivo',
|
||||
'Editing file "%s"': 'Editando archivo "%s"',
|
||||
'Error logs for "%(app)s"': 'Bitácora de errores en "%(app)s"',
|
||||
'First name': 'Nombre',
|
||||
'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].',
|
||||
'Group ID': 'ID de Grupo',
|
||||
'Hello World': 'Hola Mundo',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Index': 'Indice',
|
||||
'Installed applications': 'Aplicaciones instaladas',
|
||||
'Internal State': 'Estado Interno',
|
||||
'Invalid Query': 'Consulta inválida',
|
||||
'Invalid action': 'Acción inválida',
|
||||
'Invalid email': 'Correo inválido',
|
||||
'Language files (static strings) updated': 'Archivos de lenguaje (cadenas estáticas) actualizados',
|
||||
'Languages': 'Lenguajes',
|
||||
'Last name': 'Apellido',
|
||||
'Last saved on:': 'Guardado en:',
|
||||
'Layout': 'Diseño de página',
|
||||
'License for': 'Licencia para',
|
||||
'Login': 'Inicio de sesión',
|
||||
'Login to the Administrative Interface': 'Inicio de sesión para la Interfaz Administrativa',
|
||||
'Logout': 'Fin de sesión',
|
||||
'Lost Password': 'Contraseña perdida',
|
||||
'Main Menu': 'Menú principal',
|
||||
'Menu Model': 'Modelo "menu"',
|
||||
'Models': 'Modelos',
|
||||
'Modules': 'Módulos',
|
||||
'NO': 'NO',
|
||||
'Name': 'Nombre',
|
||||
'New Record': 'Registro nuevo',
|
||||
'No databases in this application': 'No hay bases de datos en esta aplicación',
|
||||
'Origin': 'Origen',
|
||||
'Original/Translation': 'Original/Traducción',
|
||||
'Password': 'Contraseña',
|
||||
'Peeking at file': 'Visualizando archivo',
|
||||
'Powered by': 'Este sitio usa',
|
||||
'Query:': 'Consulta:',
|
||||
'Record ID': 'ID de Registro',
|
||||
'Register': 'Registrese',
|
||||
'Registration key': 'Contraseña de Registro',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Resolve Conflict file': 'archivo Resolución de Conflicto',
|
||||
'Role': 'Rol',
|
||||
'Rows in table': 'Filas en la tabla',
|
||||
'Rows selected': 'Filas seleccionadas',
|
||||
'Saved file hash:': 'Hash del archivo guardado:',
|
||||
'Static files': 'Archivos estáticos',
|
||||
'Stylesheet': 'Hoja de estilo',
|
||||
'Sure you want to delete this object?': '¿Está seguro que desea eliminar este objeto?',
|
||||
'Table name': 'Nombre de la tabla',
|
||||
'Testing application': 'Probando aplicación',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "consulta" es una condición como "db.tabla1.campo1==\'valor\'". Algo como "db.tabla1.campo1==db.tabla2.campo2" resulta en un JOIN SQL.',
|
||||
'The output of the file is a dictionary that was rendered by the view': 'La salida del archivo es un diccionario escenificado por la vista',
|
||||
'There are no controllers': 'No hay controladores',
|
||||
'There are no models': 'No hay modelos',
|
||||
'There are no modules': 'No hay módulos',
|
||||
'There are no static files': 'No hay archivos estáticos',
|
||||
'There are no translators, only default language is supported': 'No hay traductores, sólo el lenguaje por defecto es soportado',
|
||||
'There are no views': 'No hay vistas',
|
||||
'This is a copy of the scaffolding application': 'Esta es una copia de la aplicación de andamiaje',
|
||||
'This is the %(filename)s template': 'Esta es la plantilla %(filename)s',
|
||||
'Ticket': 'Tiquete',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones',
|
||||
'Unable to download': 'No es posible la descarga',
|
||||
'Unable to download app': 'No es posible descarga la aplicación',
|
||||
'Update:': 'Actualice:',
|
||||
'Upload existing application': 'Suba esta aplicación',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para crear consultas más complejas.',
|
||||
'User ID': 'ID de Usuario',
|
||||
'View': 'Vista',
|
||||
'Views': 'Vistas',
|
||||
'Welcome': 'Welcome',
|
||||
'Welcome %s': 'Bienvenido %s',
|
||||
'Welcome to web2py': 'Bienvenido a web2py',
|
||||
'Which called the function': 'La cual llamó la función',
|
||||
'YES': 'SI',
|
||||
'You are successfully running web2py': 'Usted está ejecutando web2py exitosamente',
|
||||
'You can modify this application and adapt it to your needs': 'Usted puede modificar esta aplicación y adaptarla a sus necesidades',
|
||||
'You visited the url': 'Usted visitó la url',
|
||||
'about': 'acerca de',
|
||||
'additional code for your application': 'código adicional para su aplicación',
|
||||
'admin disabled because no admin password': ' por falta de contraseña',
|
||||
'admin disabled because not supported on google app engine': 'admin deshabilitado, no es soportado en GAE',
|
||||
'admin disabled because unable to access password file': 'admin deshabilitado, imposible acceder al archivo con la contraseña',
|
||||
'and rename it (required):': 'y renombrela (requerido):',
|
||||
'and rename it:': ' y renombrelo:',
|
||||
'appadmin': 'appadmin',
|
||||
'appadmin is disabled because insecure channel': 'admin deshabilitado, el canal no es seguro',
|
||||
'application "%s" uninstalled': 'aplicación "%s" desinstalada',
|
||||
'application compiled': 'aplicación compilada',
|
||||
'application is compiled and cannot be designed': 'la aplicación está compilada y no puede ser modificada',
|
||||
'cache': 'cache',
|
||||
'cache, errors and sessions cleaned': 'cache, errores y sesiones eliminados',
|
||||
'cannot create file': 'no es posible crear archivo',
|
||||
'cannot upload file "%(filename)s"': 'no es posible subir archivo "%(filename)s"',
|
||||
'change password': 'cambie contraseña',
|
||||
'check all': 'marcar todos',
|
||||
'clean': 'limpiar',
|
||||
'Online examples': 'Ejemplos en línea',
|
||||
'Administrative interface': 'Interfaz administrativa',
|
||||
'click to check for upgrades': 'haga clic para buscar actualizaciones',
|
||||
'compile': 'compilar',
|
||||
'compiled application removed': 'aplicación compilada removida',
|
||||
'controllers': 'controladores',
|
||||
'create file with filename:': 'cree archivo con nombre:',
|
||||
'create new application:': 'nombre de la nueva aplicación:',
|
||||
'crontab': 'crontab',
|
||||
'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 administration': 'administración base de datos',
|
||||
'db': 'db',
|
||||
'defines tables': 'define tablas',
|
||||
'delete': 'eliminar',
|
||||
'delete all checked': 'eliminar marcados',
|
||||
'design': 'modificar',
|
||||
'Documentation': 'Documentación',
|
||||
'done!': 'listo!',
|
||||
'edit': 'editar',
|
||||
'edit controller': 'editar controlador',
|
||||
'edit profile': 'editar perfil',
|
||||
'errors': 'errores',
|
||||
'export as csv file': 'exportar como archivo CSV',
|
||||
'exposes': 'expone',
|
||||
'extends': 'extiende',
|
||||
'failed to reload module': 'recarga del módulo ha fallado',
|
||||
'file "%(filename)s" created': 'archivo "%(filename)s" creado',
|
||||
'file "%(filename)s" deleted': 'archivo "%(filename)s" eliminado',
|
||||
'file "%(filename)s" uploaded': 'archivo "%(filename)s" subido',
|
||||
'file "%(filename)s" was not deleted': 'archivo "%(filename)s" no fué eliminado',
|
||||
'file "%s" of %s restored': 'archivo "%s" de %s restaurado',
|
||||
'file changed on disk': 'archivo modificado en el disco',
|
||||
'file does not exist': 'archivo no existe',
|
||||
'file saved on %(time)s': 'archivo guardado %(time)s',
|
||||
'file saved on %s': 'archivo guardado %s',
|
||||
'help': 'ayuda',
|
||||
'htmledit': 'htmledit',
|
||||
'includes': 'incluye',
|
||||
'insert new': 'inserte nuevo',
|
||||
'insert new %s': 'inserte nuevo %s',
|
||||
'internal error': 'error interno',
|
||||
'invalid password': 'contraseña inválida',
|
||||
'invalid request': 'solicitud inválida',
|
||||
'invalid ticket': 'tiquete inválido',
|
||||
'language file "%(filename)s" created/updated': 'archivo de lenguaje "%(filename)s" creado/actualizado',
|
||||
'languages': 'lenguajes',
|
||||
'languages updated': 'lenguajes actualizados',
|
||||
'loading...': 'cargando...',
|
||||
'located in the file': 'localizada en el archivo',
|
||||
'login': 'inicio de sesión',
|
||||
'logout': 'fin de sesión',
|
||||
'lost password?': '¿olvido la contraseña?',
|
||||
'merge': 'combinar',
|
||||
'models': 'modelos',
|
||||
'modules': 'módulos',
|
||||
'new application "%s" created': 'nueva aplicación "%s" creada',
|
||||
'new record inserted': 'nuevo registro insertado',
|
||||
'next 100 rows': '100 filas siguientes',
|
||||
'or import from csv file': 'o importar desde archivo CSV',
|
||||
'or provide application url:': 'o provea URL de la aplicación:',
|
||||
'pack all': 'empaquetar todo',
|
||||
'pack compiled': 'empaquete compiladas',
|
||||
'previous 100 rows': '100 filas anteriores',
|
||||
'record': 'registro',
|
||||
'record does not exist': 'el registro no existe',
|
||||
'record id': 'id de registro',
|
||||
'register': 'registrese',
|
||||
'remove compiled': 'eliminar compiladas',
|
||||
'restore': 'restaurar',
|
||||
'revert': 'revertir',
|
||||
'save': 'guardar',
|
||||
'selected': 'seleccionado(s)',
|
||||
'session expired': 'sesión expirada',
|
||||
'shell': 'shell',
|
||||
'site': 'sitio',
|
||||
'some files could not be removed': 'algunos archivos no pudieron ser removidos',
|
||||
'state': 'estado',
|
||||
'static': 'estáticos',
|
||||
'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',
|
||||
'the presentations layer, views are also known as templates': 'la capa de presentación, las vistas también son llamadas plantillas',
|
||||
'these files are served without processing, your images go here': 'estos archivos son servidos sin procesar, sus imágenes van aquí',
|
||||
'to previous version.': 'a la versión previa.',
|
||||
'translation strings for the application': 'cadenas de caracteres de traducción para la aplicación',
|
||||
'try': 'intente',
|
||||
'try something like': 'intente algo como',
|
||||
'unable to create application "%s"': 'no es posible crear la aplicación "%s"',
|
||||
'unable to delete file "%(filename)s"': 'no es posible eliminar el archivo "%(filename)s"',
|
||||
'unable to parse csv file': 'no es posible analizar el archivo CSV',
|
||||
'unable to uninstall "%s"': 'no es posible instalar "%s"',
|
||||
'uncheck all': 'desmarcar todos',
|
||||
'uninstall': 'desinstalar',
|
||||
'update': 'actualizar',
|
||||
'update all languages': 'actualizar todos los lenguajes',
|
||||
'upload application:': 'subir aplicación:',
|
||||
'upload file:': 'suba archivo:',
|
||||
'versioning': 'versiones',
|
||||
'view': 'vista',
|
||||
'views': 'vistas',
|
||||
'web2py Recent Tweets': 'Tweets Recientes de web2py',
|
||||
'web2py is up to date': 'web2py está actualizado',
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" est une expression optionnelle comme "champ1=\'nouvellevaleur\'". Vous ne pouvez mettre à jour ou supprimer les résultats d\'un JOIN',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': '%s rangées supprimées',
|
||||
'%s rows updated': '%s rangées mises à jour',
|
||||
'About': 'À propos',
|
||||
'Access Control': "Contrôle d'accès",
|
||||
'Administrative interface': "Interface d'administration",
|
||||
'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',
|
||||
'Buy this book': 'Acheter ce livre',
|
||||
'Cannot be empty': 'Ne peut pas être vide',
|
||||
'Check to delete': 'Cliquez pour supprimer',
|
||||
'Check to delete:': 'Cliquez pour supprimer:',
|
||||
'Client IP': 'IP client',
|
||||
'Community': 'Communauté',
|
||||
'Controller': 'Contrôleur',
|
||||
'Copyright': "Droit d'auteur",
|
||||
'Current request': 'Demande actuelle',
|
||||
'Current response': 'Réponse actuelle',
|
||||
'Current session': 'Session en cours',
|
||||
'DB Model': 'Modèle DB',
|
||||
'Database': 'Base de données',
|
||||
'Delete:': 'Supprimer:',
|
||||
'Demo': 'Démo',
|
||||
'Deployment Recipes': 'Recettes de déploiement ',
|
||||
'Description': 'Descriptif',
|
||||
'Documentation': 'Documentation',
|
||||
'Download': 'Téléchargement',
|
||||
'E-mail': 'Courriel',
|
||||
'Edit': 'Éditer',
|
||||
'Edit This App': 'Modifier cette application',
|
||||
'Edit current record': "Modifier l'enregistrement courant",
|
||||
'Errors': 'Erreurs',
|
||||
'FAQ': 'faq',
|
||||
'First name': 'Prénom',
|
||||
'Forms and Validators': 'Formulaires et Validateurs',
|
||||
'Free Applications': 'Applications gratuites',
|
||||
'Function disabled': 'Fonction désactivée',
|
||||
'Group %(group_id)s created': '%(group_id)s groupe créé',
|
||||
'Group ID': 'Groupe ID',
|
||||
'Group uniquely assigned to user %(id)s': "Groupe unique attribué à l'utilisateur %(id)s",
|
||||
'Groups': 'Groupes',
|
||||
'Hello World': 'Bonjour le monde',
|
||||
'Home': 'Accueil',
|
||||
'Import/Export': 'Importer/Exporter',
|
||||
'Index': 'Index',
|
||||
'Internal State': 'État interne',
|
||||
'Introduction': 'Présentation',
|
||||
'Invalid Query': 'Requête Invalide',
|
||||
'Invalid email': 'Courriel invalide',
|
||||
'Last name': 'Nom',
|
||||
'Layout': 'Mise en page',
|
||||
'Layouts': 'layouts',
|
||||
'Live chat': 'Clavardage en direct',
|
||||
'Logged in': 'Connecté',
|
||||
'Login': 'Connectez-vous',
|
||||
'Lost Password': 'Mot de passe perdu',
|
||||
'Main Menu': 'Menu principal',
|
||||
'Menu Model': 'Menu modèle',
|
||||
'Name': 'Nom',
|
||||
'New Record': 'Nouvel enregistrement',
|
||||
'No databases in this application': "Cette application n'a pas de bases de données",
|
||||
'Online examples': 'Exemples en ligne',
|
||||
'Origin': 'Origine',
|
||||
'Other Recipes': 'Autres recettes',
|
||||
'Overview': 'Présentation',
|
||||
'Password': 'Mot de passe',
|
||||
"Password fields don't match": 'Les mots de passe ne correspondent pas',
|
||||
'Plugins': 'Plugiciels',
|
||||
'Powered by': 'Alimenté par',
|
||||
'Preface': 'Préface',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Requête:',
|
||||
'Quick Examples': 'Examples Rapides',
|
||||
'Readme': 'Lisez-moi',
|
||||
'Recipes': 'Recettes',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record ID': "ID d'enregistrement",
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': "S'inscrire",
|
||||
'Registration key': "Clé d'enregistrement",
|
||||
'Registration successful': 'Inscription réussie',
|
||||
'Remember me (for 30 days)': 'Se souvenir de moi (pendant 30 jours)',
|
||||
'Request reset password': 'Demande de réinitialiser le mot clé',
|
||||
'Reset Password key': 'Réinitialiser le mot clé',
|
||||
'Resources': 'Ressources',
|
||||
'Role': 'Rôle',
|
||||
'Rows in table': 'Lignes du tableau',
|
||||
'Rows selected': 'Lignes sélectionnées',
|
||||
'Semantic': 'Sémantique',
|
||||
'Services': 'Services',
|
||||
'Stylesheet': 'Feuille de style',
|
||||
'Submit': 'Soumettre',
|
||||
'Support': 'Soutien',
|
||||
'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
|
||||
'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',
|
||||
'The Views': 'Les Vues',
|
||||
'The output of the file is a dictionary that was rendered by the view': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue',
|
||||
'This App': 'Cette Appli',
|
||||
'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage",
|
||||
'Timestamp': 'Horodatage',
|
||||
'Twitter': 'Twitter',
|
||||
'Update:': 'Mise à jour:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT pour construire des requêtes plus complexes.',
|
||||
'User %(id)s Logged-in': 'Utilisateur %(id)s connecté',
|
||||
'User %(id)s Registered': 'Utilisateur %(id)s enregistré',
|
||||
'User ID': 'ID utilisateur',
|
||||
'User Voice': 'User Voice',
|
||||
'Verify Password': 'Vérifiez le mot de passe',
|
||||
'Videos': 'Vidéos',
|
||||
'View': 'Présentation',
|
||||
'Web2py': 'Web2py',
|
||||
'Welcome': 'Bienvenu',
|
||||
'Welcome %s': 'Bienvenue %s',
|
||||
'Welcome to web2py': 'Bienvenue à web2py',
|
||||
'Which called the function': 'Qui a appelé la fonction',
|
||||
'You are successfully running web2py': 'Vous roulez avec succès web2py',
|
||||
'You can modify this application and adapt it to your needs': "Vous pouvez modifier cette application et l'adapter à vos besoins",
|
||||
'You visited the url': "Vous avez visité l'URL",
|
||||
'about': 'à propos',
|
||||
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
|
||||
'cache': 'cache',
|
||||
'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',
|
||||
'db': 'db',
|
||||
'design': 'design',
|
||||
'done!': 'fait!',
|
||||
'edit profile': 'modifier le profil',
|
||||
'enter an integer between %(min)g and %(max)g': 'entrer un entier compris entre %(min)g et %(max)g',
|
||||
'export as csv file': 'exporter sous forme de fichier csv',
|
||||
'insert new': 'insérer un nouveau',
|
||||
'insert new %s': 'insérer un nouveau %s',
|
||||
'invalid request': 'requête invalide',
|
||||
'located in the file': 'se trouvant dans le fichier',
|
||||
'login': 'connectez-vous',
|
||||
'logout': 'déconnectez-vous',
|
||||
'lost password': 'mot de passe perdu',
|
||||
'lost password?': 'mot de passe perdu?',
|
||||
'new record inserted': 'nouvel enregistrement inséré',
|
||||
'next 100 rows': '100 prochaines lignes',
|
||||
'or import from csv file': "ou importer d'un fichier CSV",
|
||||
'password': 'mot de passe',
|
||||
'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 does not exist': "l'archive n'existe pas",
|
||||
'record id': "id d'enregistrement",
|
||||
'register': "s'inscrire",
|
||||
'selected': 'sélectionné',
|
||||
'state': 'état',
|
||||
'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',
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" est une expression optionnelle comme "champ1=\'nouvellevaleur\'". Vous ne pouvez mettre à jour ou supprimer les résultats d\'un JOIN',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': '%s rangées supprimées',
|
||||
'%s rows updated': '%s rangées mises à jour',
|
||||
'About': 'À propos',
|
||||
'Access Control': 'Contrôle d\'accès',
|
||||
'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',
|
||||
'Buy this book': 'Acheter ce livre',
|
||||
'Cannot be empty': 'Ne peut pas être vide',
|
||||
'Check to delete': 'Cliquez pour supprimer',
|
||||
'Check to delete:': 'Cliquez pour supprimer:',
|
||||
'Client IP': 'IP client',
|
||||
'Community': 'Communauté',
|
||||
'Controller': 'Contrôleur',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Demande actuelle',
|
||||
'Current response': 'Réponse actuelle',
|
||||
'Current session': 'Session en cours',
|
||||
'DB Model': 'Modèle DB',
|
||||
'Database': 'Base de données',
|
||||
'Delete:': 'Supprimer:',
|
||||
'Demo': 'Démo',
|
||||
'Deployment Recipes': 'Recettes de déploiement',
|
||||
'Description': 'Description',
|
||||
'Documentation': 'Documentation',
|
||||
'Download': 'Téléchargement',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Éditer',
|
||||
'Edit This App': 'Modifier cette application',
|
||||
'Edit current record': "Modifier l'enregistrement courant",
|
||||
'Errors': 'Erreurs',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Prénom',
|
||||
'Forms and Validators': 'Formulaires et Validateurs',
|
||||
'Free Applications': 'Applications gratuites',
|
||||
'Function disabled': 'Fonction désactivée',
|
||||
'Group ID': 'Groupe ID',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Bonjour le monde',
|
||||
'Home': 'Accueil',
|
||||
'Import/Export': 'Importer/Exporter',
|
||||
'Index': 'Index',
|
||||
'Internal State': 'État interne',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid Query': 'Requête Invalide',
|
||||
'Invalid email': 'E-mail invalide',
|
||||
'Last name': 'Nom',
|
||||
'Layout': 'Mise en page',
|
||||
'Layouts': 'Layouts',
|
||||
'Live chat': 'Chat live',
|
||||
'Login': 'Connectez-vous',
|
||||
'Lost Password': 'Mot de passe perdu',
|
||||
'Main Menu': 'Menu principal',
|
||||
'Menu Model': 'Menu modèle',
|
||||
'Name': 'Nom',
|
||||
'New Record': 'Nouvel enregistrement',
|
||||
'No databases in this application': "Cette application n'a pas de bases de données",
|
||||
'Origin': 'Origine',
|
||||
'Other Recipes': 'Autres recettes',
|
||||
'Overview': 'Présentation',
|
||||
'Password': 'Mot de passe',
|
||||
"Password fields don't match": 'Les mots de passe ne correspondent pas',
|
||||
'Plugins': 'Plugiciels',
|
||||
'Powered by': 'Alimenté par',
|
||||
'Preface': 'Préface',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Requête:',
|
||||
'Quick Examples': 'Examples Rapides',
|
||||
'Recipes': 'Recettes',
|
||||
'Record ID': 'ID d\'enregistrement',
|
||||
'Register': "S'inscrire",
|
||||
'Registration key': "Clé d'enregistrement",
|
||||
'Remember me (for 30 days)': 'Se souvenir de moi (pendant 30 jours)',
|
||||
'Request reset password': 'Demande de réinitialiser le mot clé',
|
||||
'Reset Password key': 'Réinitialiser le mot clé',
|
||||
'Resources': 'Ressources',
|
||||
'Role': 'Rôle',
|
||||
'Rows in table': 'Lignes du tableau',
|
||||
'Rows selected': 'Lignes sélectionnées',
|
||||
'Semantic': 'Sémantique',
|
||||
'Services': 'Services',
|
||||
'Stylesheet': 'Feuille de style',
|
||||
'Submit': 'Soumettre',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
|
||||
'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',
|
||||
'The Views': 'Les Vues',
|
||||
'The output of the file is a dictionary that was rendered by the view': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue',
|
||||
'This App': 'Cette Appli',
|
||||
'This is a copy of the scaffolding application': 'Ceci est une copie de l\'application échafaudage',
|
||||
'Timestamp': 'Horodatage',
|
||||
'Twitter': 'Twitter',
|
||||
'Update:': 'Mise à jour:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT pour construire des requêtes plus complexes.',
|
||||
'User %(id)s Logged-in': 'Utilisateur %(id)s connecté',
|
||||
'User %(id)s Registered': 'Utilisateur %(id)s enregistré',
|
||||
'User ID': 'ID utilisateur',
|
||||
'User Voice': 'User Voice',
|
||||
'Verify Password': 'Vérifiez le mot de passe',
|
||||
'Videos': 'Vidéos',
|
||||
'View': 'Présentation',
|
||||
'Web2py': 'Web2py',
|
||||
'Welcome': 'Bienvenu',
|
||||
'Welcome %s': 'Bienvenue %s',
|
||||
'Welcome to web2py': 'Bienvenue à web2py',
|
||||
'Which called the function': 'Qui a appelé la fonction',
|
||||
'You are successfully running web2py': 'Vous roulez avec succès web2py',
|
||||
'You can modify this application and adapt it to your needs': 'Vous pouvez modifier cette application et l\'adapter à vos besoins',
|
||||
'You visited the url': 'Vous avez visité l\'URL',
|
||||
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
|
||||
'cache': 'cache',
|
||||
'change password': 'changer le mot de passe',
|
||||
'Online examples': 'Exemples en ligne',
|
||||
'Administrative interface': "Interface d'administration",
|
||||
'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',
|
||||
'db': 'db',
|
||||
'design': 'design',
|
||||
'Documentation': 'Documentation',
|
||||
'done!': 'fait!',
|
||||
'edit profile': 'modifier le profil',
|
||||
'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g',
|
||||
'export as csv file': 'exporter sous forme de fichier csv',
|
||||
'insert new': 'insérer un nouveau',
|
||||
'insert new %s': 'insérer un nouveau %s',
|
||||
'invalid request': 'requête invalide',
|
||||
'located in the file': 'se trouvant dans le fichier',
|
||||
'login': 'connectez-vous',
|
||||
'logout': 'déconnectez-vous',
|
||||
'lost password': 'mot de passe perdu',
|
||||
'lost password?': 'mot de passe perdu?',
|
||||
'new record inserted': 'nouvel enregistrement inséré',
|
||||
'next 100 rows': '100 prochaines lignes',
|
||||
'or import from csv file': "ou importer d'un fichier CSV",
|
||||
'previous 100 rows': '100 lignes précédentes',
|
||||
'record': 'enregistrement',
|
||||
'record does not exist': "l'archive n'existe pas",
|
||||
'record id': "id d'enregistrement",
|
||||
'register': "s'inscrire",
|
||||
'selected': 'sélectionné',
|
||||
'state': 'état',
|
||||
'table': 'tableau',
|
||||
'unable to parse csv file': "incapable d'analyser le fichier cvs",
|
||||
'Readme': "Lisez-moi",
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': '%s \xe0\xa4\xaa\xe0\xa4\x82\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\x81 \xe0\xa4\xae\xe0\xa4\xbf\xe0\xa4\x9f\xe0\xa4\xbe\xe0\xa4\x8f\xe0\xa4\x81',
|
||||
'%s rows updated': '%s \xe0\xa4\xaa\xe0\xa4\x82\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\x81 \xe0\xa4\x85\xe0\xa4\xa6\xe0\xa5\x8d\xe0\xa4\xaf\xe0\xa4\xa4\xe0\xa4\xa8',
|
||||
'Available databases and tables': '\xe0\xa4\x89\xe0\xa4\xaa\xe0\xa4\xb2\xe0\xa4\xac\xe0\xa5\x8d\xe0\xa4\xa7 \xe0\xa4\xa1\xe0\xa5\x87\xe0\xa4\x9f\xe0\xa4\xbe\xe0\xa4\xac\xe0\xa5\x87\xe0\xa4\xb8 \xe0\xa4\x94\xe0\xa4\xb0 \xe0\xa4\xa4\xe0\xa4\xbe\xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\x95\xe0\xa4\xbe',
|
||||
'Cannot be empty': '\xe0\xa4\x96\xe0\xa4\xbe\xe0\xa4\xb2\xe0\xa5\x80 \xe0\xa4\xa8\xe0\xa4\xb9\xe0\xa5\x80\xe0\xa4\x82 \xe0\xa4\xb9\xe0\xa5\x8b \xe0\xa4\xb8\xe0\xa4\x95\xe0\xa4\xa4\xe0\xa4\xbe',
|
||||
'Change Password': '\xe0\xa4\xaa\xe0\xa4\xbe\xe0\xa4\xb8\xe0\xa4\xb5\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa1 \xe0\xa4\xac\xe0\xa4\xa6\xe0\xa4\xb2\xe0\xa5\x87\xe0\xa4\x82',
|
||||
'Check to delete': '\xe0\xa4\xb9\xe0\xa4\x9f\xe0\xa4\xbe\xe0\xa4\xa8\xe0\xa5\x87 \xe0\xa4\x95\xe0\xa5\x87 \xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\x8f \xe0\xa4\x9a\xe0\xa5\x81\xe0\xa4\xa8\xe0\xa5\x87\xe0\xa4\x82',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': '\xe0\xa4\xb5\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xae\xe0\xa4\xbe\xe0\xa4\xa8 \xe0\xa4\x85\xe0\xa4\xa8\xe0\xa5\x81\xe0\xa4\xb0\xe0\xa5\x8b\xe0\xa4\xa7',
|
||||
'Current response': '\xe0\xa4\xb5\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xae\xe0\xa4\xbe\xe0\xa4\xa8 \xe0\xa4\xaa\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa4\xa4\xe0\xa4\xbf\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa4\xbe',
|
||||
'Current session': '\xe0\xa4\xb5\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xae\xe0\xa4\xbe\xe0\xa4\xa8 \xe0\xa4\xb8\xe0\xa5\x87\xe0\xa4\xb6\xe0\xa4\xa8',
|
||||
'DB Model': 'DB Model',
|
||||
'Database': 'Database',
|
||||
'Delete:': '\xe0\xa4\xae\xe0\xa4\xbf\xe0\xa4\x9f\xe0\xa4\xbe\xe0\xa4\xa8\xe0\xa4\xbe:',
|
||||
'Edit': 'Edit',
|
||||
'Edit Profile': '\xe0\xa4\xaa\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa5\x8b\xe0\xa4\xab\xe0\xa4\xbc\xe0\xa4\xbe\xe0\xa4\x87\xe0\xa4\xb2 \xe0\xa4\xb8\xe0\xa4\x82\xe0\xa4\xaa\xe0\xa4\xbe\xe0\xa4\xa6\xe0\xa4\xbf\xe0\xa4\xa4 \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x82',
|
||||
'Edit This App': 'Edit This App',
|
||||
'Edit current record': '\xe0\xa4\xb5\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xae\xe0\xa4\xbe\xe0\xa4\xa8 \xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x95\xe0\xa5\x89\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa1 \xe0\xa4\xb8\xe0\xa4\x82\xe0\xa4\xaa\xe0\xa4\xbe\xe0\xa4\xa6\xe0\xa4\xbf\xe0\xa4\xa4 \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x82 ',
|
||||
'Hello World': 'Hello World',
|
||||
'Hello from MyApp': 'Hello from MyApp',
|
||||
'Import/Export': '\xe0\xa4\x86\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\xa4 / \xe0\xa4\xa8\xe0\xa4\xbf\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\xa4',
|
||||
'Index': 'Index',
|
||||
'Internal State': '\xe0\xa4\x86\xe0\xa4\x82\xe0\xa4\xa4\xe0\xa4\xb0\xe0\xa4\xbf\xe0\xa4\x95 \xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\xa5\xe0\xa4\xbf\xe0\xa4\xa4\xe0\xa4\xbf',
|
||||
'Invalid Query': '\xe0\xa4\x85\xe0\xa4\xae\xe0\xa4\xbe\xe0\xa4\xa8\xe0\xa5\x8d\xe0\xa4\xaf \xe0\xa4\xaa\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa4\xb6\xe0\xa5\x8d\xe0\xa4\xa8',
|
||||
'Layout': 'Layout',
|
||||
'Login': '\xe0\xa4\xb2\xe0\xa5\x89\xe0\xa4\x97 \xe0\xa4\x87\xe0\xa4\xa8',
|
||||
'Logout': '\xe0\xa4\xb2\xe0\xa5\x89\xe0\xa4\x97 \xe0\xa4\x86\xe0\xa4\x89\xe0\xa4\x9f',
|
||||
'Lost Password': '\xe0\xa4\xaa\xe0\xa4\xbe\xe0\xa4\xb8\xe0\xa4\xb5\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa1 \xe0\xa4\x96\xe0\xa5\x8b \xe0\xa4\x97\xe0\xa4\xaf\xe0\xa4\xbe',
|
||||
'Main Menu': 'Main Menu',
|
||||
'Menu Model': 'Menu Model',
|
||||
'New Record': '\xe0\xa4\xa8\xe0\xa4\xaf\xe0\xa4\xbe \xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x95\xe0\xa5\x89\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa1',
|
||||
'No databases in this application': '\xe0\xa4\x87\xe0\xa4\xb8 \xe0\xa4\x85\xe0\xa4\xa8\xe0\xa5\x81\xe0\xa4\xaa\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa4\xaf\xe0\xa5\x8b\xe0\xa4\x97 \xe0\xa4\xae\xe0\xa5\x87\xe0\xa4\x82 \xe0\xa4\x95\xe0\xa5\x8b\xe0\xa4\x88 \xe0\xa4\xa1\xe0\xa5\x87\xe0\xa4\x9f\xe0\xa4\xbe\xe0\xa4\xac\xe0\xa5\x87\xe0\xa4\xb8 \xe0\xa4\xa8\xe0\xa4\xb9\xe0\xa5\x80\xe0\xa4\x82 \xe0\xa4\xb9\xe0\xa5\x88\xe0\xa4\x82',
|
||||
'Powered by': 'Powered by',
|
||||
'Query:': '\xe0\xa4\xaa\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa4\xb6\xe0\xa5\x8d\xe0\xa4\xa8:',
|
||||
'Register': '\xe0\xa4\xaa\xe0\xa4\x82\xe0\xa4\x9c\xe0\xa5\x80\xe0\xa4\x95\xe0\xa5\x83\xe0\xa4\xa4 (\xe0\xa4\xb0\xe0\xa4\x9c\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\x9f\xe0\xa4\xb0) \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa4\xa8\xe0\xa4\xbe ',
|
||||
'Rows in table': '\xe0\xa4\xa4\xe0\xa4\xbe\xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\x95\xe0\xa4\xbe \xe0\xa4\xae\xe0\xa5\x87\xe0\xa4\x82 \xe0\xa4\xaa\xe0\xa4\x82\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\x81 ',
|
||||
'Rows selected': '\xe0\xa4\x9a\xe0\xa4\xaf\xe0\xa4\xa8\xe0\xa4\xbf\xe0\xa4\xa4 (\xe0\xa4\x9a\xe0\xa5\x81\xe0\xa4\xa8\xe0\xa5\x87 \xe0\xa4\x97\xe0\xa4\xaf\xe0\xa5\x87) \xe0\xa4\xaa\xe0\xa4\x82\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\x81 ',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Sure you want to delete this object?': '\xe0\xa4\xb8\xe0\xa5\x81\xe0\xa4\xa8\xe0\xa4\xbf\xe0\xa4\xb6\xe0\xa5\x8d\xe0\xa4\x9a\xe0\xa4\xbf\xe0\xa4\xa4 \xe0\xa4\xb9\xe0\xa5\x88\xe0\xa4\x82 \xe0\xa4\x95\xe0\xa4\xbf \xe0\xa4\x86\xe0\xa4\xaa \xe0\xa4\x87\xe0\xa4\xb8 \xe0\xa4\xb5\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa5\x81 \xe0\xa4\x95\xe0\xa5\x8b \xe0\xa4\xb9\xe0\xa4\x9f\xe0\xa4\xbe\xe0\xa4\xa8\xe0\xa4\xbe \xe0\xa4\x9a\xe0\xa4\xbe\xe0\xa4\xb9\xe0\xa4\xa4\xe0\xa5\x87 \xe0\xa4\xb9\xe0\xa5\x88\xe0\xa4\x82?',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.',
|
||||
'Update:': '\xe0\xa4\x85\xe0\xa4\xa6\xe0\xa5\x8d\xe0\xa4\xaf\xe0\xa4\xa4\xe0\xa4\xa8 \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa4\xa8\xe0\xa4\xbe:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
|
||||
'View': 'View',
|
||||
'Welcome %s': 'Welcome %s',
|
||||
'Welcome to web2py': '\xe0\xa4\xb5\xe0\xa5\x87\xe0\xa4\xac\xe0\xa5\xa8\xe0\xa4\xaa\xe0\xa4\xbe\xe0\xa4\x87 (web2py) \xe0\xa4\xae\xe0\xa5\x87\xe0\xa4\x82 \xe0\xa4\x86\xe0\xa4\xaa\xe0\xa4\x95\xe0\xa4\xbe \xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\xb5\xe0\xa4\xbe\xe0\xa4\x97\xe0\xa4\xa4 \xe0\xa4\xb9\xe0\xa5\x88',
|
||||
'appadmin is disabled because insecure channel': '\xe0\xa4\x85\xe0\xa4\xaa \xe0\xa4\x86\xe0\xa4\xa1\xe0\xa4\xae\xe0\xa4\xbf\xe0\xa4\xa8 (appadmin) \xe0\xa4\x85\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xb7\xe0\xa4\xae \xe0\xa4\xb9\xe0\xa5\x88 \xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xaf\xe0\xa5\x8b\xe0\xa4\x82\xe0\xa4\x95\xe0\xa4\xbf \xe0\xa4\x85\xe0\xa4\xb8\xe0\xa5\x81\xe0\xa4\xb0\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xb7\xe0\xa4\xbf\xe0\xa4\xa4 \xe0\xa4\x9a\xe0\xa5\x88\xe0\xa4\xa8\xe0\xa4\xb2',
|
||||
'cache': 'cache',
|
||||
'change password': 'change password',
|
||||
'Online examples': '\xe0\xa4\x91\xe0\xa4\xa8\xe0\xa4\xb2\xe0\xa4\xbe\xe0\xa4\x87\xe0\xa4\xa8 \xe0\xa4\x89\xe0\xa4\xa6\xe0\xa4\xbe\xe0\xa4\xb9\xe0\xa4\xb0\xe0\xa4\xa3 \xe0\xa4\x95\xe0\xa5\x87 \xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\x8f \xe0\xa4\xaf\xe0\xa4\xb9\xe0\xa4\xbe\xe0\xa4\x81 \xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\x95 \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x82',
|
||||
'Administrative interface': '\xe0\xa4\xaa\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa4\xb6\xe0\xa4\xbe\xe0\xa4\xb8\xe0\xa4\xa8\xe0\xa4\xbf\xe0\xa4\x95 \xe0\xa4\x87\xe0\xa4\x82\xe0\xa4\x9f\xe0\xa4\xb0\xe0\xa4\xab\xe0\xa5\x87\xe0\xa4\xb8 \xe0\xa4\x95\xe0\xa5\x87 \xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\x8f \xe0\xa4\xaf\xe0\xa4\xb9\xe0\xa4\xbe\xe0\xa4\x81 \xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\x95 \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x82',
|
||||
'customize me!': '\xe0\xa4\xae\xe0\xa5\x81\xe0\xa4\x9d\xe0\xa5\x87 \xe0\xa4\x85\xe0\xa4\xa8\xe0\xa5\x81\xe0\xa4\x95\xe0\xa5\x82\xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\xa4 (\xe0\xa4\x95\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\x9f\xe0\xa4\xae\xe0\xa4\xbe\xe0\xa4\x87\xe0\xa4\x9c\xe0\xa4\xbc) \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x82!',
|
||||
'data uploaded': '\xe0\xa4\xa1\xe0\xa4\xbe\xe0\xa4\x9f\xe0\xa4\xbe \xe0\xa4\x85\xe0\xa4\xaa\xe0\xa4\xb2\xe0\xa5\x8b\xe0\xa4\xa1 \xe0\xa4\xb8\xe0\xa4\xae\xe0\xa5\x8d\xe0\xa4\xaa\xe0\xa4\xa8\xe0\xa5\x8d\xe0\xa4\xa8 ',
|
||||
'database': '\xe0\xa4\xa1\xe0\xa5\x87\xe0\xa4\x9f\xe0\xa4\xbe\xe0\xa4\xac\xe0\xa5\x87\xe0\xa4\xb8',
|
||||
'database %s select': '\xe0\xa4\xa1\xe0\xa5\x87\xe0\xa4\x9f\xe0\xa4\xbe\xe0\xa4\xac\xe0\xa5\x87\xe0\xa4\xb8 %s \xe0\xa4\x9a\xe0\xa5\x81\xe0\xa4\xa8\xe0\xa5\x80 \xe0\xa4\xb9\xe0\xa5\x81\xe0\xa4\x88',
|
||||
'db': 'db',
|
||||
'design': '\xe0\xa4\xb0\xe0\xa4\x9a\xe0\xa4\xa8\xe0\xa4\xbe \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x82',
|
||||
'done!': '\xe0\xa4\xb9\xe0\xa5\x8b \xe0\xa4\x97\xe0\xa4\xaf\xe0\xa4\xbe!',
|
||||
'edit profile': 'edit profile',
|
||||
'export as csv file': 'csv \xe0\xa4\xab\xe0\xa4\xbc\xe0\xa4\xbe\xe0\xa4\x87\xe0\xa4\xb2 \xe0\xa4\x95\xe0\xa5\x87 \xe0\xa4\xb0\xe0\xa5\x82\xe0\xa4\xaa \xe0\xa4\xae\xe0\xa5\x87\xe0\xa4\x82 \xe0\xa4\xa8\xe0\xa4\xbf\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\xa4',
|
||||
'insert new': '\xe0\xa4\xa8\xe0\xa4\xaf\xe0\xa4\xbe \xe0\xa4\xa1\xe0\xa4\xbe\xe0\xa4\xb2\xe0\xa5\x87\xe0\xa4\x82',
|
||||
'insert new %s': '\xe0\xa4\xa8\xe0\xa4\xaf\xe0\xa4\xbe %s \xe0\xa4\xa1\xe0\xa4\xbe\xe0\xa4\xb2\xe0\xa5\x87\xe0\xa4\x82',
|
||||
'invalid request': '\xe0\xa4\x85\xe0\xa4\xb5\xe0\xa5\x88\xe0\xa4\xa7 \xe0\xa4\x85\xe0\xa4\xa8\xe0\xa5\x81\xe0\xa4\xb0\xe0\xa5\x8b\xe0\xa4\xa7',
|
||||
'login': 'login',
|
||||
'logout': 'logout',
|
||||
'new record inserted': '\xe0\xa4\xa8\xe0\xa4\xaf\xe0\xa4\xbe \xe0\xa4\xb0\xe0\xa5\x87\xe0\xa4\x95\xe0\xa5\x89\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa1 \xe0\xa4\xa1\xe0\xa4\xbe\xe0\xa4\xb2\xe0\xa4\xbe',
|
||||
'next 100 rows': '\xe0\xa4\x85\xe0\xa4\x97\xe0\xa4\xb2\xe0\xa5\x87 100 \xe0\xa4\xaa\xe0\xa4\x82\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\x81',
|
||||
'or import from csv file': '\xe0\xa4\xaf\xe0\xa4\xbe csv \xe0\xa4\xab\xe0\xa4\xbc\xe0\xa4\xbe\xe0\xa4\x87\xe0\xa4\xb2 \xe0\xa4\xb8\xe0\xa5\x87 \xe0\xa4\x86\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\xa4',
|
||||
'previous 100 rows': '\xe0\xa4\xaa\xe0\xa4\xbf\xe0\xa4\x9b\xe0\xa4\xb2\xe0\xa5\x87 100 \xe0\xa4\xaa\xe0\xa4\x82\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\x81',
|
||||
'record': 'record',
|
||||
'record does not exist': '\xe0\xa4\xb0\xe0\xa4\xbf\xe0\xa4\x95\xe0\xa5\x89\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa1 \xe0\xa4\xae\xe0\xa5\x8c\xe0\xa4\x9c\xe0\xa5\x82\xe0\xa4\xa6 \xe0\xa4\xa8\xe0\xa4\xb9\xe0\xa5\x80\xe0\xa4\x82 \xe0\xa4\xb9\xe0\xa5\x88',
|
||||
'record id': '\xe0\xa4\xb0\xe0\xa4\xbf\xe0\xa4\x95\xe0\xa5\x89\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa1 \xe0\xa4\xaa\xe0\xa4\xb9\xe0\xa4\x9a\xe0\xa4\xbe\xe0\xa4\xa8\xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbe (\xe0\xa4\x86\xe0\xa4\x88\xe0\xa4\xa1\xe0\xa5\x80)',
|
||||
'register': 'register',
|
||||
'selected': '\xe0\xa4\x9a\xe0\xa5\x81\xe0\xa4\xa8\xe0\xa4\xbe \xe0\xa4\xb9\xe0\xa5\x81\xe0\xa4\x86',
|
||||
'state': '\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\xa5\xe0\xa4\xbf\xe0\xa4\xa4\xe0\xa4\xbf',
|
||||
'table': '\xe0\xa4\xa4\xe0\xa4\xbe\xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\x95\xe0\xa4\xbe',
|
||||
'unable to parse csv file': 'csv \xe0\xa4\xab\xe0\xa4\xbc\xe0\xa4\xbe\xe0\xa4\x87\xe0\xa4\xb2 \xe0\xa4\xaa\xe0\xa4\xbe\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xb8 \xe0\xa4\x95\xe0\xa4\xb0\xe0\xa4\xa8\xe0\xa5\x87 \xe0\xa4\xae\xe0\xa5\x87\xe0\xa4\x82 \xe0\xa4\x85\xe0\xa4\xb8\xe0\xa4\xae\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xa5',
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN',
|
||||
'%Y-%m-%d': '%Y.%m.%d.',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y.%m.%d. %H:%M:%S',
|
||||
'%s rows deleted': '%s sorok t\xc3\xb6rl\xc5\x91dtek',
|
||||
'%s rows updated': '%s sorok friss\xc3\xadt\xc5\x91dtek',
|
||||
'Available databases and tables': 'El\xc3\xa9rhet\xc5\x91 adatb\xc3\xa1zisok \xc3\xa9s t\xc3\xa1bl\xc3\xa1k',
|
||||
'Cannot be empty': 'Nem lehet \xc3\xbcres',
|
||||
'Check to delete': 'T\xc3\xb6rl\xc3\xa9shez v\xc3\xa1laszd ki',
|
||||
'Client IP': 'Client IP',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Jelenlegi lek\xc3\xa9rdez\xc3\xa9s',
|
||||
'Current response': 'Jelenlegi v\xc3\xa1lasz',
|
||||
'Current session': 'Jelenlegi folyamat',
|
||||
'DB Model': 'DB Model',
|
||||
'Database': 'Adatb\xc3\xa1zis',
|
||||
'Delete:': 'T\xc3\xb6r\xc3\xb6l:',
|
||||
'Description': 'Description',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Szerkeszt',
|
||||
'Edit This App': 'Alkalmaz\xc3\xa1st szerkeszt',
|
||||
'Edit current record': 'Aktu\xc3\xa1lis bejegyz\xc3\xa9s szerkeszt\xc3\xa9se',
|
||||
'First name': 'First name',
|
||||
'Group ID': 'Group ID',
|
||||
'Hello World': 'Hello Vil\xc3\xa1g',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Index': 'Index',
|
||||
'Internal State': 'Internal State',
|
||||
'Invalid Query': 'Hib\xc3\xa1s lek\xc3\xa9rdez\xc3\xa9s',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Szerkezet',
|
||||
'Main Menu': 'F\xc5\x91men\xc3\xbc',
|
||||
'Menu Model': 'Men\xc3\xbc model',
|
||||
'Name': 'Name',
|
||||
'New Record': '\xc3\x9aj bejegyz\xc3\xa9s',
|
||||
'No databases in this application': 'Nincs adatb\xc3\xa1zis ebben az alkalmaz\xc3\xa1sban',
|
||||
'Origin': 'Origin',
|
||||
'Password': 'Password',
|
||||
'Powered by': 'Powered by',
|
||||
'Query:': 'Lek\xc3\xa9rdez\xc3\xa9s:',
|
||||
'Record ID': 'Record ID',
|
||||
'Registration key': 'Registration key',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Rows in table': 'Sorok a t\xc3\xa1bl\xc3\xa1ban',
|
||||
'Rows selected': 'Kiv\xc3\xa1lasztott sorok',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Sure you want to delete this object?': 'Biztos t\xc3\xb6rli ezt az objektumot?',
|
||||
'Table name': '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.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Update:': 'Friss\xc3\xadt:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
|
||||
'User ID': 'User ID',
|
||||
'View': 'N\xc3\xa9zet',
|
||||
'Welcome %s': 'Welcome %s',
|
||||
'Welcome to web2py': 'Isten hozott a web2py-ban',
|
||||
'appadmin is disabled because insecure channel': 'az appadmin a biztons\xc3\xa1gtalan csatorna miatt letiltva',
|
||||
'cache': 'gyors\xc3\xadt\xc3\xb3t\xc3\xa1r',
|
||||
'change password': 'jelsz\xc3\xb3 megv\xc3\xa1ltoztat\xc3\xa1sa',
|
||||
'Online examples': 'online p\xc3\xa9ld\xc3\xa1k\xc3\xa9rt kattints ide',
|
||||
'Administrative interface': 'az adminisztr\xc3\xa1ci\xc3\xb3s fel\xc3\xbclet\xc3\xa9rt kattints ide',
|
||||
'customize me!': 'v\xc3\xa1ltoztass meg!',
|
||||
'data uploaded': 'adat felt\xc3\xb6ltve',
|
||||
'database': 'adatb\xc3\xa1zis',
|
||||
'database %s select': 'adatb\xc3\xa1zis %s kiv\xc3\xa1laszt\xc3\xa1s',
|
||||
'db': 'db',
|
||||
'design': 'design',
|
||||
'done!': 'k\xc3\xa9sz!',
|
||||
'edit profile': 'profil szerkeszt\xc3\xa9se',
|
||||
'export as csv file': 'export\xc3\xa1l csv f\xc3\xa1jlba',
|
||||
'insert new': '\xc3\xbaj beilleszt\xc3\xa9se',
|
||||
'insert new %s': '\xc3\xbaj beilleszt\xc3\xa9se %s',
|
||||
'invalid request': 'hib\xc3\xa1s k\xc3\xa9r\xc3\xa9s',
|
||||
'login': 'bel\xc3\xa9p',
|
||||
'logout': 'kil\xc3\xa9p',
|
||||
'lost password': 'elveszett jelsz\xc3\xb3',
|
||||
'new record inserted': '\xc3\xbaj bejegyz\xc3\xa9s felv\xc3\xa9ve',
|
||||
'next 100 rows': 'k\xc3\xb6vetkez\xc5\x91 100 sor',
|
||||
'or import from csv file': 'vagy bet\xc3\xb6lt\xc3\xa9s csv f\xc3\xa1jlb\xc3\xb3l',
|
||||
'previous 100 rows': 'el\xc5\x91z\xc5\x91 100 sor',
|
||||
'record': 'bejegyz\xc3\xa9s',
|
||||
'record does not exist': 'bejegyz\xc3\xa9s nem l\xc3\xa9tezik',
|
||||
'record id': 'bejegyz\xc3\xa9s id',
|
||||
'register': 'regisztr\xc3\xa1ci\xc3\xb3',
|
||||
'selected': 'kiv\xc3\xa1lasztott',
|
||||
'state': '\xc3\xa1llapot',
|
||||
'table': 't\xc3\xa1bla',
|
||||
'unable to parse csv file': 'nem lehet a csv f\xc3\xa1jlt beolvasni',
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN',
|
||||
'%Y-%m-%d': '%Y.%m.%d.',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y.%m.%d. %H:%M:%S',
|
||||
'%s rows deleted': '%s sorok t\xc3\xb6rl\xc5\x91dtek',
|
||||
'%s rows updated': '%s sorok friss\xc3\xadt\xc5\x91dtek',
|
||||
'Available databases and tables': 'El\xc3\xa9rhet\xc5\x91 adatb\xc3\xa1zisok \xc3\xa9s t\xc3\xa1bl\xc3\xa1k',
|
||||
'Cannot be empty': 'Nem lehet \xc3\xbcres',
|
||||
'Check to delete': 'T\xc3\xb6rl\xc3\xa9shez v\xc3\xa1laszd ki',
|
||||
'Client IP': 'Client IP',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Jelenlegi lek\xc3\xa9rdez\xc3\xa9s',
|
||||
'Current response': 'Jelenlegi v\xc3\xa1lasz',
|
||||
'Current session': 'Jelenlegi folyamat',
|
||||
'DB Model': 'DB Model',
|
||||
'Database': 'Adatb\xc3\xa1zis',
|
||||
'Delete:': 'T\xc3\xb6r\xc3\xb6l:',
|
||||
'Description': 'Description',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Szerkeszt',
|
||||
'Edit This App': 'Alkalmaz\xc3\xa1st szerkeszt',
|
||||
'Edit current record': 'Aktu\xc3\xa1lis bejegyz\xc3\xa9s szerkeszt\xc3\xa9se',
|
||||
'First name': 'First name',
|
||||
'Group ID': 'Group ID',
|
||||
'Hello World': 'Hello Vil\xc3\xa1g',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Index': 'Index',
|
||||
'Internal State': 'Internal State',
|
||||
'Invalid Query': 'Hib\xc3\xa1s lek\xc3\xa9rdez\xc3\xa9s',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Szerkezet',
|
||||
'Main Menu': 'F\xc5\x91men\xc3\xbc',
|
||||
'Menu Model': 'Men\xc3\xbc model',
|
||||
'Name': 'Name',
|
||||
'New Record': '\xc3\x9aj bejegyz\xc3\xa9s',
|
||||
'No databases in this application': 'Nincs adatb\xc3\xa1zis ebben az alkalmaz\xc3\xa1sban',
|
||||
'Origin': 'Origin',
|
||||
'Password': 'Password',
|
||||
'Powered by': 'Powered by',
|
||||
'Query:': 'Lek\xc3\xa9rdez\xc3\xa9s:',
|
||||
'Record ID': 'Record ID',
|
||||
'Registration key': 'Registration key',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Rows in table': 'Sorok a t\xc3\xa1bl\xc3\xa1ban',
|
||||
'Rows selected': 'Kiv\xc3\xa1lasztott sorok',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Sure you want to delete this object?': 'Biztos t\xc3\xb6rli ezt az objektumot?',
|
||||
'Table name': '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.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Update:': 'Friss\xc3\xadt:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
|
||||
'User ID': 'User ID',
|
||||
'View': 'N\xc3\xa9zet',
|
||||
'Welcome %s': 'Welcome %s',
|
||||
'Welcome to web2py': 'Isten hozott a web2py-ban',
|
||||
'appadmin is disabled because insecure channel': 'az appadmin a biztons\xc3\xa1gtalan csatorna miatt letiltva',
|
||||
'cache': 'gyors\xc3\xadt\xc3\xb3t\xc3\xa1r',
|
||||
'change password': 'jelsz\xc3\xb3 megv\xc3\xa1ltoztat\xc3\xa1sa',
|
||||
'Online examples': 'online p\xc3\xa9ld\xc3\xa1k\xc3\xa9rt kattints ide',
|
||||
'Administrative interface': 'az adminisztr\xc3\xa1ci\xc3\xb3s fel\xc3\xbclet\xc3\xa9rt kattints ide',
|
||||
'customize me!': 'v\xc3\xa1ltoztass meg!',
|
||||
'data uploaded': 'adat felt\xc3\xb6ltve',
|
||||
'database': 'adatb\xc3\xa1zis',
|
||||
'database %s select': 'adatb\xc3\xa1zis %s kiv\xc3\xa1laszt\xc3\xa1s',
|
||||
'db': 'db',
|
||||
'design': 'design',
|
||||
'done!': 'k\xc3\xa9sz!',
|
||||
'edit profile': 'profil szerkeszt\xc3\xa9se',
|
||||
'export as csv file': 'export\xc3\xa1l csv f\xc3\xa1jlba',
|
||||
'insert new': '\xc3\xbaj beilleszt\xc3\xa9se',
|
||||
'insert new %s': '\xc3\xbaj beilleszt\xc3\xa9se %s',
|
||||
'invalid request': 'hib\xc3\xa1s k\xc3\xa9r\xc3\xa9s',
|
||||
'login': 'bel\xc3\xa9p',
|
||||
'logout': 'kil\xc3\xa9p',
|
||||
'lost password': 'elveszett jelsz\xc3\xb3',
|
||||
'new record inserted': '\xc3\xbaj bejegyz\xc3\xa9s felv\xc3\xa9ve',
|
||||
'next 100 rows': 'k\xc3\xb6vetkez\xc5\x91 100 sor',
|
||||
'or import from csv file': 'vagy bet\xc3\xb6lt\xc3\xa9s csv f\xc3\xa1jlb\xc3\xb3l',
|
||||
'previous 100 rows': 'el\xc5\x91z\xc5\x91 100 sor',
|
||||
'record': 'bejegyz\xc3\xa9s',
|
||||
'record does not exist': 'bejegyz\xc3\xa9s nem l\xc3\xa9tezik',
|
||||
'record id': 'bejegyz\xc3\xa9s id',
|
||||
'register': 'regisztr\xc3\xa1ci\xc3\xb3',
|
||||
'selected': 'kiv\xc3\xa1lasztott',
|
||||
'state': '\xc3\xa1llapot',
|
||||
'table': 't\xc3\xa1bla',
|
||||
'unable to parse csv file': 'nem lehet a csv f\xc3\xa1jlt beolvasni',
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" è un\'espressione opzionale come "campo1=\'nuovo valore\'". Non si può fare "update" o "delete" dei risultati di un JOIN ',
|
||||
'%Y-%m-%d': '%d/%m/%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
|
||||
'%s rows deleted': '%s righe ("record") cancellate',
|
||||
'%s rows updated': '%s righe ("record") modificate',
|
||||
'Administrative interface': 'Interfaccia amministrativa',
|
||||
'Available databases and tables': 'Database e tabelle disponibili',
|
||||
'Cannot be empty': 'Non può essere vuoto',
|
||||
'Check to delete': 'Seleziona per cancellare',
|
||||
'Client IP': 'Client IP',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Richiesta (request) corrente',
|
||||
'Current response': 'Risposta (response) corrente',
|
||||
'Current session': 'Sessione (session) corrente',
|
||||
'DB Model': 'Modello di DB',
|
||||
'Database': 'Database',
|
||||
'Delete': 'Delete',
|
||||
'Delete:': 'Cancella:',
|
||||
'Description': 'Descrizione',
|
||||
'Documentation': 'Documentazione',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Modifica',
|
||||
'Edit This App': 'Modifica questa applicazione',
|
||||
'Edit current record': 'Modifica record corrente',
|
||||
'First name': 'Nome',
|
||||
'Group ID': 'ID Gruppo',
|
||||
'Hello': 'Hello',
|
||||
'Hello World': 'Salve Mondo',
|
||||
'Hello World in a flash!': 'Salve Mondo in un flash!',
|
||||
'Import/Export': 'Importa/Esporta',
|
||||
'Index': 'Indice',
|
||||
'Internal State': 'Stato interno',
|
||||
'Invalid Query': 'Richiesta (query) non valida',
|
||||
'Invalid email': 'Email non valida',
|
||||
'Last name': 'Cognome',
|
||||
'Layout': 'Layout',
|
||||
'Main Menu': 'Menu principale',
|
||||
'Menu Model': 'Menu Modelli',
|
||||
'Name': 'Nome',
|
||||
'New Record': 'Nuovo elemento (record)',
|
||||
'No databases in this application': 'Nessun database presente in questa applicazione',
|
||||
'Online examples': 'Vedere gli esempi',
|
||||
'Origin': 'Origine',
|
||||
'Password': 'Password',
|
||||
'Powered by': 'Powered by',
|
||||
'Query:': 'Richiesta (query):',
|
||||
'Record ID': 'Record ID',
|
||||
'Registration key': 'Chiave di Registazione',
|
||||
'Reset Password key': 'Resetta chiave Password ',
|
||||
'Role': 'Ruolo',
|
||||
'Rows in table': 'Righe nella tabella',
|
||||
'Rows selected': 'Righe selezionate',
|
||||
'Stylesheet': 'Foglio di stile (stylesheet)',
|
||||
'Sure you want to delete this object?': 'Vuoi veramente cancellare questo oggetto?',
|
||||
'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 output of the file is a dictionary that was rendered by the view': 'L\'output del file è un "dictionary" che è stato visualizzato dalla vista',
|
||||
'This is a copy of the scaffolding application': "Questa è una copia dell'applicazione di base (scaffold)",
|
||||
'Timestamp': 'Ora (timestamp)',
|
||||
'Update:': 'Aggiorna:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Per costruire richieste (query) più complesse si usano (...)&(...) come "e" (AND), (...)|(...) come "o" (OR), e ~(...) come negazione (NOT).',
|
||||
'User ID': 'ID Utente',
|
||||
'View': 'Vista',
|
||||
'Welcome %s': 'Benvenuto %s',
|
||||
'Welcome to web2py': 'Benvenuto su web2py',
|
||||
'Which called the function': 'che ha chiamato la funzione',
|
||||
'You are successfully running web2py': 'Stai eseguendo web2py con successo',
|
||||
'You can modify this application and adapt it to your needs': 'Puoi modificare questa applicazione adattandola alle tue necessità',
|
||||
'You visited the url': "Hai visitato l'URL",
|
||||
'appadmin is disabled because insecure channel': 'Amministrazione (appadmin) disabilitata: comunicazione non sicura',
|
||||
'cache': 'cache',
|
||||
'change password': 'Cambia password',
|
||||
'customize me!': 'Personalizzami!',
|
||||
'data uploaded': 'dati caricati',
|
||||
'database': 'database',
|
||||
'database %s select': 'database %s select',
|
||||
'db': 'db',
|
||||
'design': 'progetta',
|
||||
'done!': 'fatto!',
|
||||
'edit profile': 'modifica profilo',
|
||||
'export as csv file': 'esporta come file CSV',
|
||||
'hello': 'hello',
|
||||
'hello world': 'salve mondo',
|
||||
'insert new': 'inserisci nuovo',
|
||||
'insert new %s': 'inserisci nuovo %s',
|
||||
'invalid request': 'richiesta non valida',
|
||||
'located in the file': 'presente nel file',
|
||||
'login': 'accesso',
|
||||
'logout': 'uscita',
|
||||
'lost password?': 'dimenticato la password?',
|
||||
'new record inserted': 'nuovo record inserito',
|
||||
'next 100 rows': 'prossime 100 righe',
|
||||
'not authorized': 'non autorizzato',
|
||||
'or import from csv file': 'oppure importa da file CSV',
|
||||
'previous 100 rows': '100 righe precedenti',
|
||||
'record': 'record',
|
||||
'record does not exist': 'il record non esiste',
|
||||
'record id': 'record id',
|
||||
'register': 'registrazione',
|
||||
'selected': 'selezionato',
|
||||
'state': 'stato',
|
||||
'table': 'tabella',
|
||||
'unable to parse csv file': 'non riesco a decodificare questo file CSV',
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" è un\'espressione opzionale come "campo1=\'nuovo valore\'". Non si può fare "update" o "delete" dei risultati di un JOIN ',
|
||||
'%Y-%m-%d': '%d/%m/%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
|
||||
'%s rows deleted': '%s righe ("record") cancellate',
|
||||
'%s rows updated': '%s righe ("record") modificate',
|
||||
'Administrative interface': 'Interfaccia amministrativa',
|
||||
'Available databases and tables': 'Database e tabelle disponibili',
|
||||
'Cannot be empty': 'Non può essere vuoto',
|
||||
'Check to delete': 'Seleziona per cancellare',
|
||||
'Client IP': 'Client IP',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Richiesta (request) corrente',
|
||||
'Current response': 'Risposta (response) corrente',
|
||||
'Current session': 'Sessione (session) corrente',
|
||||
'DB Model': 'Modello di DB',
|
||||
'Database': 'Database',
|
||||
'Delete': 'Delete',
|
||||
'Delete:': 'Cancella:',
|
||||
'Description': 'Descrizione',
|
||||
'Documentation': 'Documentazione',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Modifica',
|
||||
'Edit This App': 'Modifica questa applicazione',
|
||||
'Edit current record': 'Modifica record corrente',
|
||||
'First name': 'Nome',
|
||||
'Group ID': 'ID Gruppo',
|
||||
'Hello World': 'Salve Mondo',
|
||||
'Hello World in a flash!': 'Salve Mondo in un flash!',
|
||||
'Import/Export': 'Importa/Esporta',
|
||||
'Index': 'Indice',
|
||||
'Internal State': 'Stato interno',
|
||||
'Invalid Query': 'Richiesta (query) non valida',
|
||||
'Invalid email': 'Email non valida',
|
||||
'Last name': 'Cognome',
|
||||
'Layout': 'Layout',
|
||||
'Main Menu': 'Menu principale',
|
||||
'Menu Model': 'Menu Modelli',
|
||||
'Name': 'Nome',
|
||||
'New Record': 'Nuovo elemento (record)',
|
||||
'No databases in this application': 'Nessun database presente in questa applicazione',
|
||||
'Online examples': 'Vedere gli esempi',
|
||||
'Origin': 'Origine',
|
||||
'Password': 'Password',
|
||||
'Powered by': 'Powered by',
|
||||
'Query:': 'Richiesta (query):',
|
||||
'Record ID': 'Record ID',
|
||||
'Registration key': 'Chiave di Registazione',
|
||||
'Reset Password key': 'Resetta chiave Password ',
|
||||
'Role': 'Ruolo',
|
||||
'Rows in table': 'Righe nella tabella',
|
||||
'Rows selected': 'Righe selezionate',
|
||||
'Stylesheet': 'Foglio di stile (stylesheet)',
|
||||
'Sure you want to delete this object?': 'Vuoi veramente cancellare questo oggetto?',
|
||||
'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 output of the file is a dictionary that was rendered by the view': 'L\'output del file è un "dictionary" che è stato visualizzato dalla vista',
|
||||
'This is a copy of the scaffolding application': "Questa è una copia dell'applicazione di base (scaffold)",
|
||||
'Timestamp': 'Ora (timestamp)',
|
||||
'Update': 'Update',
|
||||
'Update:': 'Aggiorna:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Per costruire richieste (query) più complesse si usano (...)&(...) come "e" (AND), (...)|(...) come "o" (OR), e ~(...) come negazione (NOT).',
|
||||
'User ID': 'ID Utente',
|
||||
'View': 'Vista',
|
||||
'Welcome %s': 'Benvenuto %s',
|
||||
'Welcome to web2py': 'Benvenuto su web2py',
|
||||
'Which called the function': 'che ha chiamato la funzione',
|
||||
'You are successfully running web2py': 'Stai eseguendo web2py con successo',
|
||||
'You can modify this application and adapt it to your needs': 'Puoi modificare questa applicazione adattandola alle tue necessità',
|
||||
'You visited the url': "Hai visitato l'URL",
|
||||
'appadmin is disabled because insecure channel': 'Amministrazione (appadmin) disabilitata: comunicazione non sicura',
|
||||
'cache': 'cache',
|
||||
'change password': 'Cambia password',
|
||||
'customize me!': 'Personalizzami!',
|
||||
'data uploaded': 'dati caricati',
|
||||
'database': 'database',
|
||||
'database %s select': 'database %s select',
|
||||
'db': 'db',
|
||||
'design': 'progetta',
|
||||
'done!': 'fatto!',
|
||||
'edit profile': 'modifica profilo',
|
||||
'export as csv file': 'esporta come file CSV',
|
||||
'hello': 'hello',
|
||||
'hello world': 'salve mondo',
|
||||
'insert new': 'inserisci nuovo',
|
||||
'insert new %s': 'inserisci nuovo %s',
|
||||
'invalid request': 'richiesta non valida',
|
||||
'located in the file': 'presente nel file',
|
||||
'login': 'accesso',
|
||||
'logout': 'uscita',
|
||||
'lost password?': 'dimenticato la password?',
|
||||
'new record inserted': 'nuovo record inserito',
|
||||
'next 100 rows': 'prossime 100 righe',
|
||||
'not authorized': 'non autorizzato',
|
||||
'or import from csv file': 'oppure importa da file CSV',
|
||||
'previous 100 rows': '100 righe precedenti',
|
||||
'record': 'record',
|
||||
'record does not exist': 'il record non esiste',
|
||||
'record id': 'record id',
|
||||
'register': 'registrazione',
|
||||
'selected': 'selezionato',
|
||||
'state': 'stato',
|
||||
'table': 'tabella',
|
||||
'unable to parse csv file': 'non riesco a decodificare questo file CSV',
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Uaktualnij" jest dodatkowym wyra\xc5\xbceniem postaci "pole1=\'nowawarto\xc5\x9b\xc4\x87\'". Nie mo\xc5\xbcesz uaktualni\xc4\x87 lub usun\xc4\x85\xc4\x87 wynik\xc3\xb3w z JOIN:',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': 'Wierszy usuni\xc4\x99tych: %s',
|
||||
'%s rows updated': 'Wierszy uaktualnionych: %s',
|
||||
'Available databases and tables': 'Dost\xc4\x99pne bazy danych i tabele',
|
||||
'Cannot be empty': 'Nie mo\xc5\xbce by\xc4\x87 puste',
|
||||
'Change Password': 'Change Password',
|
||||
'Check to delete': 'Zaznacz aby usun\xc4\x85\xc4\x87',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktualne \xc5\xbc\xc4\x85danie',
|
||||
'Current response': 'Aktualna odpowied\xc5\xba',
|
||||
'Current session': 'Aktualna sesja',
|
||||
'DB Model': 'DB Model',
|
||||
'Database': 'Database',
|
||||
'Delete:': 'Usu\xc5\x84:',
|
||||
'Edit': 'Edit',
|
||||
'Edit Profile': 'Edit Profile',
|
||||
'Edit This App': 'Edit This App',
|
||||
'Edit current record': 'Edytuj aktualny rekord',
|
||||
'Hello World': 'Witaj \xc5\x9awiecie',
|
||||
'Import/Export': 'Importuj/eksportuj',
|
||||
'Index': 'Index',
|
||||
'Internal State': 'Stan wewn\xc4\x99trzny',
|
||||
'Invalid Query': 'B\xc5\x82\xc4\x99dne zapytanie',
|
||||
'Layout': 'Layout',
|
||||
'Login': 'Zaloguj',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Przypomnij has\xc5\x82o',
|
||||
'Main Menu': 'Main Menu',
|
||||
'Menu Model': 'Menu Model',
|
||||
'New Record': 'Nowy rekord',
|
||||
'No databases in this application': 'Brak baz danych w tej aplikacji',
|
||||
'Powered by': 'Powered by',
|
||||
'Query:': 'Zapytanie:',
|
||||
'Register': 'Zarejestruj',
|
||||
'Rows in table': 'Wiersze w tabeli',
|
||||
'Rows selected': 'Wybrane wiersze',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Sure you want to delete this object?': 'Czy na pewno chcesz usun\xc4\x85\xc4\x87 ten obiekt?',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Zapytanie" jest warunkiem postaci "db.tabela1.pole1==\'warto\xc5\x9b\xc4\x87\'". Takie co\xc5\x9b jak "db.tabela1.pole1==db.tabela2.pole2" oznacza SQL JOIN.',
|
||||
'Update:': 'Uaktualnij:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'U\xc5\xbcyj (...)&(...) jako AND, (...)|(...) jako OR oraz ~(...) jako NOT do tworzenia bardziej skomplikowanych zapyta\xc5\x84.',
|
||||
'View': 'View',
|
||||
'Welcome %s': 'Welcome %s',
|
||||
'Welcome to web2py': 'Witaj w web2py',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
|
||||
'cache': 'cache',
|
||||
'change password': 'change password',
|
||||
'Online examples': 'Kliknij aby przej\xc5\x9b\xc4\x87 do interaktywnych przyk\xc5\x82ad\xc3\xb3w',
|
||||
'Administrative interface': 'Kliknij aby przej\xc5\x9b\xc4\x87 do panelu administracyjnego',
|
||||
'customize me!': 'dostosuj mnie!',
|
||||
'data uploaded': 'dane wys\xc5\x82ane',
|
||||
'database': 'baza danych',
|
||||
'database %s select': 'wyb\xc3\xb3r z bazy danych %s',
|
||||
'db': 'baza danych',
|
||||
'design': 'projektuj',
|
||||
'done!': 'zrobione!',
|
||||
'edit profile': 'edit profile',
|
||||
'export as csv file': 'eksportuj jako plik csv',
|
||||
'insert new': 'wstaw nowy rekord tabeli',
|
||||
'insert new %s': 'wstaw nowy rekord do tabeli %s',
|
||||
'invalid request': 'B\xc5\x82\xc4\x99dne \xc5\xbc\xc4\x85danie',
|
||||
'login': 'login',
|
||||
'logout': 'logout',
|
||||
'new record inserted': 'nowy rekord zosta\xc5\x82 wstawiony',
|
||||
'next 100 rows': 'nast\xc4\x99pne 100 wierszy',
|
||||
'or import from csv file': 'lub zaimportuj z pliku csv',
|
||||
'previous 100 rows': 'poprzednie 100 wierszy',
|
||||
'record': 'record',
|
||||
'record does not exist': 'rekord nie istnieje',
|
||||
'record id': 'id rekordu',
|
||||
'register': 'register',
|
||||
'selected': 'wybranych',
|
||||
'state': 'stan',
|
||||
'table': 'tabela',
|
||||
'unable to parse csv file': 'nie mo\xc5\xbcna sparsowa\xc4\x87 pliku csv',
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Uaktualnij" jest dodatkowym wyra\xc5\xbceniem postaci "pole1=\'nowawarto\xc5\x9b\xc4\x87\'". Nie mo\xc5\xbcesz uaktualni\xc4\x87 lub usun\xc4\x85\xc4\x87 wynik\xc3\xb3w z JOIN:',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': 'Wierszy usuni\xc4\x99tych: %s',
|
||||
'%s rows updated': 'Wierszy uaktualnionych: %s',
|
||||
'Authentication': 'Uwierzytelnienie',
|
||||
'Available databases and tables': 'Dost\xc4\x99pne bazy danych i tabele',
|
||||
'Cannot be empty': 'Nie mo\xc5\xbce by\xc4\x87 puste',
|
||||
'Change Password': 'Zmie\xc5\x84 has\xc5\x82o',
|
||||
'Check to delete': 'Zaznacz aby usun\xc4\x85\xc4\x87',
|
||||
'Check to delete:': 'Zaznacz aby usun\xc4\x85\xc4\x87:',
|
||||
'Client IP': 'IP klienta',
|
||||
'Controller': 'Kontroler',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktualne \xc5\xbc\xc4\x85danie',
|
||||
'Current response': 'Aktualna odpowied\xc5\xba',
|
||||
'Current session': 'Aktualna sesja',
|
||||
'DB Model': 'Model bazy danych',
|
||||
'Database': 'Baza danych',
|
||||
'Delete:': 'Usu\xc5\x84:',
|
||||
'Description': 'Opis',
|
||||
'E-mail': 'Adres e-mail',
|
||||
'Edit': 'Edycja',
|
||||
'Edit Profile': 'Edytuj profil',
|
||||
'Edit This App': 'Edytuj t\xc4\x99 aplikacj\xc4\x99',
|
||||
'Edit current record': 'Edytuj obecny rekord',
|
||||
'First name': 'Imi\xc4\x99',
|
||||
'Function disabled': 'Funkcja wy\xc5\x82\xc4\x85czona',
|
||||
'Group ID': 'ID grupy',
|
||||
'Hello World': 'Witaj \xc5\x9awiecie',
|
||||
'Import/Export': 'Importuj/eksportuj',
|
||||
'Index': 'Indeks',
|
||||
'Internal State': 'Stan wewn\xc4\x99trzny',
|
||||
'Invalid Query': 'B\xc5\x82\xc4\x99dne zapytanie',
|
||||
'Invalid email': 'B\xc5\x82\xc4\x99dny adres email',
|
||||
'Last name': 'Nazwisko',
|
||||
'Layout': 'Uk\xc5\x82ad',
|
||||
'Login': 'Zaloguj',
|
||||
'Logout': 'Wyloguj',
|
||||
'Lost Password': 'Przypomnij has\xc5\x82o',
|
||||
'Main Menu': 'Menu g\xc5\x82\xc3\xb3wne',
|
||||
'Menu Model': 'Model menu',
|
||||
'Name': 'Nazwa',
|
||||
'New Record': 'Nowy rekord',
|
||||
'No databases in this application': 'Brak baz danych w tej aplikacji',
|
||||
'Origin': '\xc5\xb9r\xc3\xb3d\xc5\x82o',
|
||||
'Password': 'Has\xc5\x82o',
|
||||
"Password fields don't match": 'Pola has\xc5\x82a nie s\xc4\x85 zgodne ze sob\xc4\x85',
|
||||
'Powered by': 'Zasilane przez',
|
||||
'Query:': 'Zapytanie:',
|
||||
'Record ID': 'ID rekordu',
|
||||
'Register': 'Zarejestruj',
|
||||
'Registration key': 'Klucz rejestracji',
|
||||
'Role': 'Rola',
|
||||
'Rows in table': 'Wiersze w tabeli',
|
||||
'Rows selected': 'Wybrane wiersze',
|
||||
'Stylesheet': 'Arkusz styl\xc3\xb3w',
|
||||
'Submit': 'Wy\xc5\x9blij',
|
||||
'Sure you want to delete this object?': 'Czy na pewno chcesz usun\xc4\x85\xc4\x87 ten obiekt?',
|
||||
'Table name': 'Nazwa tabeli',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Zapytanie" jest warunkiem postaci "db.tabela1.pole1==\'warto\xc5\x9b\xc4\x87\'". Takie co\xc5\x9b jak "db.tabela1.pole1==db.tabela2.pole2" oznacza SQL JOIN.',
|
||||
'Timestamp': 'Znacznik czasu',
|
||||
'Update:': 'Uaktualnij:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'U\xc5\xbcyj (...)&(...) jako AND, (...)|(...) jako OR oraz ~(...) jako NOT do tworzenia bardziej skomplikowanych zapyta\xc5\x84.',
|
||||
'User %(id)s Registered': 'U\xc5\xbcytkownik %(id)s zosta\xc5\x82 zarejestrowany',
|
||||
'User ID': 'ID u\xc5\xbcytkownika',
|
||||
'Verify Password': 'Potwierd\xc5\xba has\xc5\x82o',
|
||||
'View': 'Widok',
|
||||
'Welcome %s': 'Welcome %s',
|
||||
'Welcome to web2py': 'Witaj w web2py',
|
||||
'appadmin is disabled because insecure channel': 'administracja aplikacji wy\xc5\x82\xc4\x85czona z powodu braku bezpiecznego po\xc5\x82\xc4\x85czenia',
|
||||
'cache': 'cache',
|
||||
'change password': 'change password',
|
||||
'Online examples': 'Kliknij aby przej\xc5\x9b\xc4\x87 do interaktywnych przyk\xc5\x82ad\xc3\xb3w',
|
||||
'Administrative interface': 'Kliknij aby przej\xc5\x9b\xc4\x87 do panelu administracyjnego',
|
||||
'customize me!': 'dostosuj mnie!',
|
||||
'data uploaded': 'dane wys\xc5\x82ane',
|
||||
'database': 'baza danych',
|
||||
'database %s select': 'wyb\xc3\xb3r z bazy danych %s',
|
||||
'db': 'baza danych',
|
||||
'design': 'projektuj',
|
||||
'done!': 'zrobione!',
|
||||
'edit profile': 'edit profile',
|
||||
'export as csv file': 'eksportuj jako plik csv',
|
||||
'insert new': 'wstaw nowy rekord tabeli',
|
||||
'insert new %s': 'wstaw nowy rekord do tabeli %s',
|
||||
'invalid request': 'B\xc5\x82\xc4\x99dne \xc5\xbc\xc4\x85danie',
|
||||
'login': 'login',
|
||||
'logout': 'logout',
|
||||
'new record inserted': 'nowy rekord zosta\xc5\x82 wstawiony',
|
||||
'next 100 rows': 'nast\xc4\x99pne 100 wierszy',
|
||||
'or import from csv file': 'lub zaimportuj z pliku csv',
|
||||
'previous 100 rows': 'poprzednie 100 wierszy',
|
||||
'record': 'rekord',
|
||||
'record does not exist': 'rekord nie istnieje',
|
||||
'record id': 'id rekordu',
|
||||
'register': 'register',
|
||||
'selected': 'wybranych',
|
||||
'state': 'stan',
|
||||
'table': 'tabela',
|
||||
'unable to parse csv file': 'nie mo\xc5\xbcna sparsowa\xc4\x87 pliku csv',
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" é uma expressão opcional como "campo1=\'novovalor\'". Você não pode atualizar ou apagar os resultados de um JOIN',
|
||||
'%Y-%m-%d': '%d-%m-%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
|
||||
'%s rows deleted': '%s linhas apagadas',
|
||||
'%s rows updated': '%s linhas atualizadas',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'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',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Requisição atual',
|
||||
'Current response': 'Resposta atual',
|
||||
'Current session': 'Sessão atual',
|
||||
'DB Model': 'Modelo BD',
|
||||
'Database': 'Banco de dados',
|
||||
'Delete:': 'Apagar:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Description',
|
||||
'Documentation': 'Documentation',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Editar',
|
||||
'Edit This App': 'Edit This App',
|
||||
'Edit current record': 'Editar o registro atual',
|
||||
'Errors': 'Errors',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Group ID': 'Group ID',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Olá Mundo',
|
||||
'Home': 'Home',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Index': 'Início',
|
||||
'Internal State': 'Estado Interno',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid Query': 'Consulta Inválida',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Layout',
|
||||
'Layouts': 'Layouts',
|
||||
'Live chat': 'Live chat',
|
||||
'Login': 'Autentique-se',
|
||||
'Lost Password': 'Esqueceu sua senha?',
|
||||
'Main Menu': 'Menu Principal',
|
||||
'Menu Model': 'Modelo de Menu',
|
||||
'Name': 'Name',
|
||||
'New Record': 'Novo Registro',
|
||||
'No databases in this application': 'Sem bancos de dados nesta aplicação',
|
||||
'Origin': 'Origin',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Consulta:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'Recipes': 'Recipes',
|
||||
'Record ID': 'Record ID',
|
||||
'Register': 'Registre-se',
|
||||
'Registration key': 'Registration key',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Resources': 'Resources',
|
||||
'Role': 'Role',
|
||||
'Rows in table': 'Linhas na tabela',
|
||||
'Rows selected': 'Linhas selecionadas',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Está certo(a) que deseja apagar esse objeto ?',
|
||||
'Table name': '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.': 'Uma "consulta" é uma condição como "db.tabela1.campo1==\'valor\'". Expressões como "db.tabela1.campo1==db.tabela2.campo2" resultam em um JOIN SQL.',
|
||||
'The Core': 'The Core',
|
||||
'The Views': 'The Views',
|
||||
'The output of the file is a dictionary that was rendered by the view': 'The output of the file is a dictionary that was rendered by the view',
|
||||
'This App': 'This App',
|
||||
'This is a copy of the scaffolding application': 'This is a copy of the scaffolding application',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Twitter': 'Twitter',
|
||||
'Update:': 'Atualizar:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, e ~(...) para NOT para construir consultas mais complexas.',
|
||||
'User ID': 'User ID',
|
||||
'User Voice': 'User Voice',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Visualização',
|
||||
'Web2py': 'Web2py',
|
||||
'Welcome': 'Welcome',
|
||||
'Welcome %s': 'Vem vindo %s',
|
||||
'Welcome to web2py': 'Bem vindo ao web2py',
|
||||
'Which called the function': 'Which called the function',
|
||||
'You are successfully running web2py': 'You are successfully running web2py',
|
||||
'You are successfully running web2py.': 'You are successfully running web2py.',
|
||||
'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs',
|
||||
'You visited the url': 'You visited the url',
|
||||
'appadmin is disabled because insecure channel': 'Administração desativada devido ao canal inseguro',
|
||||
'cache': 'cache',
|
||||
'change password': 'modificar senha',
|
||||
'Online examples': 'Alguns exemplos',
|
||||
'Administrative interface': 'Interface administrativa',
|
||||
'customize me!': 'Personalize-me!',
|
||||
'data uploaded': 'dados enviados',
|
||||
'database': 'banco de dados',
|
||||
'database %s select': 'Selecionar banco de dados %s',
|
||||
'db': 'bd',
|
||||
'design': 'design',
|
||||
'Documentation': 'Documentation',
|
||||
'done!': 'concluído!',
|
||||
'edit profile': 'editar perfil',
|
||||
'export as csv file': 'exportar como um arquivo csv',
|
||||
'insert new': 'inserir novo',
|
||||
'insert new %s': 'inserir novo %s',
|
||||
'invalid request': 'requisição inválida',
|
||||
'located in the file': 'located in the file',
|
||||
'login': 'Entrar',
|
||||
'logout': 'Sair',
|
||||
'lost password?': 'lost password?',
|
||||
'new record inserted': 'novo registro inserido',
|
||||
'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 does not exist': 'registro não existe',
|
||||
'record id': 'id do registro',
|
||||
'register': 'Registre-se',
|
||||
'selected': 'selecionado',
|
||||
'state': 'estado',
|
||||
'table': 'tabela',
|
||||
'unable to parse csv file': 'não foi possível analisar arquivo csv',
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" é uma expressão opcional como "field1=\'newvalue\'". Não pode actualizar ou eliminar os resultados de um JOIN',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': '%s linhas eliminadas',
|
||||
'%s rows updated': '%s linhas actualizadas',
|
||||
'About': 'About',
|
||||
'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',
|
||||
'Cannot be empty': 'não pode ser vazio',
|
||||
'Category Create': 'Category Create',
|
||||
'Category Select': 'Category Select',
|
||||
'Check to delete': 'seleccione para eliminar',
|
||||
'Comment Create': 'Comment Create',
|
||||
'Comment Select': 'Comment Select',
|
||||
'Content': 'Content',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Direitos de cópia',
|
||||
'Created By': 'Created By',
|
||||
'Created On': 'Created On',
|
||||
'Current request': 'pedido currente',
|
||||
'Current response': 'resposta currente',
|
||||
'Current session': 'sessão currente',
|
||||
'DB Model': 'Modelo de BD',
|
||||
'Database': 'Base de dados',
|
||||
'Delete:': 'Eliminar:',
|
||||
'Edit': 'Editar',
|
||||
'Edit This App': 'Edite esta aplicação',
|
||||
'Edit current record': 'Edição de registo currente',
|
||||
'Email': 'Email',
|
||||
'First Name': 'First Name',
|
||||
'For %s #%s': 'For %s #%s',
|
||||
'Hello World': 'Olá Mundo',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Index': 'Índice',
|
||||
'Internal State': 'Estado interno',
|
||||
'Invalid Query': 'Consulta Inválida',
|
||||
'Last Name': 'Last Name',
|
||||
'Layout': 'Esboço',
|
||||
'Main Menu': 'Menu Principal',
|
||||
'Menu Model': 'Menu do Modelo',
|
||||
'Modified By': 'Modified By',
|
||||
'Modified On': 'Modified On',
|
||||
'Name': 'Name',
|
||||
'New Record': 'Novo Registo',
|
||||
'No Data': 'No Data',
|
||||
'No databases in this application': 'Não há bases de dados nesta aplicação',
|
||||
'Password': 'Password',
|
||||
'Post Create': 'Post Create',
|
||||
'Post Select': 'Post Select',
|
||||
'Powered by': 'Suportado por',
|
||||
'Query:': 'Interrogação:',
|
||||
'Replyto Reference Post': 'Replyto Reference Post',
|
||||
'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?',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'A "query" é uma condição do tipo "db.table1.field1==\'value\'". Algo como "db.table1.field1==db.table2.field2" resultaria num SQL JOIN.',
|
||||
'Title': 'Title',
|
||||
'Update:': 'Actualização:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Utilize (...)&(...) para AND, (...)|(...) para OR, e ~(...) para NOT para construir interrogações mais complexas.',
|
||||
'Username': 'Username',
|
||||
'View': 'Vista',
|
||||
'Welcome %s': 'Bem-vindo(a) %s',
|
||||
'Welcome to Gluonization': 'Bem vindo ao Web2py',
|
||||
'Welcome to web2py': 'Bem-vindo(a) ao web2py',
|
||||
'When': 'When',
|
||||
'appadmin is disabled because insecure channel': 'appadmin está desactivada pois o canal é inseguro',
|
||||
'cache': 'cache',
|
||||
'change password': 'alterar palavra-chave',
|
||||
'Online examples': 'Exemplos online',
|
||||
'Administrative interface': 'Painel administrativo',
|
||||
'create new category': 'create new category',
|
||||
'create new comment': 'create new comment',
|
||||
'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',
|
||||
'db': 'bd',
|
||||
'design': 'design',
|
||||
'done!': 'concluído!',
|
||||
'edit category': 'edit category',
|
||||
'edit comment': 'edit comment',
|
||||
'edit post': 'edit post',
|
||||
'edit profile': 'Editar perfil',
|
||||
'export as csv file': 'exportar como ficheiro csv',
|
||||
'insert new': 'inserir novo',
|
||||
'insert new %s': 'inserir novo %s',
|
||||
'invalid request': 'Pedido Inválido',
|
||||
'login': 'login',
|
||||
'logout': 'logout',
|
||||
'new record inserted': 'novo registo inserido',
|
||||
'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 does not exist': 'registo inexistente',
|
||||
'record id': 'id de registo',
|
||||
'register': 'register',
|
||||
'search category': 'search category',
|
||||
'search comment': 'search comment',
|
||||
'search post': 'search post',
|
||||
'select category': 'select category',
|
||||
'select comment': 'select comment',
|
||||
'select post': 'select post',
|
||||
'selected': 'seleccionado(s)',
|
||||
'show category': 'show category',
|
||||
'show comment': 'show comment',
|
||||
'show post': 'show post',
|
||||
'state': 'estado',
|
||||
'table': 'tabela',
|
||||
'unable to parse csv file': 'não foi possível carregar ficheiro csv',
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" é uma expressão opcional como "field1=\'newvalue\'". Não pode actualizar ou eliminar os resultados de um JOIN',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': '%s linhas eliminadas',
|
||||
'%s rows updated': '%s linhas actualizadas',
|
||||
'About': 'About',
|
||||
'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',
|
||||
'Cannot be empty': 'não pode ser vazio',
|
||||
'Category Create': 'Category Create',
|
||||
'Category Select': 'Category Select',
|
||||
'Check to delete': 'seleccione para eliminar',
|
||||
'Comment Create': 'Comment Create',
|
||||
'Comment Select': 'Comment Select',
|
||||
'Content': 'Content',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Direitos de cópia',
|
||||
'Created By': 'Created By',
|
||||
'Created On': 'Created On',
|
||||
'Current request': 'pedido currente',
|
||||
'Current response': 'resposta currente',
|
||||
'Current session': 'sessão currente',
|
||||
'DB Model': 'Modelo de BD',
|
||||
'Database': 'Base de dados',
|
||||
'Delete:': 'Eliminar:',
|
||||
'Edit': 'Editar',
|
||||
'Edit This App': 'Edite esta aplicação',
|
||||
'Edit current record': 'Edição de registo currente',
|
||||
'Email': 'Email',
|
||||
'First Name': 'First Name',
|
||||
'For %s #%s': 'For %s #%s',
|
||||
'Hello World': 'Olá Mundo',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Index': 'Índice',
|
||||
'Internal State': 'Estado interno',
|
||||
'Invalid Query': 'Consulta Inválida',
|
||||
'Last Name': 'Last Name',
|
||||
'Layout': 'Esboço',
|
||||
'Main Menu': 'Menu Principal',
|
||||
'Menu Model': 'Menu do Modelo',
|
||||
'Modified By': 'Modified By',
|
||||
'Modified On': 'Modified On',
|
||||
'Name': 'Name',
|
||||
'New Record': 'Novo Registo',
|
||||
'No Data': 'No Data',
|
||||
'No databases in this application': 'Não há bases de dados nesta aplicação',
|
||||
'Password': 'Password',
|
||||
'Post Create': 'Post Create',
|
||||
'Post Select': 'Post Select',
|
||||
'Powered by': 'Suportado por',
|
||||
'Query:': 'Interrogação:',
|
||||
'Replyto Reference Post': 'Replyto Reference Post',
|
||||
'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?',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'A "query" é uma condição do tipo "db.table1.field1==\'value\'". Algo como "db.table1.field1==db.table2.field2" resultaria num SQL JOIN.',
|
||||
'Title': 'Title',
|
||||
'Update:': 'Actualização:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Utilize (...)&(...) para AND, (...)|(...) para OR, e ~(...) para NOT para construir interrogações mais complexas.',
|
||||
'Username': 'Username',
|
||||
'View': 'Vista',
|
||||
'Welcome %s': 'Bem-vindo(a) %s',
|
||||
'Welcome to Gluonization': 'Bem vindo ao Web2py',
|
||||
'Welcome to web2py': 'Bem-vindo(a) ao web2py',
|
||||
'When': 'When',
|
||||
'appadmin is disabled because insecure channel': 'appadmin está desactivada pois o canal é inseguro',
|
||||
'cache': 'cache',
|
||||
'change password': 'alterar palavra-chave',
|
||||
'Online examples': 'Exemplos online',
|
||||
'Administrative interface': 'Painel administrativo',
|
||||
'create new category': 'create new category',
|
||||
'create new comment': 'create new comment',
|
||||
'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',
|
||||
'db': 'bd',
|
||||
'design': 'design',
|
||||
'done!': 'concluído!',
|
||||
'edit category': 'edit category',
|
||||
'edit comment': 'edit comment',
|
||||
'edit post': 'edit post',
|
||||
'edit profile': 'Editar perfil',
|
||||
'export as csv file': 'exportar como ficheiro csv',
|
||||
'insert new': 'inserir novo',
|
||||
'insert new %s': 'inserir novo %s',
|
||||
'invalid request': 'Pedido Inválido',
|
||||
'login': 'login',
|
||||
'logout': 'logout',
|
||||
'new record inserted': 'novo registo inserido',
|
||||
'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 does not exist': 'registo inexistente',
|
||||
'record id': 'id de registo',
|
||||
'register': 'register',
|
||||
'search category': 'search category',
|
||||
'search comment': 'search comment',
|
||||
'search post': 'search post',
|
||||
'select category': 'select category',
|
||||
'select comment': 'select comment',
|
||||
'select post': 'select post',
|
||||
'selected': 'seleccionado(s)',
|
||||
'show category': 'show category',
|
||||
'show comment': 'show comment',
|
||||
'show post': 'show post',
|
||||
'state': 'estado',
|
||||
'table': 'tabela',
|
||||
'unable to parse csv file': 'não foi possível carregar ficheiro csv',
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Изменить" - необязательное выражение вида "field1=\'новое значение\'". Результаты операции JOIN нельзя изменить или удалить.',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': '%s строк удалено',
|
||||
'%s rows updated': '%s строк изменено',
|
||||
'Available databases and tables': 'Базы данных и таблицы',
|
||||
'Cannot be empty': 'Пустое значение недопустимо',
|
||||
'Change Password': 'Смените пароль',
|
||||
'Check to delete': 'Удалить',
|
||||
'Check to delete:': 'Удалить:',
|
||||
'Client IP': 'Client IP',
|
||||
'Current request': 'Текущий запрос',
|
||||
'Current response': 'Текущий ответ',
|
||||
'Current session': 'Текущая сессия',
|
||||
'Delete:': 'Удалить:',
|
||||
'Description': 'Описание',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit Profile': 'Редактировать профиль',
|
||||
'Edit current record': 'Редактировать текущую запись',
|
||||
'First name': 'Имя',
|
||||
'Group ID': 'Group ID',
|
||||
'Hello World': 'Заработало!',
|
||||
'Import/Export': 'Импорт/экспорт',
|
||||
'Internal State': 'Внутренне состояние',
|
||||
'Invalid Query': 'Неверный запрос',
|
||||
'Invalid email': 'Неверный email',
|
||||
'Invalid login': 'Неверный логин',
|
||||
'Invalid password': 'Неверный пароль',
|
||||
'Last name': 'Фамилия',
|
||||
'Logged in': 'Вход выполнен',
|
||||
'Logged out': 'Выход выполнен',
|
||||
'Login': 'Вход',
|
||||
'Logout': 'Выход',
|
||||
'Lost Password': 'Забыли пароль?',
|
||||
'Name': 'Name',
|
||||
'New Record': 'Новая запись',
|
||||
'New password': 'Новый пароль',
|
||||
'No databases in this application': 'В приложении нет баз данных',
|
||||
'Old password': 'Старый пароль',
|
||||
'Origin': 'Происхождение',
|
||||
'Password': 'Пароль',
|
||||
"Password fields don't match": 'Пароли не совпадают',
|
||||
'Query:': 'Запрос:',
|
||||
'Record ID': 'ID записи',
|
||||
'Register': 'Зарегистрироваться',
|
||||
'Registration key': 'Ключ регистрации',
|
||||
'Remember me (for 30 days)': 'Запомнить меня (на 30 дней)',
|
||||
'Reset Password key': 'Сбросить ключ пароля',
|
||||
'Role': 'Роль',
|
||||
'Rows in table': 'Строк в таблице',
|
||||
'Rows selected': 'Выделено строк',
|
||||
'Submit': 'Отправить',
|
||||
'Sure you want to delete this object?': 'Подтвердите удаление объекта',
|
||||
'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.',
|
||||
'Timestamp': 'Отметка времени',
|
||||
'Update:': 'Изменить:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Для построение сложных запросов используйте операторы "И": (...)&(...), "ИЛИ": (...)|(...), "НЕ": ~(...).',
|
||||
'User %(id)s Logged-in': 'Пользователь %(id)s вошёл',
|
||||
'User %(id)s Logged-out': 'Пользователь %(id)s вышел',
|
||||
'User %(id)s Password changed': 'Пользователь %(id)s сменил пароль',
|
||||
'User %(id)s Profile updated': 'Пользователь %(id)s обновил профиль',
|
||||
'User %(id)s Registered': 'Пользователь %(id)s зарегистрировался',
|
||||
'User ID': 'ID пользователя',
|
||||
'Verify Password': 'Повторите пароль',
|
||||
'Welcome to web2py': 'Добро пожаловать в web2py',
|
||||
'Online examples': 'примеры он-лайн',
|
||||
'Administrative interface': 'административный интерфейс',
|
||||
'customize me!': 'настройте внешний вид!',
|
||||
'data uploaded': 'данные загружены',
|
||||
'database': 'база данных',
|
||||
'database %s select': 'выбор базы данных %s',
|
||||
'db': 'БД',
|
||||
'design': 'дизайн',
|
||||
'done!': 'готово!',
|
||||
'export as csv file': 'экспорт в csv-файл',
|
||||
'insert new': 'добавить',
|
||||
'insert new %s': 'добавить %s',
|
||||
'invalid request': 'неверный запрос',
|
||||
'login': 'вход',
|
||||
'logout': 'выход',
|
||||
'new record inserted': 'новая запись добавлена',
|
||||
'next 100 rows': 'следующие 100 строк',
|
||||
'or import from csv file': 'или импорт из csv-файла',
|
||||
'password': 'пароль',
|
||||
'previous 100 rows': 'предыдущие 100 строк',
|
||||
'profile': 'профиль',
|
||||
'record does not exist': 'запись не найдена',
|
||||
'record id': 'id записи',
|
||||
'selected': 'выбрано',
|
||||
'state': 'состояние',
|
||||
'table': 'таблица',
|
||||
'unable to parse csv file': 'нечитаемый csv-файл',
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" je voliteľný výraz ako "field1=\'newvalue\'". Nemôžete upravovať alebo zmazať výsledky JOINu',
|
||||
'%Y-%m-%d': '%d.%m.%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d.%m.%Y %H:%M:%S',
|
||||
'%s rows deleted': '%s zmazaných záznamov',
|
||||
'%s rows updated': '%s upravených záznamov',
|
||||
'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',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktuálna požiadavka',
|
||||
'Current response': 'Aktuálna odpoveď',
|
||||
'Current session': 'Aktuálne sedenie',
|
||||
'DB Model': 'DB Model',
|
||||
'Database': 'Databáza',
|
||||
'Delete:': 'Zmazať:',
|
||||
'Description': 'Popis',
|
||||
'Edit': 'Upraviť',
|
||||
'Edit Profile': 'Upraviť profil',
|
||||
'Edit current record': 'Upraviť aktuálny záznam',
|
||||
'First name': 'Krstné meno',
|
||||
'Group ID': 'ID skupiny',
|
||||
'Hello World': 'Ahoj svet',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Index': 'Index',
|
||||
'Internal State': 'Vnútorný stav',
|
||||
'Invalid email': 'Neplatný email',
|
||||
'Invalid Query': 'Neplatná otázka',
|
||||
'Invalid password': 'Nesprávne heslo',
|
||||
'Last name': 'Priezvisko',
|
||||
'Layout': 'Layout',
|
||||
'Logged in': 'Prihlásený',
|
||||
'Logged out': 'Odhlásený',
|
||||
'Lost Password': 'Stratené heslo?',
|
||||
'Menu Model': 'Menu Model',
|
||||
'Name': 'Meno',
|
||||
'New Record': 'Nový záznam',
|
||||
'New password': 'Nové heslo',
|
||||
'No databases in this application': 'V tejto aplikácii nie sú databázy',
|
||||
'Old password': 'Staré heslo',
|
||||
'Origin': 'Pôvod',
|
||||
'Password': 'Heslo',
|
||||
'Powered by': 'Powered by',
|
||||
'Query:': 'Otázka:',
|
||||
'Record ID': 'ID záznamu',
|
||||
'Register': 'Zaregistrovať sa',
|
||||
'Registration key': 'Registračný kľúč',
|
||||
'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 selected': 'označených riadkov',
|
||||
'Submit': 'Odoslať',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Sure you want to delete this object?': 'Ste si istí, že chcete zmazať tento objekt?',
|
||||
'Table name': 'Názov tabuľky',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"query" je podmienka ako "db.table1.field1==\'value\'". Niečo ako "db.table1.field1==db.table2.field2" má za výsledok SQL JOIN.',
|
||||
'The output of the file is a dictionary that was rendered by the view': 'Výstup zo súboru je slovník, ktorý bol zobrazený vo view',
|
||||
'This is a copy of the scaffolding application': 'Toto je kópia skeletu aplikácie',
|
||||
'Timestamp': 'Časová pečiatka',
|
||||
'Update:': 'Upraviť:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použite (...)&(...) pre AND, (...)|(...) pre OR a ~(...) pre NOT na poskladanie komplexnejších otázok.',
|
||||
'User %(id)s Logged-in': 'Používateľ %(id)s prihlásený',
|
||||
'User %(id)s Logged-out': 'Používateľ %(id)s odhlásený',
|
||||
'User %(id)s Password changed': 'Používateľ %(id)s zmenil heslo',
|
||||
'User %(id)s Profile updated': 'Používateľ %(id)s upravil profil',
|
||||
'User %(id)s Registered': 'Používateľ %(id)s sa zaregistroval',
|
||||
'User ID': 'ID používateľa',
|
||||
'Verify Password': 'Zopakujte heslo',
|
||||
'View': 'Zobraziť',
|
||||
'Welcome to web2py': 'Vitajte vo web2py',
|
||||
'Which called the function': 'Ktorý zavolal funkciu',
|
||||
'You are successfully running web2py': 'Úspešne ste spustili web2py',
|
||||
'You can modify this application and adapt it to your needs': 'Môžete upraviť túto aplikáciu a prispôsobiť ju svojim potrebám',
|
||||
'You visited the url': 'Navštívili ste URL',
|
||||
'appadmin is disabled because insecure channel': 'appadmin je zakázaný bez zabezpečeného spojenia',
|
||||
'cache': 'cache',
|
||||
'Online examples': 'pre online príklady kliknite sem',
|
||||
'Administrative interface': 'pre administrátorské rozhranie kliknite sem',
|
||||
'customize me!': 'prispôsob ma!',
|
||||
'data uploaded': 'údaje naplnené',
|
||||
'database': 'databáza',
|
||||
'database %s select': 'databáza %s výber',
|
||||
'db': 'db',
|
||||
'design': 'návrh',
|
||||
'Documentation': 'Dokumentácia',
|
||||
'done!': 'hotovo!',
|
||||
'export as csv file': 'exportovať do csv súboru',
|
||||
'insert new': 'vložiť nový záznam ',
|
||||
'insert new %s': 'vložiť nový záznam %s',
|
||||
'invalid request': 'Neplatná požiadavka',
|
||||
'located in the file': 'nachádzajúci sa v súbore ',
|
||||
'login': 'prihlásiť',
|
||||
'logout': 'odhlásiť',
|
||||
'lost password?': 'stratené heslo?',
|
||||
'new record inserted': 'nový záznam bol vložený',
|
||||
'next 100 rows': 'ďalších 100 riadkov',
|
||||
'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 does not exist': 'záznam neexistuje',
|
||||
'record id': 'id záznamu',
|
||||
'register': 'registrovať',
|
||||
'selected': 'označených',
|
||||
'state': 'stav',
|
||||
'table': 'tabuľka',
|
||||
'unable to parse csv file': 'nedá sa načítať csv súbor',
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"更新" 是選擇性的條件式, 格式就像 "欄位1=\'值\'". 但是 JOIN 的資料不可以使用 update 或是 delete"',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'%s rows deleted': '已刪除 %s 筆',
|
||||
'%s rows updated': '已更新 %s 筆',
|
||||
'(something like "it-it")': '(格式類似 "zh-tw")',
|
||||
'A new version of web2py is available': '新版的 web2py 已發行',
|
||||
'A new version of web2py is available: %s': '新版的 web2py 已發行: %s',
|
||||
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '注意: 登入管理帳號需要安全連線(HTTPS)或是在本機連線(localhost).',
|
||||
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: 因為在測試模式不保證多執行緒安全性,也就是說不可以同時執行多個測試案例',
|
||||
'ATTENTION: you cannot edit the running application!': '注意:不可編輯正在執行的應用程式!',
|
||||
'About': '關於',
|
||||
'About application': '關於本應用程式',
|
||||
'Admin is disabled because insecure channel': '管理功能(Admin)在不安全連線環境下自動關閉',
|
||||
'Admin is disabled because unsecure channel': '管理功能(Admin)在不安全連線環境下自動關閉',
|
||||
'Administrator Password:': '管理員密碼:',
|
||||
'Are you sure you want to delete file "%s"?': '確定要刪除檔案"%s"?',
|
||||
'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': '可提供的資料庫和資料表',
|
||||
'Cannot be empty': '不可空白',
|
||||
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': '無法編譯:應用程式中含有錯誤,請除錯後再試一次.',
|
||||
'Change Password': '變更密碼',
|
||||
'Check to delete': '打勾代表刪除',
|
||||
'Check to delete:': '點選以示刪除:',
|
||||
'Client IP': '客戶端網址(IP)',
|
||||
'Controller': '控件',
|
||||
'Controllers': '控件',
|
||||
'Copyright': '版權所有',
|
||||
'Create new application': '創建應用程式',
|
||||
'Current request': '目前網路資料要求(request)',
|
||||
'Current response': '目前網路資料回應(response)',
|
||||
'Current session': '目前網路連線資訊(session)',
|
||||
'DB Model': '資料庫模組',
|
||||
'DESIGN': '設計',
|
||||
'Database': '資料庫',
|
||||
'Date and Time': '日期和時間',
|
||||
'Delete': '刪除',
|
||||
'Delete:': '刪除:',
|
||||
'Deploy on Google App Engine': '配置到 Google App Engine',
|
||||
'Description': '描述',
|
||||
'Design for': '設計為了',
|
||||
'E-mail': '電子郵件',
|
||||
'EDIT': '編輯',
|
||||
'Edit': '編輯',
|
||||
'Edit Profile': '編輯設定檔',
|
||||
'Edit This App': '編輯本應用程式',
|
||||
'Edit application': '編輯應用程式',
|
||||
'Edit current record': '編輯當前紀錄',
|
||||
'Editing file': '編輯檔案',
|
||||
'Editing file "%s"': '編輯檔案"%s"',
|
||||
'Error logs for "%(app)s"': '"%(app)s"的錯誤紀錄',
|
||||
'First name': '名',
|
||||
'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函式會顯示 [passed].',
|
||||
'Group ID': '群組編號',
|
||||
'Hello World': '嗨! 世界',
|
||||
'Import/Export': '匯入/匯出',
|
||||
'Index': '索引',
|
||||
'Installed applications': '已安裝應用程式',
|
||||
'Internal State': '內部狀態',
|
||||
'Invalid Query': '不合法的查詢',
|
||||
'Invalid action': '不合法的動作(action)',
|
||||
'Invalid email': '不合法的電子郵件',
|
||||
'Language files (static strings) updated': '語言檔已更新',
|
||||
'Languages': '各國語言',
|
||||
'Last name': '姓',
|
||||
'Last saved on:': '最後儲存時間:',
|
||||
'Layout': '網頁配置',
|
||||
'License for': '軟體版權為',
|
||||
'Login': '登入',
|
||||
'Login to the Administrative Interface': '登入到管理員介面',
|
||||
'Logout': '登出',
|
||||
'Lost Password': '密碼遺忘',
|
||||
'Main Menu': '主選單',
|
||||
'Menu Model': '選單模組(menu)',
|
||||
'Models': '資料模組',
|
||||
'Modules': '程式模組',
|
||||
'NO': '否',
|
||||
'Name': '名字',
|
||||
'New Record': '新紀錄',
|
||||
'No databases in this application': '這應用程式不含資料庫',
|
||||
'Origin': '原文',
|
||||
'Original/Translation': '原文/翻譯',
|
||||
'Password': '密碼',
|
||||
"Password fields don't match": '密碼欄不匹配',
|
||||
'Peeking at file': '選擇檔案',
|
||||
'Powered by': '基於以下技術構建:',
|
||||
'Query:': '查詢:',
|
||||
'Record ID': '紀錄編號',
|
||||
'Register': '註冊',
|
||||
'Registration key': '註冊金鑰',
|
||||
'Remember me (for 30 days)': '記住我(30 天)',
|
||||
'Reset Password key': '重設密碼',
|
||||
'Resolve Conflict file': '解決衝突檔案',
|
||||
'Role': '角色',
|
||||
'Rows in table': '在資料表裏的資料',
|
||||
'Rows selected': '筆資料被選擇',
|
||||
'Saved file hash:': '檔案雜湊值已紀錄:',
|
||||
'Static files': '靜態檔案',
|
||||
'Stylesheet': '網頁風格檔',
|
||||
'Submit': '傳送',
|
||||
'Sure you want to delete this object?': '確定要刪除此物件?',
|
||||
'Table name': '資料表名稱',
|
||||
'Testing application': '測試中的應用程式',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"查詢"是一個像 "db.表1.欄位1==\'值\'" 的條件式. 以"db.表1.欄位1==db.表2.欄位2"方式則相當於執行 JOIN SQL.',
|
||||
'There are no controllers': '沒有控件(controllers)',
|
||||
'There are no models': '沒有資料庫模組(models)',
|
||||
'There are no modules': '沒有程式模組(modules)',
|
||||
'There are no static files': '沒有靜態檔案',
|
||||
'There are no translators, only default language is supported': '沒有翻譯檔,只支援原始語言',
|
||||
'There are no views': '沒有視圖',
|
||||
'This is the %(filename)s template': '這是%(filename)s檔案的樣板(template)',
|
||||
'Ticket': '問題單',
|
||||
'Timestamp': '時間標記',
|
||||
'Unable to check for upgrades': '無法做升級檢查',
|
||||
'Unable to download': '無法下載',
|
||||
'Unable to download app': '無法下載應用程式',
|
||||
'Update:': '更新:',
|
||||
'Upload existing application': '更新存在的應用程式',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式來組合更複雜的條件式, (...)&(...) 代表同時存在的條件, (...)|(...) 代表擇一的條件, ~(...)則代表反向條件.',
|
||||
'User %(id)s Logged-in': '使用者 %(id)s 已登入',
|
||||
'User %(id)s Registered': '使用者 %(id)s 已註冊',
|
||||
'User ID': '使用者編號',
|
||||
'Verify Password': '驗證密碼',
|
||||
'View': '視圖',
|
||||
'Views': '視圖',
|
||||
'Welcome %s': '歡迎 %s',
|
||||
'Welcome to web2py': '歡迎使用 web2py',
|
||||
'YES': '是',
|
||||
'about': '關於',
|
||||
'appadmin is disabled because insecure channel': '因為來自非安全通道,管理介面關閉',
|
||||
'cache': '快取記憶體',
|
||||
'change password': '變更密碼',
|
||||
'Online examples': '點此處進入線上範例',
|
||||
'Administrative interface': '點此處進入管理介面',
|
||||
'customize me!': '請調整我!',
|
||||
'data uploaded': '資料已上傳',
|
||||
'database': '資料庫',
|
||||
'database %s select': '已選擇 %s 資料庫',
|
||||
'db': 'db',
|
||||
'design': '設計',
|
||||
'done!': '完成!',
|
||||
'edit profile': '編輯設定檔',
|
||||
'export as csv file': '以逗號分隔檔(csv)格式匯出',
|
||||
'insert new': '插入新資料',
|
||||
'insert new %s': '插入新資料 %s',
|
||||
'invalid request': '不合法的網路要求(request)',
|
||||
'login': '登入',
|
||||
'logout': '登出',
|
||||
'new record inserted': '已插入新紀錄',
|
||||
'next 100 rows': '往後 100 筆',
|
||||
'or import from csv file': '或是從逗號分隔檔(CSV)匯入',
|
||||
'previous 100 rows': '往前 100 筆',
|
||||
'record': '紀錄',
|
||||
'record does not exist': '紀錄不存在',
|
||||
'record id': '紀錄編號',
|
||||
'register': '註冊',
|
||||
'selected': '已選擇',
|
||||
'state': '狀態',
|
||||
'table': '資料表',
|
||||
'unable to parse csv file': '無法解析逗號分隔檔(csv)',
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#########################################################################
|
||||
## This scaffolding model makes your app work on Google App Engine too
|
||||
## File is released under public domain and you can use without limitations
|
||||
#########################################################################
|
||||
|
||||
if not request.env.web2py_runtime_gae:
|
||||
## if NOT running on Google App Engine use SQLite or other DB
|
||||
db = DAL('sqlite://storage.sqlite')
|
||||
else:
|
||||
## connect to Google BigTable (optional 'google:datastore://namespace')
|
||||
db = DAL('google:datastore')
|
||||
## store sessions and tickets there
|
||||
session.connect(request, response, db = db)
|
||||
## or store session in Memcache, Redis, etc.
|
||||
## from gluon.contrib.memdb import MEMDB
|
||||
## from google.appengine.api.memcache import Client
|
||||
## session.connect(request, response, db = MEMDB(Client()))
|
||||
|
||||
## by default give a view/generic.extension to all actions from localhost
|
||||
## none otherwise. a pattern can be 'controller/function.extension'
|
||||
response.generic_patterns = ['*'] if request.is_local else []
|
||||
## (optional) optimize handling of static files
|
||||
# response.optimize_css = 'concat,minify,inline'
|
||||
# response.optimize_js = 'concat,minify,inline'
|
||||
|
||||
#########################################################################
|
||||
## Here is sample code if you need for
|
||||
## - email capabilities
|
||||
## - authentication (registration, login, logout, ... )
|
||||
## - authorization (role based authorization)
|
||||
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
|
||||
## - old style crud actions
|
||||
## (more options discussed in gluon/tools.py)
|
||||
#########################################################################
|
||||
|
||||
from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
|
||||
auth = Auth(db, hmac_key=Auth.get_or_create_key())
|
||||
crud, service, plugins = Crud(db), Service(), PluginManager()
|
||||
|
||||
## create all tables needed by auth if not custom tables
|
||||
auth.define_tables()
|
||||
|
||||
## configure email
|
||||
mail=auth.settings.mailer
|
||||
mail.settings.server = 'logging' or 'smtp.gmail.com:587'
|
||||
mail.settings.sender = 'you@gmail.com'
|
||||
mail.settings.login = 'username:password'
|
||||
|
||||
## configure auth policy
|
||||
auth.settings.registration_requires_verification = False
|
||||
auth.settings.registration_requires_approval = False
|
||||
auth.settings.reset_password_requires_verification = True
|
||||
|
||||
## if you need to use OpenID, Facebook, MySpace, Twitter, Linkedin, etc.
|
||||
## register with janrain.com, write your domain:api_key in private/janrain.key
|
||||
from gluon.contrib.login_methods.rpx_account import use_janrain
|
||||
use_janrain(auth,filename='private/janrain.key')
|
||||
|
||||
#########################################################################
|
||||
## Define your tables below (or better in another model file) for example
|
||||
##
|
||||
## >>> db.define_table('mytable',Field('myfield','string'))
|
||||
##
|
||||
## Fields can be 'string','text','password','integer','double','boolean'
|
||||
## 'date','time','datetime','blob','upload', 'reference TABLENAME'
|
||||
## There is an implicit 'id integer autoincrement' field
|
||||
## Consult manual for more options, validators, etc.
|
||||
##
|
||||
## More API examples for controllers:
|
||||
##
|
||||
## >>> db.mytable.insert(myfield='value')
|
||||
## >>> rows=db(db.mytable.myfield=='value').select(db.mytable.ALL)
|
||||
## >>> for row in rows: print row.id, row.myfield
|
||||
#########################################################################
|
||||
@@ -0,0 +1,101 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# this file is released under public domain and you can use without limitations
|
||||
|
||||
#########################################################################
|
||||
## Customize your APP title, subtitle and menus here
|
||||
#########################################################################
|
||||
|
||||
response.title = ' '.join(word.capitalize() for word in request.application.split('_'))
|
||||
response.subtitle = T('customize me!')
|
||||
|
||||
## read more at http://dev.w3.org/html5/markup/meta.name.html
|
||||
response.meta.author = 'Your Name <you@example.com>'
|
||||
response.meta.description = 'a cool new app'
|
||||
response.meta.keywords = 'web2py, python, framework'
|
||||
response.meta.generator = 'Web2py Web Framework'
|
||||
response.meta.copyright = 'Copyright 2011'
|
||||
|
||||
## your http://google.com/analytics id
|
||||
response.google_analytics_id = None
|
||||
|
||||
#########################################################################
|
||||
## this is the main application menu add/remove items as required
|
||||
#########################################################################
|
||||
|
||||
response.menu = [
|
||||
(T('Home'), False, URL('default','index'), [])
|
||||
]
|
||||
|
||||
#########################################################################
|
||||
## provide shortcuts for development. remove in production
|
||||
#########################################################################
|
||||
|
||||
def _():
|
||||
# shortcuts
|
||||
app = request.application
|
||||
ctr = request.controller
|
||||
# useful links to internal and external resources
|
||||
response.menu+=[
|
||||
(SPAN('web2py',_style='color:yellow'),False, None, [
|
||||
(T('My Sites'),False,URL('admin','default','site')),
|
||||
(T('This App'),False,URL('admin','default','design/%s' % app), [
|
||||
(T('Controller'),False,
|
||||
URL('admin','default','edit/%s/controllers/%s.py' % (app,ctr))),
|
||||
(T('View'),False,
|
||||
URL('admin','default','edit/%s/views/%s' % (app,response.view))),
|
||||
(T('Layout'),False,
|
||||
URL('admin','default','edit/%s/views/layout.html' % app)),
|
||||
(T('Stylesheet'),False,
|
||||
URL('admin','default','edit/%s/static/css/web2py.css' % app)),
|
||||
(T('DB Model'),False,
|
||||
URL('admin','default','edit/%s/models/db.py' % app)),
|
||||
(T('Menu Model'),False,
|
||||
URL('admin','default','edit/%s/models/menu.py' % app)),
|
||||
(T('Database'),False, URL(app,'appadmin','index')),
|
||||
(T('Errors'),False, URL('admin','default','errors/' + app)),
|
||||
(T('About'),False, URL('admin','default','about/' + app)),
|
||||
]),
|
||||
('web2py.com',False,'http://www.web2py.com', [
|
||||
(T('Download'),False,'http://www.web2py.com/examples/default/download'),
|
||||
(T('Support'),False,'http://www.web2py.com/examples/default/support'),
|
||||
(T('Demo'),False,'http://web2py.com/demo_admin'),
|
||||
(T('Quick Examples'),False,'http://web2py.com/examples/default/examples'),
|
||||
(T('FAQ'),False,'http://web2py.com/AlterEgo'),
|
||||
(T('Videos'),False,'http://www.web2py.com/examples/default/videos/'),
|
||||
(T('Free Applications'),False,'http://web2py.com/appliances'),
|
||||
(T('Plugins'),False,'http://web2py.com/plugins'),
|
||||
(T('Layouts'),False,'http://web2py.com/layouts'),
|
||||
(T('Recipes'),False,'http://web2pyslices.com/'),
|
||||
(T('Semantic'),False,'http://web2py.com/semantic'),
|
||||
]),
|
||||
(T('Documentation'),False,'http://www.web2py.com/book', [
|
||||
(T('Preface'),False,'http://www.web2py.com/book/default/chapter/00'),
|
||||
(T('Introduction'),False,'http://www.web2py.com/book/default/chapter/01'),
|
||||
(T('Python'),False,'http://www.web2py.com/book/default/chapter/02'),
|
||||
(T('Overview'),False,'http://www.web2py.com/book/default/chapter/03'),
|
||||
(T('The Core'),False,'http://www.web2py.com/book/default/chapter/04'),
|
||||
(T('The Views'),False,'http://www.web2py.com/book/default/chapter/05'),
|
||||
(T('Database'),False,'http://www.web2py.com/book/default/chapter/06'),
|
||||
(T('Forms and Validators'),False,'http://www.web2py.com/book/default/chapter/07'),
|
||||
(T('Email and SMS'),False,'http://www.web2py.com/book/default/chapter/08'),
|
||||
(T('Access Control'),False,'http://www.web2py.com/book/default/chapter/09'),
|
||||
(T('Services'),False,'http://www.web2py.com/book/default/chapter/10'),
|
||||
(T('Ajax Recipes'),False,'http://www.web2py.com/book/default/chapter/11'),
|
||||
(T('Components and Plugins'),False,'http://www.web2py.com/book/default/chapter/12'),
|
||||
(T('Deployment Recipes'),False,'http://www.web2py.com/book/default/chapter/13'),
|
||||
(T('Other Recipes'),False,'http://www.web2py.com/book/default/chapter/14'),
|
||||
(T('Buy this book'),False,'http://stores.lulu.com/web2py'),
|
||||
]),
|
||||
(T('Community'),False, None, [
|
||||
(T('Groups'),False,'http://www.web2py.com/examples/default/usergroups'),
|
||||
(T('Twitter'),False,'http://twitter.com/web2py'),
|
||||
(T('Live Chat'),False,'http://webchat.freenode.net/?channels=web2py'),
|
||||
]),
|
||||
(T('Plugins'),False,None, [
|
||||
('plugin_wiki',False,'http://web2py.com/examples/default/download'),
|
||||
(T('Other Plugins'),False,'http://web2py.com/plugins'),
|
||||
(T('Layout Plugins'),False,'http://web2py.com/layouts'),
|
||||
])
|
||||
]
|
||||
)]
|
||||
_()
|
||||
@@ -0,0 +1 @@
|
||||
d879ea69-ddb6-4c82-8eab-af68c53de7c4
|
||||
@@ -0,0 +1,56 @@
|
||||
/* anytimec.css 4.1112H (anytime.css 4.1112H)
|
||||
Copyright 2008-2010 Andrew M. Andrews III (www.AMA3.com). Some Rights
|
||||
Reserved. This work licensed under the Creative Commons Attribution-
|
||||
Noncommercial-Share Alike 3.0 Unported License except in jurisdicitons
|
||||
for which the license has been ported by Creative Commons International,
|
||||
where the work is licensed under the applicable ported license instead.
|
||||
For a copy of the unported license, visit
|
||||
http://creativecommons.org/licenses/by-nc-sa/3.0/
|
||||
or send a letter to Creative Commons, 171 Second Street, Suite 300,
|
||||
San Francisco, California, 94105, USA. For ported versions of the
|
||||
license, visit http://creativecommons.org/international/
|
||||
Any+Time is a trademark of Andrew M. Andrews III. */
|
||||
.AnyTime-pkr * {border:0;font: inherit;font-size: x-small;font-style:normal;font-weight:normal;list-style-type:none;margin:0;padding:0;white-space: nowrap}
|
||||
.AnyTime-win {background-color:#F0F0F1;border:3px solid #C0C0C0;font:normal normal normal xx-small/normal sans-serif;padding-bottom:0.2em;-moz-border-radius:6px;-webkit-border-radius:6px}
|
||||
.AnyTime-pkr .AnyTime-cloak {background-color:#D7D7D7;opacity:0.7;filter:alpha(opacity=70)}
|
||||
.AnyTime-pkr .AnyTime-hdr {background-color:#D0D0D1;color:#606062;font-family:Arial,Helvetica,sans-serif;font-size:medium;font-weight:normal;height:1em;margin:0;padding:0 0 0.4em 0;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px}
|
||||
.AnyTime-pkr .AnyTime-x-btn {background-color:#FCFCFF;border:1px solid #F99;color:#FF9F9F;cursor:default;float:right;margin:0.3em;text-align:center;width:1.5em;-moz-border-radius:0.4em;-webkit-border-radius:0.4em}
|
||||
.AnyTime-pkr .AnyTime-btn {background-color:#FCFCFE;border:1px solid #999;color:#606062;cursor:default;float:left;font-family:Arial,Helvetica,sans-serif;height:1.5em;margin-bottom:1px;margin-right:1px;padding-top:0.1em;-moz-border-radius:0.4em;-webkit-border-radius:0.4em}
|
||||
.AnyTime-pkr .AnyTime-body {padding:0.5em}
|
||||
.AnyTime-pkr .AnyTime-date {float:left;padding:0 0.5em}
|
||||
.AnyTime-pkr .AnyTime-lbl {clear:left;color:#606063;font-family:Arial,Helvetica,sans-serif;font-size:100%;font-weight:normal;font-style:normal;height:1.3em;margin:0;padding:0;text-align:center}
|
||||
.AnyTime-pkr .AnyTime-yrs {height:2.6em;text-align:center;width:18.6em}
|
||||
.AnyTime-pkr .AnyTime-yrs-past-btn {width:2.7em}
|
||||
.AnyTime-pkr .AnyTime-yr-prior-btn, .AnyTime-pkr .AnyTime-yr-cur-btn, .AnyTime-pkr .AnyTime-yr-next-btn {width:3.75em}
|
||||
.AnyTime-pkr .AnyTime-yrs-ahead-btn {width:2.7em}
|
||||
.AnyTime-pkr .AnyTime-mons {height:4.8em;text-align:center;width:18.8em}
|
||||
.AnyTime-pkr .AnyTime-mon-btn {width:2.75em}
|
||||
.AnyTime-pkr .AnyTime-mon7-btn {clear:left}
|
||||
.AnyTime-pkr .AnyTime-dom-table {background-color:#F0F0F1;border:1px solid #E3E3E4;border-spacing:1px;width:18.6em}
|
||||
.AnyTime-pkr th.AnyTime-dow {background-color:#C0C0C1;color:white;font-family:Arial,Helvetica,sans-serif;font-size:95%;font-weight:normal;font-style:normal}
|
||||
.AnyTime-pkr .AnyTime-dom-btn {float:none;height:1.7em;text-align:right;padding:0 0.5em 0 0}
|
||||
.AnyTime-pkr .AnyTime-dom-btn-empty {background-color:#F3F3F4;border:1px solid #C0C0c1}
|
||||
.AnyTime-pkr .AnyTime-time {float:left;padding:0 0 0 1em;text-align:center}
|
||||
.AnyTime-pkr .AnyTime-hrs {float:left;padding-left:0.5em;padding-right:0.5em;text-align:center;width:7.2em}
|
||||
.AnyTime-pkr .AnyTime-hrs-am, .AnyTime-pkr .AnyTime-hrs-pm {float:left;width:3.6em}
|
||||
.AnyTime-pkr .AnyTime-hr-btn {text-align:right;padding-right:0.25em;width:3em; }
|
||||
.AnyTime-pkr .AnyTime-mins {float:left;padding-left:0.5em;padding-right:0.5em;text-align:center;width:4.7em}
|
||||
.AnyTime-pkr .AnyTime-mins-tens, .AnyTime-pkr .AnyTime-mins-ones {float:left;width:2.3em}
|
||||
.AnyTime-pkr .AnyTime-min-ten-btn, .AnyTime-pkr .AnyTime-min-one-btn {float:left;text-align:center;width:2em}
|
||||
.AnyTime-pkr .AnyTime-min-ten-btn-empty, .AnyTime-pkr .AnyTime-min-one-btn-empty {background-color:#F3F3F4;border:1px solid #C0C0c1}
|
||||
.AnyTime-pkr .AnyTime-secs {float:left;padding-left:0.5em;padding-right:0.5em;text-align:center;width:4.7em}
|
||||
.AnyTime-pkr .AnyTime-secs-tens, .AnyTime-pkr .AnyTime-secs-ones {float:left;width:2.3em}
|
||||
.AnyTime-pkr .AnyTime-sec-ten-btn, .AnyTime-pkr .AnyTime-sec-one-btn {float:left;text-align:center;width:2em}
|
||||
.AnyTime-pkr .AnyTime-sec-ten-btn-empty, .AnyTime-pkr .AnyTime-sec-one-btn-empty {background-color:#F3F3F4;border:1px solid #C0C0c1}
|
||||
.AnyTime-pkr .AnyTime-offs {clear:left;float:left;padding-left:0.5em;padding-top:0.5em;text-align:center}
|
||||
.AnyTime-pkr .AnyTime-off-select-btn {width:1.5em}
|
||||
.AnyTime-pkr .AnyTime-body-yr-selector {padding:1em; }
|
||||
.AnyTime-pkr .AnyTime-yr-mil, .AnyTime-pkr .AnyTime-yr-cent, .AnyTime-pkr .AnyTime-yr-dec, .AnyTime-pkr .AnyTime-yr-yr {float:left;width:2.5em}
|
||||
.AnyTime-pkr .AnyTime-mil-btn, .AnyTime-pkr .AnyTime-cent-btn, .AnyTime-pkr .AnyTime-dec-btn, .AnyTime-pkr .AnyTime-yr-btn {float:left;text-align:center;width:2em}
|
||||
.AnyTime-pkr .AnyTime-yr-era {float:left;padding-left:1em;width:4.1em}
|
||||
.AnyTime-pkr .AnyTime-era-btn {text-align:center;width:3em}
|
||||
.AnyTime-pkr .AnyTime-body-off-selector {margin:0.5em; }
|
||||
.AnyTime-pkr .AnyTime-off-off-btn {clear:left;padding-left:1em;padding-right:1em;text-align:left}
|
||||
.AnyTime-pkr .AnyTime-cur-btn {border:1px solid #333334;background-color:#C0C0C1;color:#FCFCFE;font-weight:bold}
|
||||
.AnyTime-pkr .AnyTime-out-btn {background-color:#F0F0F1;border:1px solid #C0C0c1}
|
||||
.AnyTime-pkr .AnyTime-focus-btn {border:1px dashed black}
|
||||
@@ -0,0 +1,628 @@
|
||||
/*
|
||||
* Skeleton V1.1
|
||||
* Copyright 2011, Dave Gamache
|
||||
* www.getskeleton.com
|
||||
* Free to use under the MIT license.
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* 8/17/2011
|
||||
*/
|
||||
|
||||
|
||||
/* Table of Content
|
||||
==================================================
|
||||
#Reset & Basics
|
||||
#Basic Styles
|
||||
#Site Styles
|
||||
#Typography
|
||||
#Links
|
||||
#Lists
|
||||
#Images
|
||||
#Buttons
|
||||
#Tabs
|
||||
#Forms
|
||||
#Misc */
|
||||
|
||||
|
||||
/* #Reset & Basics (Inspired by E. Meyers)
|
||||
================================================== */
|
||||
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline; }
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
|
||||
display: block; }
|
||||
body {
|
||||
line-height: 1; }
|
||||
// ol, ul { list-style: none; } /* WEB2PY EDIT */
|
||||
blockquote, q {
|
||||
quotes: none; }
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none; }
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0; }
|
||||
|
||||
|
||||
/* #Basic Styles
|
||||
================================================== */
|
||||
body {
|
||||
background: #fff;
|
||||
font: 14px/21px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
color: #444;
|
||||
-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
|
||||
/* #Typography
|
||||
================================================== */
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #181818;
|
||||
font-family: "Georgia", "Times New Roman", Helvetica, Arial, sans-serif;
|
||||
font-weight: normal; }
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
|
||||
h1 { font-size: 46px; line-height: 50px; }
|
||||
h2 { font-size: 35px; line-height: 40px; }
|
||||
h3 { font-size: 28px; line-height: 34px; }
|
||||
h4 { font-size: 21px; line-height: 30px; }
|
||||
h5 { font-size: 17px; line-height: 24px; }
|
||||
h6 { font-size: 14px; line-height: 21px; }
|
||||
|
||||
.subheader { color: #777; }
|
||||
|
||||
p { margin: 0 0 20px 0; }
|
||||
p img { margin: 0; }
|
||||
p.lead { font-size: 21px; line-height: 27px; color: #777; }
|
||||
|
||||
em { font-style: italic; }
|
||||
strong { font-weight: bold; color: #333; }
|
||||
small { font-size: 80%; }
|
||||
|
||||
/* Blockquotes */
|
||||
blockquote, blockquote p { font-size: 17px; line-height: 24px; color: #777; font-style: italic; }
|
||||
blockquote { margin: 0 0 20px; padding: 9px 20px 0 19px;} /* WEB2PY EDIT */
|
||||
blockquote cite { display: block; font-size: 12px; color: #555; }
|
||||
blockquote cite:before { content: "\2014 \0020"; }
|
||||
blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { color: #555; }
|
||||
|
||||
hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 10px 0 30px; height: 0; }
|
||||
|
||||
|
||||
/* #Links
|
||||
================================================== */
|
||||
a, a:visited { color: #333; text-decoration: underline; outline: 0; }
|
||||
a:hover, a:focus { color: #000; }
|
||||
p a, p a:visited { line-height: inherit; }
|
||||
|
||||
|
||||
/* #Lists
|
||||
================================================== */
|
||||
ul, ol { margin-bottom: 20px; }
|
||||
// ul { list-style: none outside; } /* WEB2PY EDIT */
|
||||
ol { list-style: decimal; }
|
||||
ol, ul.square, ul.circle, ul.disc { margin-left: 30px; }
|
||||
ul.square { list-style: square outside; }
|
||||
ul.circle { list-style: circle outside; }
|
||||
ul.disc { list-style: disc outside; }
|
||||
ul ul, ul ol,
|
||||
ol ol, ol ul { margin: 4px 0 5px 30px; font-size: 90%; }
|
||||
ul ul li, ul ol li,
|
||||
ol ol li, ol ul li { margin-bottom: 6px; }
|
||||
li { line-height: 18px; margin-bottom: 12px; }
|
||||
ul.large li { line-height: 21px; }
|
||||
li p { line-height: 21px; }
|
||||
|
||||
/* #Images
|
||||
================================================== */
|
||||
|
||||
img.scale-with-grid {
|
||||
max-width: 100%;
|
||||
height: auto; }
|
||||
|
||||
|
||||
/* #Buttons
|
||||
================================================== */
|
||||
|
||||
a.button,
|
||||
button,
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input[type="button"] {
|
||||
background: #eee; /* Old browsers */
|
||||
background: #eee -moz-linear-gradient(top, rgba(255,255,255,.2) 0%, rgba(0,0,0,.2) 100%); /* FF3.6+ */
|
||||
background: #eee -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.2)), color-stop(100%,rgba(0,0,0,.2))); /* Chrome,Safari4+ */
|
||||
background: #eee -webkit-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: #eee -o-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Opera11.10+ */
|
||||
background: #eee -ms-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* IE10+ */
|
||||
background: #eee linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* W3C */
|
||||
border: 1px solid #aaa;
|
||||
border-top: 1px solid #ccc;
|
||||
border-left: 1px solid #ccc;
|
||||
padding: 4px 12px;
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
color: #444;
|
||||
display: inline-block;
|
||||
font-size: 1em; /** WEB2PY EDIT **/
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px rgba(255, 255, 255, .75);
|
||||
cursor: pointer;
|
||||
margin-bottom: 5px; /** WEB2PY EDIT **/
|
||||
line-height: 21px;
|
||||
font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; }
|
||||
|
||||
a.button:hover,
|
||||
button:hover,
|
||||
input[type="submit"]:hover,
|
||||
input[type="reset"]:hover,
|
||||
input[type="button"]:hover {
|
||||
color: #222;
|
||||
background: #ddd; /* Old browsers */
|
||||
background: #ddd -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); /* FF3.6+ */
|
||||
background: #ddd -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.3)), color-stop(100%,rgba(0,0,0,.3))); /* Chrome,Safari4+ */
|
||||
background: #ddd -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: #ddd -o-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Opera11.10+ */
|
||||
background: #ddd -ms-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* IE10+ */
|
||||
background: #ddd linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* W3C */
|
||||
border: 1px solid #888;
|
||||
border-top: 1px solid #aaa;
|
||||
border-left: 1px solid #aaa; }
|
||||
|
||||
a.button:active,
|
||||
button:active,
|
||||
input[type="submit"]:active,
|
||||
input[type="reset"]:active,
|
||||
input[type="button"]:active {
|
||||
border: 1px solid #666;
|
||||
background: #ccc; /* Old browsers */
|
||||
background: #ccc -moz-linear-gradient(top, rgba(255,255,255,.35) 0%, rgba(10,10,10,.4) 100%); /* FF3.6+ */
|
||||
background: #ccc -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.35)), color-stop(100%,rgba(10,10,10,.4))); /* Chrome,Safari4+ */
|
||||
background: #ccc -webkit-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: #ccc -o-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Opera11.10+ */
|
||||
background: #ccc -ms-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* IE10+ */
|
||||
background: #ccc linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* W3C */ }
|
||||
|
||||
.button.full-width,
|
||||
button.full-width,
|
||||
input[type="submit"].full-width,
|
||||
input[type="reset"].full-width,
|
||||
input[type="button"].full-width {
|
||||
width: 100%;
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
text-align: center; }
|
||||
|
||||
|
||||
/* #Tabs (activate in tabs.js)
|
||||
================================================== */
|
||||
ul.tabs {
|
||||
display: block;
|
||||
margin: 0 0 20px 0;
|
||||
padding: 0;
|
||||
border-bottom: solid 1px #ddd; }
|
||||
ul.tabs li {
|
||||
display: block;
|
||||
width: auto;
|
||||
height: 30px;
|
||||
padding: 0;
|
||||
float: left;
|
||||
margin-bottom: 0; }
|
||||
ul.tabs li a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
width: auto;
|
||||
height: 29px;
|
||||
padding: 0px 20px;
|
||||
line-height: 30px;
|
||||
border: solid 1px #ddd;
|
||||
border-width: 1px 1px 0 0;
|
||||
margin: 0;
|
||||
background: #f5f5f5;
|
||||
font-size: 13px; }
|
||||
ul.tabs li a.active {
|
||||
background: #fff;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
top: -4px;
|
||||
padding-top: 4px;
|
||||
border-left-width: 1px;
|
||||
margin: 0 0 0 -1px;
|
||||
color: #111;
|
||||
-moz-border-radius-topleft: 2px;
|
||||
-webkit-border-top-left-radius: 2px;
|
||||
border-top-left-radius: 2px;
|
||||
-moz-border-radius-topright: 2px;
|
||||
-webkit-border-top-right-radius: 2px;
|
||||
border-top-right-radius: 2px; }
|
||||
ul.tabs li:first-child a.active {
|
||||
margin-left: 0; }
|
||||
ul.tabs li:first-child a {
|
||||
border-width: 1px 1px 0 1px;
|
||||
-moz-border-radius-topleft: 2px;
|
||||
-webkit-border-top-left-radius: 2px;
|
||||
border-top-left-radius: 2px; }
|
||||
ul.tabs li:last-child a {
|
||||
-moz-border-radius-topright: 2px;
|
||||
-webkit-border-top-right-radius: 2px;
|
||||
border-top-right-radius: 2px; }
|
||||
|
||||
ul.tabs-content { margin: 0; display: block; }
|
||||
ul.tabs-content > li { display:none; }
|
||||
ul.tabs-content > li.active { display: block; }
|
||||
|
||||
/* Clearfixing tabs for beautiful stacking */
|
||||
ul.tabs:before,
|
||||
ul.tabs:after {
|
||||
content: '\0020';
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
width: 0;
|
||||
height: 0; }
|
||||
ul.tabs:after {
|
||||
clear: both; }
|
||||
ul.tabs {
|
||||
zoom: 1; }
|
||||
|
||||
|
||||
/* #Forms
|
||||
================================================== */
|
||||
|
||||
form {
|
||||
margin-bottom: 5px; } /** WEB2PY EDIT **/
|
||||
fieldset {
|
||||
margin-bottom: 5px; } /** WEB2PY EDIT **/
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="email"],
|
||||
textarea,
|
||||
select {
|
||||
border: 1px solid #ccc;
|
||||
padding: 6px 4px;
|
||||
outline: none;
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
font: 13px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
color: #777;
|
||||
margin: 0;
|
||||
width: 210px;
|
||||
max-width: 100%;
|
||||
// display: block; /** WEB2PY EDIT **/
|
||||
margin-bottom: 0; /** WEB2PY EDIT **/
|
||||
background: #fff; }
|
||||
select {
|
||||
padding: 0; }
|
||||
input[type="text"]:focus,
|
||||
input[type="password"]:focus,
|
||||
input[type="email"]:focus,
|
||||
textarea:focus {
|
||||
border: 1px solid #aaa;
|
||||
color: #444;
|
||||
-moz-box-shadow: 0 0 3px rgba(0,0,0,.2);
|
||||
-webkit-box-shadow: 0 0 3px rgba(0,0,0,.2);
|
||||
box-shadow: 0 0 3px rgba(0,0,0,.2); }
|
||||
textarea {
|
||||
min-height: 60px; }
|
||||
label,
|
||||
legend {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
font-size: 13px; }
|
||||
select {
|
||||
width: 220px; }
|
||||
input[type="checkbox"] {
|
||||
display: inline; }
|
||||
label span,
|
||||
legend span {
|
||||
font-weight: normal;
|
||||
font-size: 13px;
|
||||
color: #444; }
|
||||
|
||||
/* #Misc
|
||||
================================================== */
|
||||
.remove-bottom { margin-bottom: 0 !important; }
|
||||
.half-bottom { margin-bottom: 10px !important; }
|
||||
.add-bottom { margin-bottom: 20px !important; }
|
||||
|
||||
|
||||
/*
|
||||
* Skeleton V1.1
|
||||
* Copyright 2011, Dave Gamache
|
||||
* www.getskeleton.com
|
||||
* Free to use under the MIT license.
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* 8/17/2011
|
||||
*/
|
||||
|
||||
/* Table of Content
|
||||
==================================================
|
||||
#Site Styles
|
||||
#Page Styles
|
||||
#Media Queries
|
||||
#Font-Face */
|
||||
|
||||
/* #Site Styles
|
||||
================================================== */
|
||||
|
||||
/* #Page Styles
|
||||
================================================== */
|
||||
|
||||
/* #Media Queries
|
||||
================================================== */
|
||||
|
||||
/* Smaller than standard 960 (devices and browsers) */
|
||||
@media only screen and (max-width: 959px) {}
|
||||
|
||||
/* Tablet Portrait size to standard 960 (devices and browsers) */
|
||||
@media only screen and (min-width: 768px) and (max-width: 959px) {}
|
||||
|
||||
/* All Mobile Sizes (devices and browser) */
|
||||
@media only screen and (max-width: 767px) {}
|
||||
|
||||
/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
|
||||
@media only screen and (min-width: 480px) and (max-width: 767px) {}
|
||||
|
||||
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
|
||||
@media only screen and (max-width: 479px) {}
|
||||
|
||||
|
||||
/* #Font-Face
|
||||
================================================== */
|
||||
/* This is the proper syntax for an @font-face file
|
||||
Just create a "fonts" folder at the root,
|
||||
copy your FontName into code below and remove
|
||||
comment brackets */
|
||||
|
||||
/* @font-face {
|
||||
font-family: 'FontName';
|
||||
src: url('../fonts/FontName.eot');
|
||||
src: url('../fonts/FontName.eot?iefix') format('eot'),
|
||||
url('../fonts/FontName.woff') format('woff'),
|
||||
url('../fonts/FontName.ttf') format('truetype'),
|
||||
url('../fonts/FontName.svg#webfontZam02nTh') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal; }
|
||||
*//*
|
||||
* Skeleton V1.1
|
||||
* Copyright 2011, Dave Gamache
|
||||
* www.getskeleton.com
|
||||
* Free to use under the MIT license.
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* 8/17/2011
|
||||
*/
|
||||
|
||||
|
||||
/* Table of Contents
|
||||
==================================================
|
||||
#Base 960 Grid
|
||||
#Tablet (Portrait)
|
||||
#Mobile (Portrait)
|
||||
#Mobile (Landscape)
|
||||
#Clearing */
|
||||
|
||||
|
||||
|
||||
/* #Base 960 Grid
|
||||
================================================== */
|
||||
|
||||
.container { position: relative; width: 960px; margin: 0 auto; padding: 0; }
|
||||
.column, .columns { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
|
||||
.row { margin-bottom: 20px; }
|
||||
|
||||
/* Nested Column Classes */
|
||||
.column.alpha, .columns.alpha { margin-left: 0; }
|
||||
.column.omega, .columns.omega { margin-right: 0; }
|
||||
|
||||
/* Base Grid */
|
||||
.container .one.column { width: 40px; }
|
||||
.container .two.columns { width: 100px; }
|
||||
.container .three.columns { width: 160px; }
|
||||
.container .four.columns { width: 220px; }
|
||||
.container .five.columns { width: 280px; }
|
||||
.container .six.columns { width: 340px; }
|
||||
.container .seven.columns { width: 400px; }
|
||||
.container .eight.columns { width: 460px; }
|
||||
.container .nine.columns { width: 520px; }
|
||||
.container .ten.columns { width: 580px; }
|
||||
.container .eleven.columns { width: 640px; }
|
||||
.container .twelve.columns { width: 700px; }
|
||||
.container .thirteen.columns { width: 760px; }
|
||||
.container .fourteen.columns { width: 820px; }
|
||||
.container .fifteen.columns { width: 880px; }
|
||||
.container .sixteen.columns { width: 940px; }
|
||||
|
||||
.container .one-third.column { width: 300px; }
|
||||
.container .two-thirds.column { width: 620px; }
|
||||
|
||||
/* Offsets */
|
||||
.container .offset-by-one { padding-left: 60px; }
|
||||
.container .offset-by-two { padding-left: 120px; }
|
||||
.container .offset-by-three { padding-left: 180px; }
|
||||
.container .offset-by-four { padding-left: 240px; }
|
||||
.container .offset-by-five { padding-left: 300px; }
|
||||
.container .offset-by-six { padding-left: 360px; }
|
||||
.container .offset-by-seven { padding-left: 420px; }
|
||||
.container .offset-by-eight { padding-left: 480px; }
|
||||
.container .offset-by-nine { padding-left: 540px; }
|
||||
.container .offset-by-ten { padding-left: 600px; }
|
||||
.container .offset-by-eleven { padding-left: 660px; }
|
||||
.container .offset-by-twelve { padding-left: 720px; }
|
||||
.container .offset-by-thirteen { padding-left: 780px; }
|
||||
.container .offset-by-fourteen { padding-left: 840px; }
|
||||
.container .offset-by-fifteen { padding-left: 900px; }
|
||||
|
||||
|
||||
|
||||
/* #Tablet (Portrait)
|
||||
================================================== */
|
||||
|
||||
/* Note: Design for a width of 768px */
|
||||
|
||||
@media only screen and (min-width: 768px) and (max-width: 959px) {
|
||||
.container { width: 768px; }
|
||||
.container .column,
|
||||
.container .columns { margin-left: 10px; margin-right: 10px; }
|
||||
.column.alpha, .columns.alpha { margin-left: 0; margin-right: 10px; }
|
||||
.column.omega, .columns.omega { margin-right: 0; margin-left: 10px; }
|
||||
|
||||
.container .one.column { width: 28px; }
|
||||
.container .two.columns { width: 76px; }
|
||||
.container .three.columns { width: 124px; }
|
||||
.container .four.columns { width: 172px; }
|
||||
.container .five.columns { width: 220px; }
|
||||
.container .six.columns { width: 268px; }
|
||||
.container .seven.columns { width: 316px; }
|
||||
.container .eight.columns { width: 364px; }
|
||||
.container .nine.columns { width: 412px; }
|
||||
.container .ten.columns { width: 460px; }
|
||||
.container .eleven.columns { width: 508px; }
|
||||
.container .twelve.columns { width: 556px; }
|
||||
.container .thirteen.columns { width: 604px; }
|
||||
.container .fourteen.columns { width: 652px; }
|
||||
.container .fifteen.columns { width: 700px; }
|
||||
.container .sixteen.columns { width: 748px; }
|
||||
|
||||
.container .one-third.column { width: 236px; }
|
||||
.container .two-thirds.column { width: 492px; }
|
||||
|
||||
/* Offsets */
|
||||
.container .offset-by-one { padding-left: 48px; }
|
||||
.container .offset-by-two { padding-left: 96px; }
|
||||
.container .offset-by-three { padding-left: 144px; }
|
||||
.container .offset-by-four { padding-left: 192px; }
|
||||
.container .offset-by-five { padding-left: 240px; }
|
||||
.container .offset-by-six { padding-left: 288px; }
|
||||
.container .offset-by-seven { padding-left: 336px; }
|
||||
.container .offset-by-eight { padding-left: 348px; }
|
||||
.container .offset-by-nine { padding-left: 432px; }
|
||||
.container .offset-by-ten { padding-left: 480px; }
|
||||
.container .offset-by-eleven { padding-left: 528px; }
|
||||
.container .offset-by-twelve { padding-left: 576px; }
|
||||
.container .offset-by-thirteen { padding-left: 624px; }
|
||||
.container .offset-by-fourteen { padding-left: 672px; }
|
||||
.container .offset-by-fifteen { padding-left: 720px; }
|
||||
}
|
||||
|
||||
|
||||
/* #Mobile (Portrait)
|
||||
================================================== */
|
||||
|
||||
/* Note: Design for a width of 320px */
|
||||
|
||||
@media only screen and (max-width: 767px) {
|
||||
.container { width: 300px; }
|
||||
.columns, .column { margin: 0; }
|
||||
|
||||
.container .one.column,
|
||||
.container .two.columns,
|
||||
.container .three.columns,
|
||||
.container .four.columns,
|
||||
.container .five.columns,
|
||||
.container .six.columns,
|
||||
.container .seven.columns,
|
||||
.container .eight.columns,
|
||||
.container .nine.columns,
|
||||
.container .ten.columns,
|
||||
.container .eleven.columns,
|
||||
.container .twelve.columns,
|
||||
.container .thirteen.columns,
|
||||
.container .fourteen.columns,
|
||||
.container .fifteen.columns,
|
||||
.container .sixteen.columns,
|
||||
.container .one-third.column,
|
||||
.container .two-thirds.column { width: 300px; }
|
||||
|
||||
/* Offsets */
|
||||
.container .offset-by-one,
|
||||
.container .offset-by-two,
|
||||
.container .offset-by-three,
|
||||
.container .offset-by-four,
|
||||
.container .offset-by-five,
|
||||
.container .offset-by-six,
|
||||
.container .offset-by-seven,
|
||||
.container .offset-by-eight,
|
||||
.container .offset-by-nine,
|
||||
.container .offset-by-ten,
|
||||
.container .offset-by-eleven,
|
||||
.container .offset-by-twelve,
|
||||
.container .offset-by-thirteen,
|
||||
.container .offset-by-fourteen,
|
||||
.container .offset-by-fifteen { padding-left: 0; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* #Mobile (Landscape)
|
||||
================================================== */
|
||||
|
||||
/* Note: Design for a width of 480px */
|
||||
|
||||
@media only screen and (min-width: 480px) and (max-width: 767px) {
|
||||
.container { width: 420px; }
|
||||
.columns, .column { margin: 0; }
|
||||
|
||||
.container .one.column,
|
||||
.container .two.columns,
|
||||
.container .three.columns,
|
||||
.container .four.columns,
|
||||
.container .five.columns,
|
||||
.container .six.columns,
|
||||
.container .seven.columns,
|
||||
.container .eight.columns,
|
||||
.container .nine.columns,
|
||||
.container .ten.columns,
|
||||
.container .eleven.columns,
|
||||
.container .twelve.columns,
|
||||
.container .thirteen.columns,
|
||||
.container .fourteen.columns,
|
||||
.container .fifteen.columns,
|
||||
.container .sixteen.columns,
|
||||
.container .one-third.column,
|
||||
.container .two-thirds.column { width: 420px; }
|
||||
}
|
||||
|
||||
|
||||
/* #Clearing
|
||||
================================================== */
|
||||
|
||||
/* Self Clearing Goodness */
|
||||
.container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
|
||||
|
||||
/* Use clearfix class on parent to clear nested columns,
|
||||
or wrap each row of columns in a <div class="row"> */
|
||||
.clearfix:before,
|
||||
.clearfix:after,
|
||||
.row:before,
|
||||
.row:after {
|
||||
content: '\0020';
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
width: 0;
|
||||
height: 0; }
|
||||
.row:after,
|
||||
.clearfix:after {
|
||||
clear: both; }
|
||||
.row,
|
||||
.clearfix {
|
||||
zoom: 1; }
|
||||
|
||||
/* You can also use a <br class="clear" /> to clear columns */
|
||||
.clear {
|
||||
clear: both;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
|
||||
/*** ESSENTIAL STYLES ***/
|
||||
.sf-menu, .sf-menu * {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.sf-menu {
|
||||
line-height: 1.0;
|
||||
}
|
||||
.sf-menu ul {
|
||||
position: absolute;
|
||||
top: -999em;
|
||||
width: 10em; /* left offset of submenus need to match (see below) */
|
||||
}
|
||||
.sf-menu ul li {
|
||||
width: 100%;
|
||||
}
|
||||
.sf-menu li:hover {
|
||||
visibility: inherit; /* fixes IE7 'sticky bug' */
|
||||
}
|
||||
.sf-menu li {
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
.sf-menu a {
|
||||
padding: 5px;
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
.sf-menu li:hover ul,
|
||||
.sf-menu li.sfHover ul {
|
||||
left: 0;
|
||||
top: 26px; /* match top ul list item height */
|
||||
z-index: 99;
|
||||
}
|
||||
ul.sf-menu li:hover li ul,
|
||||
ul.sf-menu li.sfHover li ul {
|
||||
top: -999em;
|
||||
}
|
||||
ul.sf-menu li li:hover ul,
|
||||
ul.sf-menu li li.sfHover ul {
|
||||
left: 10em; /* match ul width */
|
||||
top: 0;
|
||||
}
|
||||
ul.sf-menu li li:hover li ul,
|
||||
ul.sf-menu li li.sfHover li ul {
|
||||
top: -999em;
|
||||
}
|
||||
ul.sf-menu li li li:hover ul,
|
||||
ul.sf-menu li li li.sfHover ul {
|
||||
left: 10em; /* match ul width */
|
||||
top: 0;
|
||||
}
|
||||
|
||||
/*** DEMO SKIN ***/
|
||||
.sf-menu {
|
||||
float: left;
|
||||
/*margin-bottom: 1em;*/
|
||||
}
|
||||
.sf-menu a {
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
text-decoration:none;
|
||||
}
|
||||
.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
|
||||
// color: #959595;
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
.sf-menu li {
|
||||
background-color: transparent;
|
||||
}
|
||||
.sf-menu li li {
|
||||
background: #232323;
|
||||
text-align: left;
|
||||
}
|
||||
.sf-menu li li a {
|
||||
padding-top: 0.25em;
|
||||
padding-bottom: 0.25em;
|
||||
color: #959595;
|
||||
}
|
||||
.sf-menu li li li {
|
||||
background: #232323;
|
||||
text-align: left;
|
||||
}
|
||||
.sf-menu li li li a {
|
||||
padding-top: 0.25em;
|
||||
padding-bottom: 0.25em;
|
||||
color: #959595;
|
||||
}
|
||||
.sf-menu li:hover, .sf-menu a:focus, .sf-menu a:active, .sf-menu li.sfHover, .sf-menu a:hover {
|
||||
color: #FFFFFF;
|
||||
background-color: #303030;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
|
||||
/*** arrows **/
|
||||
.sf-menu a.sf-with-ul {
|
||||
padding-right: 2.25em;
|
||||
min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
|
||||
}
|
||||
.sf-sub-indicator {
|
||||
position: absolute;
|
||||
display: block;
|
||||
right: .75em;
|
||||
top: 1.05em; /* IE6 only */
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
text-indent: -999em;
|
||||
overflow: hidden;
|
||||
background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
|
||||
}
|
||||
a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
||||
top: .8em;
|
||||
background-position: 0 -100px; /* use translucent arrow for modern browsers*/
|
||||
}
|
||||
/* apply hovers to modern browsers */
|
||||
a:focus > .sf-sub-indicator,
|
||||
a:hover > .sf-sub-indicator,
|
||||
a:active > .sf-sub-indicator,
|
||||
li:hover > a > .sf-sub-indicator,
|
||||
li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: -10px -100px; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/* point right for anchors in subs */
|
||||
.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
|
||||
.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
|
||||
/* apply hovers to modern browsers */
|
||||
.sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.sf-menu ul a:active > .sf-sub-indicator,
|
||||
.sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: -10px 0; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/*** shadows for all but IE6 ***/
|
||||
.sf-shadow ul {
|
||||
background: url('../images/shadow.png') no-repeat bottom right;
|
||||
padding: 0 8px 9px 0;
|
||||
-moz-border-radius-bottomleft: 17px;
|
||||
-moz-border-radius-topright: 17px;
|
||||
-webkit-border-top-right-radius: 17px;
|
||||
-webkit-border-bottom-left-radius: 17px;
|
||||
}
|
||||
.sf-shadow ul.sf-shadow-off {
|
||||
background: transparent;
|
||||
}
|
||||
@@ -0,0 +1,347 @@
|
||||
/** these MUST stay **/
|
||||
body { margin: 0; padding:0; border: 0; }
|
||||
a { text-decoration:none}
|
||||
a:hover {text-decoration: underline}
|
||||
a.button {text-decoration: none}
|
||||
h1,h2,h3,h4,h5,h6 {margin: 0.5em 0 0.25em 0; display: block; font-family: Helvetica}
|
||||
h1 { font-size: 4.00em;}
|
||||
h2 { font-size: 3.00em;}
|
||||
h3 { font-size: 2.00em;}
|
||||
h4 { font-size: 1.50em;}
|
||||
h5 { font-size: 1.25em;}
|
||||
h6 { font-size: 1.12em;}
|
||||
right { float:right; text-align: right; }
|
||||
left { float:left; text-align: left; }
|
||||
center { width:100; text-align: center; vertical-align:middle;}
|
||||
label { white-space: nowrap; }
|
||||
th, label { font-weight: bold; }
|
||||
th, td { text-align: left; vertical-align: top; }
|
||||
form table tr td label { text-align: right; }
|
||||
p, table, ol, ul { margin: 0.5em 0 0.5em 0 }
|
||||
p {text-align: justify }
|
||||
ol, ul { padding-left: 30px }
|
||||
li { margin-bottom: 0.5em; }
|
||||
span, input, select, textarea, button, label, a { display: inline }
|
||||
img { border: 0; }
|
||||
blockquote, blockquote p, p blockquote { font-style: italic; margin: 0.5em 30px 0.5em 30px; font-size: 0.9em}
|
||||
em { font-style: italic; }
|
||||
strong { font-weight: bold; }
|
||||
small { font-size: 0.8em; }
|
||||
textarea { width: 600px; }
|
||||
input[type=text], input[type=password], select { width: 300px; }
|
||||
/** end **/
|
||||
|
||||
/* Sticky footer begin */
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
min-height: 100%;
|
||||
height: auto !important;
|
||||
height: 100%;
|
||||
margin: 0 auto -8em; /* set last value to footer height plus footer vertical padding */
|
||||
}
|
||||
|
||||
.main {
|
||||
padding: 20px 0 50px 0;
|
||||
}
|
||||
|
||||
.footer, .push {
|
||||
height: 6em;
|
||||
padding: 1em 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.footer-content {position: relative; bottom: -4em; width: 100%;}
|
||||
|
||||
.auth_navbar {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Sticky footer end */
|
||||
|
||||
body {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
.footer {
|
||||
background-color: #ECECEC;
|
||||
}
|
||||
|
||||
.header {
|
||||
// background: <fill here for header image>;
|
||||
}
|
||||
|
||||
|
||||
fieldset { padding: 16px; border-top: 1px #DEDEDE solid;}
|
||||
fieldset legend {text-transform:uppercase; font-weight: bold; padding: 4px 16px 4px 16px; background: #f1f1f1;}
|
||||
|
||||
/* fix ie problem with menu */
|
||||
.ie-lte7 .topbar {z-index: 2; }
|
||||
|
||||
td.w2p_fw {padding-bottom: 1em;}
|
||||
td.w2p_fl, td.w2p_fw, td.w2p_fc { vertical-align:top; }
|
||||
td.w2p_fl { text-align:right; }
|
||||
td.w2p_fl, td.w2p_fw {padding-right: 7px;}
|
||||
td.w2p_fl, td.w2p_fc { padding-top: 4px; }
|
||||
|
||||
/* tr#submit_record__row {border-top: 1px solid #E5E5E5;} */
|
||||
#submit_record__row td {padding-top: .5em;}
|
||||
|
||||
/* Fix */
|
||||
#auth_user_remember__row label {display: inline;}
|
||||
#web2py_user_form td { vertical-align:top; }
|
||||
|
||||
a, a:visited, a:hover { color:#0069D6}
|
||||
|
||||
/*********** web2py specific ***********/
|
||||
div.flash {
|
||||
font-weight: bold;
|
||||
display: none;
|
||||
position: fixed;
|
||||
padding: 10px;
|
||||
top: 48px;
|
||||
right: 50px;
|
||||
min-width: 280px;
|
||||
opacity: 0.85;
|
||||
margin: 0px 0px 10px 10px;
|
||||
color: #fff;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
background: #000;
|
||||
border: 2px solid #fff;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
z-index: 2;
|
||||
}
|
||||
div.error {
|
||||
background-color: red;
|
||||
color: white;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.topbar {
|
||||
width:100%;
|
||||
color: #959595; vertical-align:middle;
|
||||
padding: 0;
|
||||
background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
|
||||
background-image: -moz-linear-gradient(top, #333333, #222222);
|
||||
background-image: -ms-linear-gradient(top, #333333, #222222);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));
|
||||
background-image: -webkit-linear-gradient(top, #333333, #222222);
|
||||
background-image: -o-linear-gradient(top, #333333, #222222);
|
||||
background-image: linear-gradient(top, #333333, #222222);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.topbar a {
|
||||
color: #e1e1e1;
|
||||
}
|
||||
|
||||
#navbar {float: right; padding: .4em 0;}
|
||||
|
||||
#menu {padding-top: .2em;}
|
||||
|
||||
.right {
|
||||
width:100%;
|
||||
text-align: right;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.statusbar {
|
||||
background-color: #F5F5F5;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
padding: .5em 1em;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
|
||||
.breadcrumbs {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
/* #MEDIA QUERIES SECTION */
|
||||
|
||||
/* All Mobile Sizes (devices and browser) */
|
||||
@media only screen and (max-width: 767px) {
|
||||
|
||||
.topbar {text-align: center;}
|
||||
#navbar, #menu {float: none;}
|
||||
#navbar {font-size: 1.2em; padding: .6em 0 1.2em;}
|
||||
#menu {padding: 0 0 1.5em;}
|
||||
#menu select {font-size: 1.2em; margin: 0; padding: 0;}
|
||||
|
||||
div.flash {top: 110px; right: 10px;}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
*Grid
|
||||
*
|
||||
* The default style for SQLFORM.grid even using jquery-iu or another ui framework
|
||||
* will look better with the declarations below
|
||||
* if needed to remove base.css consider keeping these following lines in some css file.
|
||||
*/
|
||||
.web2py_grid a { text-decoration:none;}
|
||||
.web2py_grid table { width: 100% }
|
||||
.web2py_grid td { white-space:nowrap; }
|
||||
.web2py_grid th { background-color:#EAEAEA; }
|
||||
.web2py_grid tbody th,
|
||||
.web2py_grid tbody td {
|
||||
padding: 5px 10px 5px;
|
||||
line-height: 13.5px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.web2py_grid input:focus,
|
||||
.web2py_grid textarea:focus,
|
||||
.web2py_grid select:focus {
|
||||
border: 1px solid #ffffff;
|
||||
-webkit-box-shadow: 0px 0px 6px #007eff;
|
||||
-moz-box-shadow: 0px 0px 5px #007eff;
|
||||
box-shadow: 0px 0px 5px #007eff;
|
||||
}
|
||||
|
||||
.web2py_grid thead th {
|
||||
padding-top: 9px;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #DDD;
|
||||
border-right: 1px solid #DDD;
|
||||
}
|
||||
.web2py_grid tr.odd {background-color: #F9F9F9;}
|
||||
.web2py_grid tr:hover {background-color: #F5F5F5; }
|
||||
|
||||
.web2py_breadcrumbs a {
|
||||
line-height: 20px; margin-right: 5px; display: inline-block;
|
||||
padding: 3px 5px 3px 5px;
|
||||
font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;
|
||||
color: #3C3C3D;
|
||||
text-shadow: 1px 1px 0 #FFFFFF;
|
||||
white-space: nowrap; overflow: visible; cursor: pointer;
|
||||
background:#ECECEC;
|
||||
text-decoration: none; border: 1px solid #CACACA;
|
||||
-webkit-border-radius: 2px; -moz-border-radius: 2px;
|
||||
-webkit-background-clip: padding-box; border-radius: 2px;
|
||||
outline: none; position: relative; zoom: 1; *display: inline;
|
||||
}
|
||||
|
||||
.web2py_console {
|
||||
/*background-color: #f2f2f2; padding: 5px; border-bottom: 1px solid #DDD; */
|
||||
min-height: 60px;
|
||||
/*text-align:center;*/
|
||||
}
|
||||
|
||||
|
||||
.web2py_search_actions{
|
||||
width:40%;
|
||||
float:left;
|
||||
text-align:left;
|
||||
|
||||
}
|
||||
.web2py_grid .row_buttons{
|
||||
min-height:25px;
|
||||
}
|
||||
.web2py_grid>.row_buttons a{
|
||||
margin:10px;
|
||||
}
|
||||
|
||||
.web2py_grid .row_buttons a,
|
||||
.web2py_paginator ul li a,
|
||||
.web2py_search_actions a,
|
||||
.web2py_console input[type=submit],
|
||||
.web2py_console input[type=button],
|
||||
.web2py_console button {
|
||||
line-height: 20px;
|
||||
margin-right: 5px; display: inline-block;
|
||||
padding: 3px 5px 3px 5px;
|
||||
font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;
|
||||
font-size: 1em;
|
||||
color: #3C3C3D;
|
||||
text-shadow: 1px 1px 0 #FFFFFF;
|
||||
background:#ECECEC;
|
||||
white-space: nowrap; overflow: visible;
|
||||
cursor: pointer; text-decoration: none;
|
||||
border: 1px solid #CACACA;
|
||||
-webkit-border-radius: 2px; -moz-border-radius: 2px;
|
||||
-webkit-background-clip: padding-box; border-radius: 2px;
|
||||
outline: none; position: relative; zoom: 1; *display: inline;
|
||||
}
|
||||
|
||||
.web2py_grid .row_buttons a:hover,
|
||||
.web2py_search_actions a:hover,
|
||||
.web2py_console input[type=submit]:hover,
|
||||
.web2py_console input[type=button]:hover,
|
||||
.web2py_paginator ul li a:hover {
|
||||
color: #222;
|
||||
background: #ddd; /* Old browsers */
|
||||
background: #ddd -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); /* FF3.6+ */
|
||||
background: #ddd -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.3)), color-stop(100%,rgba(0,0,\
|
||||
0,.3))); /* Chrome,Safari4+ */
|
||||
background: #ddd -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: #ddd -o-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Opera11.10+ */
|
||||
background: #ddd -ms-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* IE10+ */
|
||||
background: #ddd linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* W3C */
|
||||
border: 1px solid #888;
|
||||
border-top: 1px solid #aaa;
|
||||
border-left: 1px solid #aaa;
|
||||
/*
|
||||
color: #FFFFFF; border-color: #388AD4; text-decoration: none;
|
||||
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
|
||||
background-position: 0 -40px; background-color: #2D7DC5;
|
||||
*/
|
||||
}
|
||||
|
||||
.web2py_counter {
|
||||
margin-top: 5px;
|
||||
margin-right:5px;
|
||||
width:35%;
|
||||
float:right;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.web2py_table, .web2py_form {
|
||||
|
||||
border-left: 1px solid #CCC;
|
||||
border-right: 1px solid #CCC;
|
||||
border-bottom: 1px solid #CCC;
|
||||
}
|
||||
/*Fix firefox problem*/
|
||||
.web2py_table {clear: both; display: block;}
|
||||
|
||||
.web2py_paginator {
|
||||
padding: 5px;
|
||||
color: #333;
|
||||
text-align:right;
|
||||
background-color: #f2f2f2; padding: 5px; border-bottom: 1px solid #DDD;
|
||||
|
||||
}
|
||||
.web2py_paginator ul {
|
||||
list-style-type: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
.web2py_paginator ul li {
|
||||
display: inline;
|
||||
}
|
||||
.web2py_paginator .current {
|
||||
font-weight: bold;
|
||||
}
|
||||
#w2p_query_panel {
|
||||
float:left;
|
||||
background:#e0e0e0;
|
||||
border:1px solid #CFCFCF;
|
||||
// bottom:3px;
|
||||
// left:187px;
|
||||
margin-top: 30px;
|
||||
min-width:550px;
|
||||
min-height:16px;
|
||||
padding: 3px 3px;
|
||||
border-radius:2px;
|
||||
}
|
||||
.ie9 #query_panel {padding-bottom:2px;}
|
||||
|
After Width: | Height: | Size: 198 B |
|
After Width: | Height: | Size: 323 B |
|
After Width: | Height: | Size: 244 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,790 @@
|
||||
/* anytimec.js 4.1112H (anytime.js 4.1112H)
|
||||
Copyright 2008-2010 Andrew M. Andrews III (www.AMA3.com). Some Rights
|
||||
Reserved. This work licensed under the Creative Commons Attribution-
|
||||
Noncommercial-Share Alike 3.0 Unported License except in jurisdicitons
|
||||
for which the license has been ported by Creative Commons International,
|
||||
where the work is licensed under the applicable ported license instead.
|
||||
For a copy of the unported license, visit
|
||||
http://creativecommons.org/licenses/by-nc-sa/3.0/
|
||||
or send a letter to Creative Commons, 171 Second Street, Suite 300,
|
||||
San Francisco, California, 94105, USA. For ported versions of the
|
||||
license, visit http://creativecommons.org/international/
|
||||
Any+Time is a trademark of Andrew M. Andrews III. */
|
||||
var AnyTime={pad:function(val,len)
|
||||
{var str=String(Math.abs(val));while(str.length<len)
|
||||
str='0'+str;if(val<0)
|
||||
str='-'+str;return str;}};(function($)
|
||||
{var __oneDay=(24*60*60*1000);var __daysIn=[31,28,31,30,31,30,31,31,30,31,30,31];var __iframe=null;var __initialized=false;var __msie6=(navigator.userAgent.indexOf('MSIE 6')>0);var __msie7=(navigator.userAgent.indexOf('MSIE 7')>0);var __pickers=[];jQuery.prototype.AnyTime_picker=function(options)
|
||||
{return this.each(function(i){AnyTime.picker(this.id,options);});}
|
||||
jQuery.prototype.AnyTime_noPicker=function()
|
||||
{return this.each(function(i){AnyTime.noPicker(this.id);});}
|
||||
jQuery.prototype.AnyTime_height=function(inclusive)
|
||||
{return(__msie6?Number(this.css('height').replace(/[^0-9]/g,'')):this.outerHeight(inclusive));};jQuery.prototype.AnyTime_width=function(inclusive)
|
||||
{return(__msie6?(1+Number(this.css('width').replace(/[^0-9]/g,''))):this.outerWidth(inclusive));};jQuery.prototype.AnyTime_current=function(isCurrent,isLegal)
|
||||
{if(isCurrent)
|
||||
{this.removeClass('AnyTime-out-btn ui-state-default ui-state-disabled ui-state-highlight');this.addClass('AnyTime-cur-btn ui-state-default ui-state-highlight');}
|
||||
else
|
||||
{this.removeClass('AnyTime-cur-btn ui-state-highlight');if(!isLegal)
|
||||
this.addClass('AnyTime-out-btn ui-state-disabled');else
|
||||
this.removeClass('AnyTime-out-btn ui-state-disabled');}};jQuery.prototype.AnyTime_clickCurrent=function()
|
||||
{this.find('.AnyTime-cur-btn').triggerHandler('click');}
|
||||
$(document).ready(function()
|
||||
{if(__msie6)
|
||||
{__iframe=$('<iframe frameborder="0" scrolling="no"></iframe>');__iframe.src="javascript:'<html></html>';";$(__iframe).css({display:'block',height:'1px',left:'0',top:'0',width:'1px',zIndex:0});$(document.body).append(__iframe);}
|
||||
for(var id in __pickers)
|
||||
if(!Array.prototype[id])
|
||||
__pickers[id].onReady();__initialized=true;});AnyTime.Converter=function(options)
|
||||
{var _flen=0;var _longDay=9;var _longMon=9;var _shortDay=6;var _shortMon=3;var _offAl=Number.MIN_VALUE;var _offCap=Number.MIN_VALUE;var _offF=Number.MIN_VALUE;var _offFSI=(-1);var _offP=Number.MIN_VALUE;var _offPSI=(-1);var _captureOffset=false;this.fmt='%Y-%m-%d %T';this.dAbbr=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];this.dNames=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];this.eAbbr=['BCE','CE'];this.mAbbr=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];this.mNames=['January','February','March','April','May','June','July','August','September','October','November','December'];this.baseYear=null;this.dAt=function(str,pos)
|
||||
{return((str.charCodeAt(pos)>='0'.charCodeAt(0))&&(str.charCodeAt(pos)<='9'.charCodeAt(0)));};this.format=function(date)
|
||||
{var d=new Date(date.getTime());if((_offAl==Number.MIN_VALUE)&&(_offF!=Number.MIN_VALUE))
|
||||
d.setTime((d.getTime()+(d.getTimezoneOffset()*60000))+(_offF*60000));var t;var str='';for(var f=0;f<_flen;f++)
|
||||
{if(this.fmt.charAt(f)!='%')
|
||||
str+=this.fmt.charAt(f);else
|
||||
{var ch=this.fmt.charAt(f+1)
|
||||
switch(ch)
|
||||
{case'a':str+=this.dAbbr[d.getDay()];break;case'B':if(d.getFullYear()<0)
|
||||
str+=this.eAbbr[0];break;case'b':str+=this.mAbbr[d.getMonth()];break;case'C':if(d.getFullYear()>0)
|
||||
str+=this.eAbbr[1];break;case'c':str+=d.getMonth()+1;break;case'd':t=d.getDate();if(t<10)str+='0';str+=String(t);break;case'D':t=String(d.getDate());str+=t;if((t.length==2)&&(t.charAt(0)=='1'))
|
||||
str+='th';else
|
||||
{switch(t.charAt(t.length-1))
|
||||
{case'1':str+='st';break;case'2':str+='nd';break;case'3':str+='rd';break;default:str+='th';break;}}
|
||||
break;case'E':str+=this.eAbbr[(d.getFullYear()<0)?0:1];break;case'e':str+=d.getDate();break;case'H':t=d.getHours();if(t<10)str+='0';str+=String(t);break;case'h':case'I':t=d.getHours()%12;if(t==0)
|
||||
str+='12';else
|
||||
{if(t<10)str+='0';str+=String(t);}
|
||||
break;case'i':t=d.getMinutes();if(t<10)str+='0';str+=String(t);break;case'k':str+=d.getHours();break;case'l':t=d.getHours()%12;if(t==0)
|
||||
str+='12';else
|
||||
str+=String(t);break;case'M':str+=this.mNames[d.getMonth()];break;case'm':t=d.getMonth()+1;if(t<10)str+='0';str+=String(t);break;case'p':str+=((d.getHours()<12)?'AM':'PM');break;case'r':t=d.getHours()%12;if(t==0)
|
||||
str+='12:';else
|
||||
{if(t<10)str+='0';str+=String(t)+':';}
|
||||
t=d.getMinutes();if(t<10)str+='0';str+=String(t)+':';t=d.getSeconds();if(t<10)str+='0';str+=String(t);str+=((d.getHours()<12)?'AM':'PM');break;case'S':case's':t=d.getSeconds();if(t<10)str+='0';str+=String(t);break;case'T':t=d.getHours();if(t<10)str+='0';str+=String(t)+':';t=d.getMinutes();if(t<10)str+='0';str+=String(t)+':';t=d.getSeconds();if(t<10)str+='0';str+=String(t);break;case'W':str+=this.dNames[d.getDay()];break;case'w':str+=d.getDay();break;case'Y':str+=AnyTime.pad(d.getFullYear(),4);break;case'y':t=d.getFullYear()%100;str+=AnyTime.pad(t,2);break;case'Z':str+=AnyTime.pad(Math.abs(d.getFullYear()),4);break;case'z':str+=Math.abs(d.getFullYear());break;case'%':str+='%';break;case'#':t=(_offAl!=Number.MIN_VALUE)?_offAl:(_offF==Number.MIN_VALUE)?(0-d.getTimezoneOffset()):_offF;if(t>=0)
|
||||
str+='+';str+=t;break;case'@':t=(_offAl!=Number.MIN_VALUE)?_offAl:(_offF==Number.MIN_VALUE)?(0-d.getTimezoneOffset()):_offF;if(AnyTime.utcLabel&&AnyTime.utcLabel[t])
|
||||
{if((_offFSI>0)&&(_offFSI<AnyTime.utcLabel[t].length))
|
||||
str+=AnyTime.utcLabel[t][_offFSI];else
|
||||
str+=AnyTime.utcLabel[t][0];break;}
|
||||
str+='UTC';ch=':';case'+':case'-':case':':case';':t=(_offAl!=Number.MIN_VALUE)?_offAl:(_offF==Number.MIN_VALUE)?(0-d.getTimezoneOffset()):_offF;if(t<0)
|
||||
str+='-';else
|
||||
str+='+';t=Math.abs(t);str+=((ch=='+')||(ch==':'))?AnyTime.pad(Math.floor(t/60),2):Math.floor(t/60);if((ch==':')||(ch==';'))
|
||||
str+=':';str+=AnyTime.pad(t%60,2);break;case'f':case'j':case'U':case'u':case'V':case'v':case'X':case'x':throw'%'+ch+' not implemented by AnyTime.Converter';default:str+=this.fmt.substr(f,2);}
|
||||
f++;}}
|
||||
return str;};this.getUtcParseOffsetCaptured=function()
|
||||
{return _offCap;};this.getUtcParseOffsetSubIndex=function()
|
||||
{return _offPSI;};this.parse=function(str)
|
||||
{_offCap=_offP;_offPSI=(-1);var era=1;var time=new Date(4,0,1,0,0,0,0);var slen=str.length;var s=0;var tzSign=1,tzOff=_offP;var i,matched,sub,sublen,temp;for(var f=0;f<_flen;f++)
|
||||
{if(this.fmt.charAt(f)=='%')
|
||||
{var ch=this.fmt.charAt(f+1);switch(ch)
|
||||
{case'a':matched=false;for(sublen=0;s+sublen<slen;sublen++)
|
||||
{sub=str.substr(s,sublen);for(i=0;i<12;i++)
|
||||
if(this.dAbbr[i]==sub)
|
||||
{matched=true;s+=sublen;break;}
|
||||
if(matched)
|
||||
break;}
|
||||
if(!matched)
|
||||
throw'unknown weekday: '+str.substr(s);break;case'B':sublen=this.eAbbr[0].length;if((s+sublen<=slen)&&(str.substr(s,sublen)==this.eAbbr[0]))
|
||||
{era=(-1);s+=sublen;}
|
||||
break;case'b':matched=false;for(sublen=0;s+sublen<slen;sublen++)
|
||||
{sub=str.substr(s,sublen);for(i=0;i<12;i++)
|
||||
if(this.mAbbr[i]==sub)
|
||||
{time.setMonth(i);matched=true;s+=sublen;break;}
|
||||
if(matched)
|
||||
break;}
|
||||
if(!matched)
|
||||
throw'unknown month: '+str.substr(s);break;case'C':sublen=this.eAbbr[1].length;if((s+sublen<=slen)&&(str.substr(s,sublen)==this.eAbbr[1]))
|
||||
s+=sublen;break;case'c':if((s+1<slen)&&this.dAt(str,s+1))
|
||||
{time.setMonth((Number(str.substr(s,2))-1)%12);s+=2;}
|
||||
else
|
||||
{time.setMonth((Number(str.substr(s,1))-1)%12);s++;}
|
||||
break;case'D':if((s+1<slen)&&this.dAt(str,s+1))
|
||||
{time.setDate(Number(str.substr(s,2)));s+=4;}
|
||||
else
|
||||
{time.setDate(Number(str.substr(s,1)));s+=3;}
|
||||
break;case'd':time.setDate(Number(str.substr(s,2)));s+=2;break;case'E':sublen=this.eAbbr[0].length;if((s+sublen<=slen)&&(str.substr(s,sublen)==this.eAbbr[0]))
|
||||
{era=(-1);s+=sublen;}
|
||||
else if((s+(sublen=this.eAbbr[1].length)<=slen)&&(str.substr(s,sublen)==this.eAbbr[1]))
|
||||
s+=sublen;else
|
||||
throw'unknown era: '+str.substr(s);break;case'e':if((s+1<slen)&&this.dAt(str,s+1))
|
||||
{time.setDate(Number(str.substr(s,2)));s+=2;}
|
||||
else
|
||||
{time.setDate(Number(str.substr(s,1)));s++;}
|
||||
break;case'f':s+=6;break;case'H':time.setHours(Number(str.substr(s,2)));s+=2;break;case'h':case'I':time.setHours(Number(str.substr(s,2)));s+=2;break;case'i':time.setMinutes(Number(str.substr(s,2)));s+=2;break;case'k':if((s+1<slen)&&this.dAt(str,s+1))
|
||||
{time.setHours(Number(str.substr(s,2)));s+=2;}
|
||||
else
|
||||
{time.setHours(Number(str.substr(s,1)));s++;}
|
||||
break;case'l':if((s+1<slen)&&this.dAt(str,s+1))
|
||||
{time.setHours(Number(str.substr(s,2)));s+=2;}
|
||||
else
|
||||
{time.setHours(Number(str.substr(s,1)));s++;}
|
||||
break;case'M':matched=false;for(sublen=_shortMon;s+sublen<=slen;sublen++)
|
||||
{if(sublen>_longMon)
|
||||
break;sub=str.substr(s,sublen);for(i=0;i<12;i++)
|
||||
{if(this.mNames[i]==sub)
|
||||
{time.setMonth(i);matched=true;s+=sublen;break;}}
|
||||
if(matched)
|
||||
break;}
|
||||
break;case'm':time.setMonth((Number(str.substr(s,2))-1)%12);s+=2;break;case'p':if(time.getHours()==12)
|
||||
{if(str.charAt(s)=='A')
|
||||
time.setHours(0);}
|
||||
else if(str.charAt(s)=='P')
|
||||
time.setHours(time.getHours()+12);s+=2;break;case'r':time.setHours(Number(str.substr(s,2)));time.setMinutes(Number(str.substr(s+3,2)));time.setSeconds(Number(str.substr(s+6,2)));if(time.getHours()==12)
|
||||
{if(str.charAt(s)=='A')
|
||||
time.setHours(0);}
|
||||
else if(str.charAt(s)=='P')
|
||||
time.setHours(time.getHours()+12);s+=10;break;case'S':case's':time.setSeconds(Number(str.substr(s,2)));s+=2;break;case'T':time.setHours(Number(str.substr(s,2)));time.setMinutes(Number(str.substr(s+3,2)));time.setSeconds(Number(str.substr(s+6,2)));s+=8;break;case'W':matched=false;for(sublen=_shortDay;s+sublen<=slen;sublen++)
|
||||
{if(sublen>_longDay)
|
||||
break;sub=str.substr(s,sublen);for(i=0;i<7;i++)
|
||||
{if(this.dNames[i]==sub)
|
||||
{matched=true;s+=sublen;break;}}
|
||||
if(matched)
|
||||
break;}
|
||||
break;case'w':s+=1;break;case'Y':i=4;if(str.substr(s,1)=='-')
|
||||
i++;time.setFullYear(Number(str.substr(s,i)));s+=i;break;case'y':i=2;if(str.substr(s,1)=='-')
|
||||
i++;temp=Number(str.substr(s,i));if(typeof(this.baseYear)=='number')
|
||||
temp+=this.baseYear;else if(temp<70)
|
||||
temp+=2000;else
|
||||
temp+=1900;time.setFullYear(temp);s+=i;break;case'Z':time.setFullYear(Number(str.substr(s,4)));s+=4;break;case'z':i=0;while((s<slen)&&this.dAt(str,s))
|
||||
i=(i*10)+Number(str.charAt(s++));time.setFullYear(i);break;case'#':if(str.charAt(s++)=='-')
|
||||
tzSign=(-1);for(tzOff=0;(s<slen)&&(String(i=Number(str.charAt(s)))==str.charAt(s));s++)
|
||||
tzOff=(tzOff*10)+i;tzOff*=tzSign;break;case'@':_offPSI=(-1);if(AnyTime.utcLabel)
|
||||
{matched=false;for(tzOff in AnyTime.utcLabel)
|
||||
if(!Array.prototype[tzOff])
|
||||
{for(i=0;i<AnyTime.utcLabel[tzOff].length;i++)
|
||||
{sub=AnyTime.utcLabel[tzOff][i];sublen=sub.length;if((s+sublen<=slen)&&(str.substr(s,sublen)==sub))
|
||||
{s+=sublen;matched=true;break;}}
|
||||
if(matched)
|
||||
break;}
|
||||
if(matched)
|
||||
{_offPSI=i;tzOff=Number(tzOff);break;}}
|
||||
if((s+9<slen)||(str.substr(s,3)!="UTC"))
|
||||
throw'unknown time zone: '+str.substr(s);s+=3;ch=':';case'-':case'+':case':':case';':if(str.charAt(s++)=='-')
|
||||
tzSign=(-1);tzOff=Number(str.charAt(s));if((ch=='+')||(ch==':')||((s+3<slen)&&(String(Number(str.charAt(s+3)))!==str.charAt(s+3))))
|
||||
tzOff=(tzOff*10)+Number(str.charAt(++s));tzOff*=60;if((ch==':')||(ch==';'))
|
||||
s++;tzOff=(tzOff+Number(str.substr(++s,2)))*tzSign;s+=2;break;case'j':case'U':case'u':case'V':case'v':case'X':case'x':throw'%'+this.fmt.charAt(f+1)+' not implemented by AnyTime.Converter';case'%':default:throw'%'+this.fmt.charAt(f+1)+' reserved for future use';break;}
|
||||
f++;}
|
||||
else if(this.fmt.charAt(f)!=str.charAt(s))
|
||||
throw str+' is not in "'+this.fmt+'" format';else
|
||||
s++;}
|
||||
if(era<0)
|
||||
time.setFullYear(0-time.getFullYear());if(tzOff!=Number.MIN_VALUE)
|
||||
{if(_captureOffset)
|
||||
_offCap=tzOff;else
|
||||
time.setTime((time.getTime()-(tzOff*60000))-(time.getTimezoneOffset()*60000));}
|
||||
return time;};this.setUtcFormatOffsetAlleged=function(offset)
|
||||
{var prev=_offAl;_offAl=offset;return prev;};this.setUtcFormatOffsetSubIndex=function(subIndex)
|
||||
{var prev=_offFSI;_offFSI=subIndex;return prev;};(function(_this)
|
||||
{var i,len;options=jQuery.extend(true,{},options||{});if(options.baseYear)
|
||||
_this.baseYear=Number(options.baseYear);if(options.format)
|
||||
_this.fmt=options.format;_flen=_this.fmt.length;if(options.dayAbbreviations)
|
||||
_this.dAbbr=$.makeArray(options.dayAbbreviations);if(options.dayNames)
|
||||
{_this.dNames=$.makeArray(options.dayNames);_longDay=1;_shortDay=1000;for(i=0;i<7;i++)
|
||||
{len=_this.dNames[i].length;if(len>_longDay)
|
||||
_longDay=len;if(len<_shortDay)
|
||||
_shortDay=len;}}
|
||||
if(options.eraAbbreviations)
|
||||
_this.eAbbr=$.makeArray(options.eraAbbreviations);if(options.monthAbbreviations)
|
||||
_this.mAbbr=$.makeArray(options.monthAbbreviations);if(options.monthNames)
|
||||
{_this.mNames=$.makeArray(options.monthNames);_longMon=1;_shortMon=1000;for(i=0;i<12;i++)
|
||||
{len=_this.mNames[i].length;if(len>_longMon)
|
||||
_longMon=len;if(len<_shortMon)
|
||||
_shortMon=len;}}
|
||||
if(typeof options.utcFormatOffsetImposed!="undefined")
|
||||
_offF=options.utcFormatOffsetImposed;if(typeof options.utcParseOffsetAssumed!="undefined")
|
||||
_offP=options.utcParseOffsetAssumed;if(options.utcParseOffsetCapture)
|
||||
_captureOffset=true;})(this);};AnyTime.noPicker=function(id)
|
||||
{if(__pickers[id])
|
||||
{__pickers[id].cleanup();delete __pickers[id];}};AnyTime.picker=function(id,options)
|
||||
{if(__pickers[id])
|
||||
throw'Cannot create another AnyTime picker for "'+id+'"';var _this=null;__pickers[id]={twelveHr:false,ajaxOpts:null,denyTab:true,askEra:false,cloak:null,conv:null,bMinW:0,bMinH:0,dMinW:0,dMinH:0,div:null,dB:null,dD:null,dY:null,dMo:null,dDoM:null,hDoM:null,hMo:null,hTitle:null,hY:null,dT:null,dH:null,dM:null,dS:null,dO:null,earliest:null,fBtn:null,fDOW:0,hBlur:null,hClick:null,hFocus:null,hKeydown:null,hKeypress:null,id:null,inp:null,latest:null,lastAjax:null,lostFocus:false,lX:'X',lY:'Year',lO:'Time Zone',oBody:null,oConv:null,oCur:null,oDiv:null,oLab:null,oListMinW:0,oMinW:0,oSel:null,offMin:Number.MIN_VALUE,offSI:-1,offStr:"",pop:true,time:null,tMinW:0,tMinH:0,url:null,wMinW:0,wMinH:0,yAhead:null,y0XXX:null,yCur:null,yDiv:null,yLab:null,yNext:null,yPast:null,yPrior:null,initialize:function(id)
|
||||
{_this=this;this.id='AnyTime--'+id.replace(/[^-_.A-Za-z0-9]/g,'--AnyTime--');options=jQuery.extend(true,{},options||{});options.utcParseOffsetCapture=true;this.conv=new AnyTime.Converter(options);if(options.placement)
|
||||
{if(options.placement=='inline')
|
||||
this.pop=false;else if(options.placement!='popup')
|
||||
throw'unknown placement: '+options.placement;}
|
||||
if(options.ajaxOptions)
|
||||
{this.ajaxOpts=jQuery.extend({},options.ajaxOptions);if(!this.ajaxOpts.success)
|
||||
this.ajaxOpts.success=function(data,status){_this.inp.val(data);};}
|
||||
if(options.earliest)
|
||||
{if(typeof options.earliest.getTime=='function')
|
||||
this.earliest=options.earliest.getTime();else
|
||||
this.earliest=this.conv.parse(options.earliest.toString());}
|
||||
if(options.firstDOW)
|
||||
{if((options.firstDOW<0)||(options.firstDOW>6))
|
||||
throw new Exception('illegal firstDOW: '+options.firstDOW);this.fDOW=options.firstDOW;}
|
||||
if(options.latest)
|
||||
{if(typeof options.latest.getTime=='function')
|
||||
this.latest=options.latest.getTime();else
|
||||
this.latest=this.conv.parse(options.latest.toString());}
|
||||
this.lX=options.labelDismiss||'X';this.lY=options.labelYear||'Year';this.lO=options.labelTimeZone||'Time Zone';var i;var t;var lab;var shownFields=0;var format=this.conv.fmt;if(typeof options.askEra!='undefined')
|
||||
this.askEra=options.askEra;else
|
||||
this.askEra=(format.indexOf('%B')>=0)||(format.indexOf('%C')>=0)||(format.indexOf('%E')>=0);var askYear=(format.indexOf('%Y')>=0)||(format.indexOf('%y')>=0)||(format.indexOf('%Z')>=0)||(format.indexOf('%z')>=0);var askMonth=(format.indexOf('%b')>=0)||(format.indexOf('%c')>=0)||(format.indexOf('%M')>=0)||(format.indexOf('%m')>=0);var askDoM=(format.indexOf('%D')>=0)||(format.indexOf('%d')>=0)||(format.indexOf('%e')>=0);var askDate=askYear||askMonth||askDoM;this.twelveHr=(format.indexOf('%h')>=0)||(format.indexOf('%I')>=0)||(format.indexOf('%l')>=0)||(format.indexOf('%r')>=0);var askHour=this.twelveHr||(format.indexOf('%H')>=0)||(format.indexOf('%k')>=0)||(format.indexOf('%T')>=0);var askMinute=(format.indexOf('%i')>=0)||(format.indexOf('%r')>=0)||(format.indexOf('%T')>=0);var askSec=((format.indexOf('%r')>=0)||(format.indexOf('%S')>=0)||(format.indexOf('%s')>=0)||(format.indexOf('%T')>=0));if(askSec&&(typeof options.askSecond!='undefined'))
|
||||
askSec=options.askSecond;var askOff=((format.indexOf('%#')>=0)||(format.indexOf('%+')>=0)||(format.indexOf('%-')>=0)||(format.indexOf('%:')>=0)||(format.indexOf('%;')>=0)||(format.indexOf('%<')>=0)||(format.indexOf('%>')>=0)||(format.indexOf('%@')>=0));var askTime=askHour||askMinute||askSec||askOff;if(askOff)
|
||||
this.oConv=new AnyTime.Converter({format:options.formatUtcOffset||format.match(/\S*%[-+:;<>#@]\S*/g).join(' ')});this.inp=$(document.getElementById(id));this.div=$('<div class="AnyTime-win AnyTime-pkr ui-widget ui-widget-content ui-corner-all" style="width:0;height:0" id="'+this.id+'" aria-live="off"/>');this.inp.after(this.div);this.wMinW=this.div.outerWidth(!$.browser.safari);this.wMinH=this.div.AnyTime_height(true);this.hTitle=$('<h5 class="AnyTime-hdr ui-widget-header ui-corner-top"/>');this.div.append(this.hTitle);this.dB=$('<div class="AnyTime-body" style="width:0;height:0"/>');this.div.append(this.dB);this.bMinW=this.dB.outerWidth(true);this.bMinH=this.dB.AnyTime_height(true);if(options.hideInput)
|
||||
this.inp.css({border:0,height:'1px',margin:0,padding:0,width:'1px'});t=null;var xDiv=null;if(this.pop)
|
||||
{xDiv=$('<div class="AnyTime-x-btn ui-state-default">'+this.lX+'</div>');this.hTitle.append(xDiv);xDiv.click(function(e){_this.dismiss(e);});}
|
||||
lab='';if(askDate)
|
||||
{this.dD=$('<div class="AnyTime-date" style="width:0;height:0"/>');this.dB.append(this.dD);this.dMinW=this.dD.outerWidth(true);this.dMinH=this.dD.AnyTime_height(true);if(askYear)
|
||||
{this.yLab=$('<h6 class="AnyTime-lbl AnyTime-lbl-yr">'+this.lY+'</h6>');this.dD.append(this.yLab);this.dY=$('<ul class="AnyTime-yrs ui-helper-reset" />');this.dD.append(this.dY);this.yPast=this.btn(this.dY,'<',this.newYear,['yrs-past'],'- '+this.lY);this.yPrior=this.btn(this.dY,'1',this.newYear,['yr-prior'],'-1 '+this.lY);this.yCur=this.btn(this.dY,'2',this.newYear,['yr-cur'],this.lY);this.yCur.removeClass('ui-state-default');this.yCur.addClass('AnyTime-cur-btn ui-state-default ui-state-highlight');this.yNext=this.btn(this.dY,'3',this.newYear,['yr-next'],'+1 '+this.lY);this.yAhead=this.btn(this.dY,'>',this.newYear,['yrs-ahead'],'+ '+this.lY);shownFields++;}
|
||||
if(askMonth)
|
||||
{lab=options.labelMonth||'Month';this.hMo=$('<h6 class="AnyTime-lbl AnyTime-lbl-month">'+lab+'</h6>');this.dD.append(this.hMo);this.dMo=$('<ul class="AnyTime-mons" />');this.dD.append(this.dMo);for(i=0;i<12;i++)
|
||||
{var mBtn=this.btn(this.dMo,this.conv.mAbbr[i],function(event)
|
||||
{var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;var mo=event.target.AnyTime_month;var t=new Date(this.time.getTime());if(t.getDate()>__daysIn[mo])
|
||||
t.setDate(__daysIn[mo])
|
||||
t.setMonth(mo);this.set(t);this.upd(elem);},['mon','mon'+String(i+1)],lab+' '+this.conv.mNames[i]);mBtn[0].AnyTime_month=i;}
|
||||
shownFields++;}
|
||||
if(askDoM)
|
||||
{lab=options.labelDayOfMonth||'Day of Month';this.hDoM=$('<h6 class="AnyTime-lbl AnyTime-lbl-dom">'+lab+'</h6>');this.dD.append(this.hDoM);this.dDoM=$('<table border="0" cellpadding="0" cellspacing="0" class="AnyTime-dom-table"/>');this.dD.append(this.dDoM);t=$('<thead class="AnyTime-dom-head"/>');this.dDoM.append(t);var tr=$('<tr class="AnyTime-dow"/>');t.append(tr);for(i=0;i<7;i++)
|
||||
tr.append('<th class="AnyTime-dow AnyTime-dow'+String(i+1)+'">'+this.conv.dAbbr[(this.fDOW+i)%7]+'</th>');var tbody=$('<tbody class="AnyTime-dom-body" />');this.dDoM.append(tbody);for(var r=0;r<6;r++)
|
||||
{tr=$('<tr class="AnyTime-wk AnyTime-wk'+String(r+1)+'"/>');tbody.append(tr);for(i=0;i<7;i++)
|
||||
this.btn(tr,'x',function(event)
|
||||
{var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;var dom=Number(elem.html());if(dom)
|
||||
{var t=new Date(this.time.getTime());t.setDate(dom);this.set(t);this.upd(elem);}},['dom'],lab);}
|
||||
shownFields++;}}
|
||||
if(askTime)
|
||||
{var tensDiv,onesDiv;this.dT=$('<div class="AnyTime-time" style="width:0;height:0" />');this.dB.append(this.dT);this.tMinW=this.dT.outerWidth(true);this.tMinH=this.dT.AnyTime_height(true);if(askHour)
|
||||
{this.dH=$('<div class="AnyTime-hrs"/>');this.dT.append(this.dH);lab=options.labelHour||'Hour';this.dH.append($('<h6 class="AnyTime-lbl AnyTime-lbl-hr">'+lab+'</h6>'));var amDiv=$('<ul class="AnyTime-hrs-am"/>');this.dH.append(amDiv);var pmDiv=$('<ul class="AnyTime-hrs-pm"/>');this.dH.append(pmDiv);for(i=0;i<12;i++)
|
||||
{if(this.twelveHr)
|
||||
{if(i==0)
|
||||
t='12am';else
|
||||
t=String(i)+'am';}
|
||||
else
|
||||
t=AnyTime.pad(i,2);this.btn(amDiv,t,this.newHour,['hr','hr'+String(i)],lab+' '+t);if(this.twelveHr)
|
||||
{if(i==0)
|
||||
t='12pm';else
|
||||
t=String(i)+'pm';}
|
||||
else
|
||||
t=i+12;this.btn(pmDiv,t,this.newHour,['hr','hr'+String(i+12)],lab+' '+t);}
|
||||
shownFields++;}
|
||||
if(askMinute)
|
||||
{this.dM=$('<div class="AnyTime-mins"/>');this.dT.append(this.dM);lab=options.labelMinute||'Minute';this.dM.append($('<h6 class="AnyTime-lbl AnyTime-lbl-min">'+lab+'</h6>'));tensDiv=$('<ul class="AnyTime-mins-tens"/>');this.dM.append(tensDiv);for(i=0;i<6;i++)
|
||||
this.btn(tensDiv,i,function(event)
|
||||
{var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;var t=new Date(this.time.getTime());t.setMinutes((Number(elem.text())*10)+(this.time.getMinutes()%10));this.set(t);this.upd(elem);},['min-ten','min'+i+'0'],lab+' '+i+'0');for(;i<12;i++)
|
||||
this.btn(tensDiv,' ',$.noop,['min-ten','min'+i+'0'],lab+' '+i+'0').addClass('AnyTime-min-ten-btn-empty ui-state-default ui-state-disabled');onesDiv=$('<ul class="AnyTime-mins-ones"/>');this.dM.append(onesDiv);for(i=0;i<10;i++)
|
||||
this.btn(onesDiv,i,function(event)
|
||||
{var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;var t=new Date(this.time.getTime());t.setMinutes((Math.floor(this.time.getMinutes()/10)*10)+Number(elem.text()));this.set(t);this.upd(elem);},['min-one','min'+i],lab+' '+i);for(;i<12;i++)
|
||||
this.btn(onesDiv,' ',$.noop,['min-one','min'+i+'0'],lab+' '+i).addClass('AnyTime-min-one-btn-empty ui-state-default ui-state-disabled');shownFields++;}
|
||||
if(askSec)
|
||||
{this.dS=$('<div class="AnyTime-secs"/>');this.dT.append(this.dS);lab=options.labelSecond||'Second';this.dS.append($('<h6 class="AnyTime-lbl AnyTime-lbl-sec">'+lab+'</h6>'));tensDiv=$('<ul class="AnyTime-secs-tens"/>');this.dS.append(tensDiv);for(i=0;i<6;i++)
|
||||
this.btn(tensDiv,i,function(event)
|
||||
{var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;var t=new Date(this.time.getTime());t.setSeconds((Number(elem.text())*10)+(this.time.getSeconds()%10));this.set(t);this.upd(elem);},['sec-ten','sec'+i+'0'],lab+' '+i+'0');for(;i<12;i++)
|
||||
this.btn(tensDiv,' ',$.noop,['sec-ten','sec'+i+'0'],lab+' '+i+'0').addClass('AnyTime-sec-ten-btn-empty ui-state-default ui-state-disabled');onesDiv=$('<ul class="AnyTime-secs-ones"/>');this.dS.append(onesDiv);for(i=0;i<10;i++)
|
||||
this.btn(onesDiv,i,function(event)
|
||||
{var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;var t=new Date(this.time.getTime());t.setSeconds((Math.floor(this.time.getSeconds()/10)*10)+Number(elem.text()));this.set(t);this.upd(elem);},['sec-one','sec'+i],lab+' '+i);for(;i<12;i++)
|
||||
this.btn(onesDiv,' ',$.noop,['sec-one','sec'+i+'0'],lab+' '+i).addClass('AnyTime-sec-one-btn-empty ui-state-default ui-state-disabled');shownFields++;}
|
||||
if(askOff)
|
||||
{this.dO=$('<div class="AnyTime-offs" />');this.dT.append(this.dO);this.oMinW=this.dO.outerWidth(true);this.oLab=$('<h6 class="AnyTime-lbl AnyTime-lbl-off">'+this.lO+'</h6>');this.dO.append(this.oLab);var offDiv=$('<ul class="AnyTime-off-list ui-helper-reset" />');this.dO.append(offDiv);this.oCur=this.btn(offDiv,'',this.newOffset,['off','off-cur'],lab);this.oCur.removeClass('ui-state-default');this.oCur.addClass('AnyTime-cur-btn ui-state-default ui-state-highlight');this.oCur.css({overflow:"hidden"});this.oSel=this.btn(offDiv,'±',this.newOffset,['off','off-select'],'+/- '+this.lO);this.oListMinW=this.oCur.outerWidth(true)+this.oSel.outerWidth(true);shownFields++;}}
|
||||
if(options.labelTitle)
|
||||
this.hTitle.append(options.labelTitle);else if(shownFields>1)
|
||||
this.hTitle.append('Select a '+(askDate?(askTime?'Date and Time':'Date'):'Time'));else
|
||||
this.hTitle.append('Select');try
|
||||
{this.time=this.conv.parse(this.inp.val());this.offMin=this.conv.getUtcParseOffsetCaptured();this.offSI=this.conv.getUtcParseOffsetSubIndex();}
|
||||
catch(e)
|
||||
{this.time=new Date();}
|
||||
this.lastAjax=this.time;if(this.pop)
|
||||
{this.div.hide();if(__iframe)
|
||||
__iframe.hide();this.div.css('position','absolute');}
|
||||
this.inp.blur(this.hBlur=function(e)
|
||||
{_this.inpBlur(e);});this.inp.click(this.hClick=function(e)
|
||||
{_this.showPkr(e);});this.inp.focus(this.hFocus=function(e)
|
||||
{if(_this.lostFocus)
|
||||
_this.showPkr(e);_this.lostFocus=false;});this.inp.keydown(this.hKeydown=function(e)
|
||||
{_this.key(e);});this.inp.keypress(this.hKeypress=function(e)
|
||||
{if($.browser.opera&&_this.denyTab)
|
||||
e.preventDefault();});this.div.click(function(e)
|
||||
{_this.lostFocus=false;_this.inp.focus();});$(window).resize(function(e)
|
||||
{_this.pos(e);});if(__initialized)
|
||||
this.onReady();},ajax:function()
|
||||
{if(this.ajaxOpts&&(this.time.getTime()!=this.lastAjax.getTime()))
|
||||
{try
|
||||
{var opts=jQuery.extend({},this.ajaxOpts);if(typeof opts.data=='object')
|
||||
opts.data[this.inp[0].name||this.inp[0].id]=this.inp.val();else
|
||||
{var opt=(this.inp[0].name||this.inp[0].id)+'='+encodeURI(this.inp.val());if(opts.data)
|
||||
opts.data+='&'+opt;else
|
||||
opts.data=opt;}
|
||||
$.ajax(opts);this.lastAjax=this.time;}
|
||||
catch(e)
|
||||
{}}
|
||||
return;},askOffset:function(event)
|
||||
{if(!this.oDiv)
|
||||
{this.makeCloak();this.oDiv=$('<div class="AnyTime-win AnyTime-off-selector ui-widget ui-widget-content ui-corner-all" style="position:absolute" />');this.div.append(this.oDiv);var title=$('<h5 class="AnyTime-hdr AnyTime-hdr-off-selector ui-widget-header ui-corner-top" />');this.oDiv.append(title);this.oBody=$('<div class="AnyTime-body AnyTime-body-off-selector" style="overflow:auto;white-space:nowrap" />');this.oDiv.append(this.oBody);var oBHS=this.oBody.AnyTime_height(true);var oBWS=this.oBody.AnyTime_width(true);var oTWS=title.AnyTime_width(true);var xDiv=$('<div class="AnyTime-x-btn ui-state-default">'+this.lX+'</div>');title.append(xDiv);xDiv.click(function(e){_this.dismissODiv(e);});title.append(this.lO);if(__msie6||__msie7)
|
||||
title.width(String(this.lO.length*0.8)+"em");var oBW=title.AnyTime_width(true)-oBWS;var cont=$('<ul class="AnyTime-off-off" />');var last=null;this.oBody.append(cont);var useSubIndex=(this.oConv.fmt.indexOf('%@')>=0);var btnW=0;if(AnyTime.utcLabel)
|
||||
for(var o=-720;o<720;o++)
|
||||
if(AnyTime.utcLabel[o])
|
||||
{this.oConv.setUtcFormatOffsetAlleged(o);for(var i=0;i<AnyTime.utcLabel[o].length;i++)
|
||||
{this.oConv.setUtcFormatOffsetSubIndex(i);last=this.btn(cont,this.oConv.format(this.time),this.newOPos,['off-off'],o);last[0].AnyTime_offMin=o;last[0].AnyTime_offSI=i;var w=last.width();if(w>btnW)
|
||||
btnW=w;if(!useSubIndex)
|
||||
break;}}
|
||||
if(last)
|
||||
last.addClass('AnyTime-off-off-last-btn');this.oBody.find('.AnyTime-off-off-btn').width(btnW);if(last)
|
||||
{var lW=last.AnyTime_width(true);if(lW>oBW)
|
||||
oBW=lW+1;}
|
||||
this.oBody.width(oBW);oBW=this.oBody.AnyTime_width(true);this.oDiv.width(oBW);if(__msie6||__msie7)
|
||||
title.width(oBW-oTWS);var oH=this.oDiv.AnyTime_height(true);var oHmax=this.div.height()*0.75;if(oH>oHmax)
|
||||
{oH=oHmax;this.oBody.height(oH-(title.AnyTime_height(true)+oBHS));this.oBody.width(this.oBody.width()+20);this.oDiv.width(this.oDiv.width()+20);if(__msie6||__msie7)
|
||||
title.width(this.oBody.AnyTime_width(true)-oTWS);}
|
||||
if(!__msie7)
|
||||
this.oDiv.height(String(oH)+'px');}
|
||||
else
|
||||
{this.cloak.show();this.oDiv.show();}
|
||||
this.pos(event);this.updODiv(null);var f=this.oDiv.find('.AnyTime-off-off-btn.AnyTime-cur-btn:first');if(!f.length)
|
||||
f=this.oDiv.find('.AnyTime-off-off-btn:first');this.setFocus(f);},askYear:function(event)
|
||||
{if(!this.yDiv)
|
||||
{this.makeCloak();this.yDiv=$('<div class="AnyTime-win AnyTime-yr-selector ui-widget ui-widget-content ui-corner-all" style="position:absolute" />');this.div.append(this.yDiv);var title=$('<h5 class="AnyTime-hdr AnyTime-hdr-yr-selector ui-widget-header ui-corner-top" />');this.yDiv.append(title);var xDiv=$('<div class="AnyTime-x-btn ui-state-default">'+this.lX+'</div>');title.append(xDiv);xDiv.click(function(e){_this.dismissYDiv(e);});title.append(this.lY);var yBody=$('<div class="AnyTime-body AnyTime-body-yr-selector" />');var yW=yBody.AnyTime_width(true);var yH=0;this.yDiv.append(yBody);cont=$('<ul class="AnyTime-yr-mil" />');yBody.append(cont);this.y0XXX=this.btn(cont,0,this.newYPos,['mil','mil0'],this.lY+' '+0+'000');for(i=1;i<10;i++)
|
||||
this.btn(cont,i,this.newYPos,['mil','mil'+i],this.lY+' '+i+'000');yW+=cont.AnyTime_width(true);if(yH<cont.AnyTime_height(true))
|
||||
yH=cont.AnyTime_height(true);cont=$('<ul class="AnyTime-yr-cent" />');yBody.append(cont);for(i=0;i<10;i++)
|
||||
this.btn(cont,i,this.newYPos,['cent','cent'+i],this.lY+' '+i+'00');yW+=cont.AnyTime_width(true);if(yH<cont.AnyTime_height(true))
|
||||
yH=cont.AnyTime_height(true);cont=$('<ul class="AnyTime-yr-dec" />');yBody.append(cont);for(i=0;i<10;i++)
|
||||
this.btn(cont,i,this.newYPos,['dec','dec'+i],this.lY+' '+i+'0');yW+=cont.AnyTime_width(true);if(yH<cont.AnyTime_height(true))
|
||||
yH=cont.AnyTime_height(true);cont=$('<ul class="AnyTime-yr-yr" />');yBody.append(cont);for(i=0;i<10;i++)
|
||||
this.btn(cont,i,this.newYPos,['yr','yr'+i],this.lY+' '+i);yW+=cont.AnyTime_width(true);if(yH<cont.AnyTime_height(true))
|
||||
yH=cont.AnyTime_height(true);if(this.askEra)
|
||||
{cont=$('<ul class="AnyTime-yr-era" />');yBody.append(cont);this.btn(cont,this.conv.eAbbr[0],function(event)
|
||||
{var t=new Date(this.time.getTime());var year=t.getFullYear();if(year>0)
|
||||
t.setFullYear(0-year);this.set(t);this.updYDiv($(event.target));},['era','bce'],this.conv.eAbbr[0]);this.btn(cont,this.conv.eAbbr[1],function(event)
|
||||
{var t=new Date(this.time.getTime());var year=t.getFullYear();if(year<0)
|
||||
t.setFullYear(0-year);this.set(t);this.updYDiv($(event.target));},['era','ce'],this.conv.eAbbr[1]);yW+=cont.AnyTime_width(true);if(yH<cont.AnyTime_height(true))
|
||||
yH=cont.AnyTime_height(true);}
|
||||
if($.browser.msie)
|
||||
yW+=1;else if($.browser.safari)
|
||||
yW+=2;yH+=yBody.AnyTime_height(true);yBody.css('width',String(yW)+'px');if(!__msie7)
|
||||
yBody.css('height',String(yH)+'px');if(__msie6||__msie7)
|
||||
title.width(yBody.outerWidth(true));yH+=title.AnyTime_height(true);if(title.AnyTime_width(true)>yW)
|
||||
yW=title.AnyTime_width(true);this.yDiv.css('width',String(yW)+'px');if(!__msie7)
|
||||
this.yDiv.css('height',String(yH)+'px');}
|
||||
else
|
||||
{this.cloak.show();this.yDiv.show();}
|
||||
this.pos(event);this.updYDiv(null);this.setFocus(this.yDiv.find('.AnyTime-yr-btn.AnyTime-cur-btn:first'));},inpBlur:function(event)
|
||||
{if(this.oDiv&&this.oDiv.is(":visible"))
|
||||
{_this.inp.focus();return;}
|
||||
this.lostFocus=true;setTimeout(function()
|
||||
{if(_this.lostFocus)
|
||||
{_this.div.find('.AnyTime-focus-btn').removeClass('AnyTime-focus-btn ui-state-focus');if(_this.pop)
|
||||
_this.dismiss(event);else
|
||||
_this.ajax();}},334);},btn:function(parent,text,handler,classes,title)
|
||||
{var tagName=((parent[0].nodeName.toLowerCase()=='ul')?'li':'td');var div$='<'+tagName+' class="AnyTime-btn';for(var i=0;i<classes.length;i++)
|
||||
div$+=' AnyTime-'+classes[i]+'-btn';var div=$(div$+' ui-state-default">'+text+'</'+tagName+'>');parent.append(div);div.AnyTime_title=title;div.click(function(e)
|
||||
{_this.tempFunc=handler;_this.tempFunc(e);});div.dblclick(function(e)
|
||||
{var elem=$(this);if(elem.is('.AnyTime-off-off-btn'))
|
||||
_this.dismissODiv(e);else if(elem.is('.AnyTime-mil-btn')||elem.is('.AnyTime-cent-btn')||elem.is('.AnyTime-dec-btn')||elem.is('.AnyTime-yr-btn')||elem.is('.AnyTime-era-btn'))
|
||||
_this.dismissYDiv(e);else if(_this.pop)
|
||||
_this.dismiss(e);});return div;},cleanup:function(event)
|
||||
{this.inp.unbind('blur',this.hBlur);this.inp.unbind('click',this.hClick);this.inp.unbind('focus',this.hFocus);this.inp.unbind('keydown',this.hKeydown);this.inp.unbind('keypress',this.hKeypress);this.div.remove();},dismiss:function(event)
|
||||
{this.ajax();this.div.hide();if(__iframe)
|
||||
__iframe.hide();if(this.yDiv)
|
||||
this.dismissYDiv();if(this.oDiv)
|
||||
this.dismissODiv();this.lostFocus=true;},dismissODiv:function(event)
|
||||
{this.oDiv.hide();this.cloak.hide();this.setFocus(this.oCur);},dismissYDiv:function(event)
|
||||
{this.yDiv.hide();this.cloak.hide();this.setFocus(this.yCur);},setFocus:function(btn)
|
||||
{if(!btn.hasClass('AnyTime-focus-btn'))
|
||||
{this.div.find('.AnyTime-focus-btn').removeClass('AnyTime-focus-btn ui-state-focus');this.fBtn=btn;btn.removeClass('ui-state-default ui-state-highlight');btn.addClass('AnyTime-focus-btn ui-state-default ui-state-highlight ui-state-focus');}
|
||||
if(btn.hasClass('AnyTime-off-off-btn'))
|
||||
{var oBT=this.oBody.offset().top;var btnT=btn.offset().top;var btnH=btn.AnyTime_height(true);if(btnT-btnH<oBT)
|
||||
this.oBody.scrollTop(btnT+this.oBody.scrollTop()-(this.oBody.innerHeight()+oBT)+(btnH*2));else if(btnT+btnH>oBT+this.oBody.innerHeight())
|
||||
this.oBody.scrollTop((btnT+this.oBody.scrollTop())-(oBT+btnH));}},key:function(event)
|
||||
{var mo;var t=null;var elem=this.div.find('.AnyTime-focus-btn');var key=event.keyCode||event.which;this.denyTab=true;if(key==16)
|
||||
{}
|
||||
else if((key==10)||(key==13)||(key==27))
|
||||
{if(this.oDiv&&this.oDiv.is(':visible'))
|
||||
this.dismissODiv(event);else if(this.yDiv&&this.yDiv.is(':visible'))
|
||||
this.dismissYDiv(event);else if(this.pop)
|
||||
this.dismiss(event);}
|
||||
else if((key==33)||((key==9)&&event.shiftKey))
|
||||
{if(this.fBtn.hasClass('AnyTime-off-off-btn'))
|
||||
{if(key==9)
|
||||
this.dismissODiv(event);}
|
||||
else if(this.fBtn.hasClass('AnyTime-mil-btn'))
|
||||
{if(key==9)
|
||||
this.dismissYDiv(event);}
|
||||
else if(this.fBtn.hasClass('AnyTime-cent-btn'))
|
||||
this.yDiv.find('.AnyTime-mil-btn.AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-dec-btn'))
|
||||
this.yDiv.find('.AnyTime-cent-btn.AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-yr-btn'))
|
||||
this.yDiv.find('.AnyTime-dec-btn.AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-era-btn'))
|
||||
this.yDiv.find('.AnyTime-yr-btn.AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.parents('.AnyTime-yrs').length)
|
||||
{if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-mon-btn'))
|
||||
{if(this.dY)
|
||||
this.yCur.triggerHandler('click');else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
{if((key==9)&&event.shiftKey)
|
||||
{this.denyTab=false;return;}
|
||||
else
|
||||
{t=new Date(this.time.getTime());if(event.shiftKey)
|
||||
t.setFullYear(t.getFullYear()-1);else
|
||||
{mo=t.getMonth()-1;if(t.getDate()>__daysIn[mo])
|
||||
t.setDate(__daysIn[mo])
|
||||
t.setMonth(mo);}
|
||||
this.keyDateChange(t);}}
|
||||
else if(this.fBtn.hasClass('AnyTime-hr-btn'))
|
||||
{t=this.dDoM||this.dMo;if(t)
|
||||
t.AnyTime_clickCurrent();else if(this.dY)
|
||||
this.yCur.triggerHandler('click');else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-min-ten-btn'))
|
||||
{t=this.dH||this.dDoM||this.dMo;if(t)
|
||||
t.AnyTime_clickCurrent();else if(this.dY)
|
||||
this.yCur.triggerHandler('click');else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-min-one-btn'))
|
||||
this.dM.AnyTime_clickCurrent();else if(this.fBtn.hasClass('AnyTime-sec-ten-btn'))
|
||||
{if(this.dM)
|
||||
t=this.dM.find('.AnyTime-mins-ones');else
|
||||
t=this.dH||this.dDoM||this.dMo;if(t)
|
||||
t.AnyTime_clickCurrent();else if(this.dY)
|
||||
this.yCur.triggerHandler('click');else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-sec-one-btn'))
|
||||
this.dS.AnyTime_clickCurrent();else if(this.fBtn.hasClass('AnyTime-off-btn'))
|
||||
{if(this.dS)
|
||||
t=this.dS.find('.AnyTime-secs-ones');else if(this.dM)
|
||||
t=this.dM.find('.AnyTime-mins-ones');else
|
||||
t=this.dH||this.dDoM||this.dMo;if(t)
|
||||
t.AnyTime_clickCurrent();else if(this.dY)
|
||||
this.yCur.triggerHandler('click');else if(key==9)
|
||||
{this.denyTab=false;return;}}}
|
||||
else if((key==34)||(key==9))
|
||||
{if(this.fBtn.hasClass('AnyTime-mil-btn'))
|
||||
this.yDiv.find('.AnyTime-cent-btn.AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-cent-btn'))
|
||||
this.yDiv.find('.AnyTime-dec-btn.AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-dec-btn'))
|
||||
this.yDiv.find('.AnyTime-yr-btn.AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-yr-btn'))
|
||||
{t=this.yDiv.find('.AnyTime-era-btn.AnyTime-cur-btn');if(t.length)
|
||||
t.triggerHandler('click');else if(key==9)
|
||||
this.dismissYDiv(event);}
|
||||
else if(this.fBtn.hasClass('AnyTime-era-btn'))
|
||||
{if(key==9)
|
||||
this.dismissYDiv(event);}
|
||||
else if(this.fBtn.hasClass('AnyTime-off-off-btn'))
|
||||
{if(key==9)
|
||||
this.dismissODiv(event);}
|
||||
else if(this.fBtn.parents('.AnyTime-yrs').length)
|
||||
{t=this.dDoM||this.dMo||this.dH||this.dM||this.dS||this.dO;if(t)
|
||||
t.AnyTime_clickCurrent();else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-mon-btn'))
|
||||
{t=this.dDoM||this.dH||this.dM||this.dS||this.dO;if(t)
|
||||
t.AnyTime_clickCurrent();else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
{if(key==9)
|
||||
{t=this.dH||this.dM||this.dS||this.dO;if(t)
|
||||
t.AnyTime_clickCurrent();else
|
||||
{this.denyTab=false;return;}}
|
||||
else
|
||||
{t=new Date(this.time.getTime());if(event.shiftKey)
|
||||
t.setFullYear(t.getFullYear()+1);else
|
||||
{mo=t.getMonth()+1;if(t.getDate()>__daysIn[mo])
|
||||
t.setDate(__daysIn[mo])
|
||||
t.setMonth(mo);}
|
||||
this.keyDateChange(t);}}
|
||||
else if(this.fBtn.hasClass('AnyTime-hr-btn'))
|
||||
{t=this.dM||this.dS||this.dO;if(t)
|
||||
t.AnyTime_clickCurrent();else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-min-ten-btn'))
|
||||
this.dM.find('.AnyTime-mins-ones .AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-min-one-btn'))
|
||||
{t=this.dS||this.dO;if(t)
|
||||
t.AnyTime_clickCurrent();else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-sec-ten-btn'))
|
||||
this.dS.find('.AnyTime-secs-ones .AnyTime-cur-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-sec-one-btn'))
|
||||
{if(this.dO)
|
||||
this.dO.AnyTime_clickCurrent();else if(key==9)
|
||||
{this.denyTab=false;return;}}
|
||||
else if(this.fBtn.hasClass('AnyTime-off-btn'))
|
||||
{if(key==9)
|
||||
{this.denyTab=false;return;}}}
|
||||
else if(key==35)
|
||||
{if(this.fBtn.hasClass('AnyTime-mil-btn')||this.fBtn.hasClass('AnyTime-cent-btn')||this.fBtn.hasClass('AnyTime-dec-btn')||this.fBtn.hasClass('AnyTime-yr-btn')||this.fBtn.hasClass('AnyTime-era-btn'))
|
||||
{t=this.yDiv.find('.AnyTime-ce-btn');if(!t.length)
|
||||
t=this.yDiv.find('.AnyTime-yr9-btn');t.triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
{t=new Date(this.time.getTime());t.setDate(1);t.setMonth(t.getMonth()+1);t.setDate(t.getDate()-1);if(event.ctrlKey)
|
||||
t.setMonth(11);this.keyDateChange(t);}
|
||||
else if(this.dS)
|
||||
this.dS.find('.AnyTime-sec9-btn').triggerHandler('click');else if(this.dM)
|
||||
this.dM.find('.AnyTime-min9-btn').triggerHandler('click');else if(this.dH)
|
||||
this.dH.find('.AnyTime-hr23-btn').triggerHandler('click');else if(this.dDoM)
|
||||
this.dDoM.find('.AnyTime-dom-btn-filled:last').triggerHandler('click');else if(this.dMo)
|
||||
this.dMo.find('.AnyTime-mon12-btn').triggerHandler('click');else if(this.dY)
|
||||
this.yAhead.triggerHandler('click');}
|
||||
else if(key==36)
|
||||
{if(this.fBtn.hasClass('AnyTime-mil-btn')||this.fBtn.hasClass('AnyTime-cent-btn')||this.fBtn.hasClass('AnyTime-dec-btn')||this.fBtn.hasClass('AnyTime-yr-btn')||this.fBtn.hasClass('AnyTime-era-btn'))
|
||||
{this.yDiv.find('.AnyTime-mil0-btn').triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
{t=new Date(this.time.getTime());t.setDate(1);if(event.ctrlKey)
|
||||
t.setMonth(0);this.keyDateChange(t);}
|
||||
else if(this.dY)
|
||||
this.yCur.triggerHandler('click');else if(this.dMo)
|
||||
this.dMo.find('.AnyTime-mon1-btn').triggerHandler('click');else if(this.dDoM)
|
||||
this.dDoM.find('.AnyTime-dom-btn-filled:first').triggerHandler('click');else if(this.dH)
|
||||
this.dH.find('.AnyTime-hr0-btn').triggerHandler('click');else if(this.dM)
|
||||
this.dM.find('.AnyTime-min00-btn').triggerHandler('click');else if(this.dS)
|
||||
this.dS.find('.AnyTime-sec00-btn').triggerHandler('click');}
|
||||
else if(key==37)
|
||||
{if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
this.keyDateChange(new Date(this.time.getTime()-__oneDay));else
|
||||
this.keyBack();}
|
||||
else if(key==38)
|
||||
{if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
this.keyDateChange(new Date(this.time.getTime()-(7*__oneDay)));else
|
||||
this.keyBack();}
|
||||
else if(key==39)
|
||||
{if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
this.keyDateChange(new Date(this.time.getTime()+__oneDay));else
|
||||
this.keyAhead();}
|
||||
else if(key==40)
|
||||
{if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
this.keyDateChange(new Date(this.time.getTime()+(7*__oneDay)));else
|
||||
this.keyAhead();}
|
||||
else if(((key==86)||(key==118))&&event.ctrlKey)
|
||||
{this.inp.val("").change();var _this=this;setTimeout(function(){_this.showPkr(null);},100);return;}
|
||||
else
|
||||
return;event.preventDefault();},keyAhead:function()
|
||||
{if(this.fBtn.hasClass('AnyTime-mil9-btn'))
|
||||
this.yDiv.find('.AnyTime-cent0-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-cent9-btn'))
|
||||
this.yDiv.find('.AnyTime-dec0-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-dec9-btn'))
|
||||
this.yDiv.find('.AnyTime-yr0-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-yr9-btn'))
|
||||
this.yDiv.find('.AnyTime-bce-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-sec9-btn'))
|
||||
{}
|
||||
else if(this.fBtn.hasClass('AnyTime-sec50-btn'))
|
||||
this.dS.find('.AnyTime-sec0-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-min9-btn'))
|
||||
{if(this.dS)
|
||||
this.dS.find('.AnyTime-sec00-btn').triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-min50-btn'))
|
||||
this.dM.find('.AnyTime-min0-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-hr23-btn'))
|
||||
{if(this.dM)
|
||||
this.dM.find('.AnyTime-min00-btn').triggerHandler('click');else if(this.dS)
|
||||
this.dS.find('.AnyTime-sec00-btn').triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-hr11-btn'))
|
||||
this.dH.find('.AnyTime-hr12-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-mon12-btn'))
|
||||
{if(this.dDoM)
|
||||
this.dDoM.AnyTime_clickCurrent();else if(this.dH)
|
||||
this.dH.find('.AnyTime-hr0-btn').triggerHandler('click');else if(this.dM)
|
||||
this.dM.find('.AnyTime-min00-btn').triggerHandler('click');else if(this.dS)
|
||||
this.dS.find('.AnyTime-sec00-btn').triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-yrs-ahead-btn'))
|
||||
{if(this.dMo)
|
||||
this.dMo.find('.AnyTime-mon1-btn').triggerHandler('click');else if(this.dH)
|
||||
this.dH.find('.AnyTime-hr0-btn').triggerHandler('click');else if(this.dM)
|
||||
this.dM.find('.AnyTime-min00-btn').triggerHandler('click');else if(this.dS)
|
||||
this.dS.find('.AnyTime-sec00-btn').triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-yr-cur-btn'))
|
||||
this.yNext.triggerHandler('click');else
|
||||
this.fBtn.next().triggerHandler('click');},keyBack:function()
|
||||
{if(this.fBtn.hasClass('AnyTime-cent0-btn'))
|
||||
this.yDiv.find('.AnyTime-mil9-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-dec0-btn'))
|
||||
this.yDiv.find('.AnyTime-cent9-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-yr0-btn'))
|
||||
this.yDiv.find('.AnyTime-dec9-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-bce-btn'))
|
||||
this.yDiv.find('.AnyTime-yr9-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-yr-cur-btn'))
|
||||
this.yPrior.triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-mon1-btn'))
|
||||
{if(this.dY)
|
||||
this.yCur.triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-hr0-btn'))
|
||||
{if(this.dDoM)
|
||||
this.dDoM.AnyTime_clickCurrent();else if(this.dMo)
|
||||
this.dMo.find('.AnyTime-mon12-btn').triggerHandler('click');else if(this.dY)
|
||||
this.yNext.triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-hr12-btn'))
|
||||
this.dH.find('.AnyTime-hr11-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-min00-btn'))
|
||||
{if(this.dH)
|
||||
this.dH.find('.AnyTime-hr23-btn').triggerHandler('click');else if(this.dDoM)
|
||||
this.dDoM.AnyTime_clickCurrent();else if(this.dMo)
|
||||
this.dMo.find('.AnyTime-mon12-btn').triggerHandler('click');else if(this.dY)
|
||||
this.yNext.triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-min0-btn'))
|
||||
this.dM.find('.AnyTime-min50-btn').triggerHandler('click');else if(this.fBtn.hasClass('AnyTime-sec00-btn'))
|
||||
{if(this.dM)
|
||||
this.dM.find('.AnyTime-min9-btn').triggerHandler('click');else if(this.dH)
|
||||
this.dH.find('.AnyTime-hr23-btn').triggerHandler('click');else if(this.dDoM)
|
||||
this.dDoM.AnyTime_clickCurrent();else if(this.dMo)
|
||||
this.dMo.find('.AnyTime-mon12-btn').triggerHandler('click');else if(this.dY)
|
||||
this.yNext.triggerHandler('click');}
|
||||
else if(this.fBtn.hasClass('AnyTime-sec0-btn'))
|
||||
this.dS.find('.AnyTime-sec50-btn').triggerHandler('click');else
|
||||
this.fBtn.prev().triggerHandler('click');},keyDateChange:function(newDate)
|
||||
{if(this.fBtn.hasClass('AnyTime-dom-btn'))
|
||||
{this.set(newDate);this.upd(null);this.setFocus(this.dDoM.find('.AnyTime-cur-btn'));}},makeCloak:function()
|
||||
{if(!this.cloak)
|
||||
{this.cloak=$('<div class="AnyTime-cloak" style="position:absolute" />');this.div.append(this.cloak);this.cloak.click(function(e)
|
||||
{if(_this.oDiv&&_this.oDiv.is(":visible"))
|
||||
_this.dismissODiv(e);else
|
||||
_this.dismissYDiv(e);});}
|
||||
else
|
||||
this.cloak.show();},newHour:function(event)
|
||||
{var h;var t;var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;if(!this.twelveHr)
|
||||
h=Number(elem.text());else
|
||||
{var str=elem.text();t=str.indexOf('a');if(t<0)
|
||||
{t=Number(str.substr(0,str.indexOf('p')));h=((t==12)?12:(t+12));}
|
||||
else
|
||||
{t=Number(str.substr(0,t));h=((t==12)?0:t);}}
|
||||
t=new Date(this.time.getTime());t.setHours(h);this.set(t);this.upd(elem);},newOffset:function(event)
|
||||
{if(event.target==this.oSel[0])
|
||||
this.askOffset(event);else
|
||||
{this.upd(this.oCur);}},newOPos:function(event)
|
||||
{var elem=$(event.target);this.offMin=elem[0].AnyTime_offMin;this.offSI=elem[0].AnyTime_offSI;var t=new Date(this.time.getTime());this.set(t);this.updODiv(elem);},newYear:function(event)
|
||||
{var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;var txt=elem.text();if((txt=='<')||(txt=='<'))
|
||||
this.askYear(event);else if((txt=='>')||(txt=='>'))
|
||||
this.askYear(event);else
|
||||
{var t=new Date(this.time.getTime());t.setFullYear(Number(txt));this.set(t);this.upd(this.yCur);}},newYPos:function(event)
|
||||
{var elem=$(event.target);if(elem.hasClass("AnyTime-out-btn"))
|
||||
return;var era=1;var year=this.time.getFullYear();if(year<0)
|
||||
{era=(-1);year=0-year;}
|
||||
year=AnyTime.pad(year,4);if(elem.hasClass('AnyTime-mil-btn'))
|
||||
year=elem.html()+year.substring(1,4);else if(elem.hasClass('AnyTime-cent-btn'))
|
||||
year=year.substring(0,1)+elem.html()+year.substring(2,4);else if(elem.hasClass('AnyTime-dec-btn'))
|
||||
year=year.substring(0,2)+elem.html()+year.substring(3,4);else
|
||||
year=year.substring(0,3)+elem.html();if(year=='0000')
|
||||
year=1;var t=new Date(this.time.getTime());t.setFullYear(era*year);this.set(t);this.updYDiv(elem);},onReady:function()
|
||||
{this.lostFocus=true;if(!this.pop)
|
||||
this.upd(null);else
|
||||
{if(this.div.parent()!=document.body)
|
||||
this.div.appendTo(document.body);}},pos:function(event)
|
||||
{if(this.pop)
|
||||
{var off=this.inp.offset();var bodyWidth=$(document.body).outerWidth(true);var pickerWidth=this.div.outerWidth(true);var left=off.left;if(left+pickerWidth>bodyWidth-20)
|
||||
left=bodyWidth-(pickerWidth+20);var top=off.top-this.div.outerHeight(true);if(top<0)
|
||||
top=off.top+this.inp.outerHeight(true);this.div.css({top:String(top)+'px',left:String(left<0?0:left)+'px'});}
|
||||
var wOff=this.div.offset();if(this.oDiv&&this.oDiv.is(":visible"))
|
||||
{var oOff=this.oLab.offset();if(this.div.css('position')=='absolute')
|
||||
{oOff.top-=wOff.top;oOff.left=oOff.left-wOff.left;wOff={top:0,left:0};}
|
||||
var oW=this.oDiv.AnyTime_width(true);var wW=this.div.AnyTime_width(true);if(oOff.left+oW>wOff.left+wW)
|
||||
{oOff.left=(wOff.left+wW)-oW;if(oOff.left<2)
|
||||
oOff.left=2;}
|
||||
var oH=this.oDiv.AnyTime_height(true);var wH=this.div.AnyTime_height(true);oOff.top+=this.oLab.AnyTime_height(true);if(oOff.top+oH>wOff.top+wH)
|
||||
oOff.top=oOff.top-oH;if(oOff.top<wOff.top)
|
||||
oOff.top=wOff.top;this.oDiv.css({top:oOff.top+'px',left:oOff.left+'px'});}
|
||||
else if(this.yDiv&&this.yDiv.is(":visible"))
|
||||
{var yOff=this.yLab.offset();if(this.div.css('position')=='absolute')
|
||||
{yOff.top-=wOff.top;yOff.left=yOff.left-wOff.left;wOff={top:0,left:0};}
|
||||
yOff.left+=((this.yLab.outerWidth(true)-this.yDiv.outerWidth(true))/2);this.yDiv.css({top:yOff.top+'px',left:yOff.left+'px'});}
|
||||
if(this.cloak)
|
||||
this.cloak.css({top:wOff.top+'px',left:wOff.left+'px',height:String(this.div.outerHeight(true)-2)+'px',width:String(this.div.outerWidth(!$.browser.safari)-2)+'px'});},set:function(newTime)
|
||||
{var t=newTime.getTime();if(this.earliest&&(t<this.earliest))
|
||||
this.time=new Date(this.earliest);else if(this.latest&&(t>this.latest))
|
||||
this.time=new Date(this.latest);else
|
||||
this.time=newTime;},showPkr:function(event)
|
||||
{try
|
||||
{this.time=this.conv.parse(this.inp.val());this.offMin=this.conv.getUtcParseOffsetCaptured();this.offSI=this.conv.getUtcParseOffsetSubIndex();}
|
||||
catch(e)
|
||||
{this.time=new Date();}
|
||||
this.set(this.time);this.upd(null);fBtn=null;var cb='.AnyTime-cur-btn:first';if(this.dDoM)
|
||||
fBtn=this.dDoM.find(cb);else if(this.yCur)
|
||||
fBtn=this.yCur;else if(this.dMo)
|
||||
fBtn=this.dMo.find(cb);else if(this.dH)
|
||||
fBtn=this.dH.find(cb);else if(this.dM)
|
||||
fBtn=this.dM.find(cb);else if(this.dS)
|
||||
fBtn=this.dS.find(cb);this.setFocus(fBtn);this.pos(event);if(this.pop&&__iframe)
|
||||
setTimeout(function()
|
||||
{var pos=_this.div.offset();__iframe.css({height:String(_this.div.outerHeight(true))+'px',left:String(pos.left)+'px',position:'absolute',top:String(pos.top)+'px',width:String(_this.div.outerWidth(true))+'px'});__iframe.show();},300);},upd:function(fBtn)
|
||||
{var cmpLo=new Date(this.time.getTime());cmpLo.setMonth(0,1);cmpLo.setHours(0,0,0,0);var cmpHi=new Date(this.time.getTime());cmpHi.setMonth(11,31);cmpHi.setHours(23,59,59,999);var current=this.time.getFullYear();if(this.earliest&&this.yPast)
|
||||
{cmpHi.setYear(current-2);if(cmpHi.getTime()<this.earliest)
|
||||
this.yPast.addClass('AnyTime-out-btn ui-state-disabled');else
|
||||
this.yPast.removeClass('AnyTime-out-btn ui-state-disabled');}
|
||||
if(this.yPrior)
|
||||
{this.yPrior.text(AnyTime.pad((current==1)?(-1):(current-1),4));if(this.earliest)
|
||||
{cmpHi.setYear(current-1);if(cmpHi.getTime()<this.earliest)
|
||||
this.yPrior.addClass('AnyTime-out-btn ui-state-disabled');else
|
||||
this.yPrior.removeClass('AnyTime-out-btn ui-state-disabled');}}
|
||||
if(this.yCur)
|
||||
this.yCur.text(AnyTime.pad(current,4));if(this.yNext)
|
||||
{this.yNext.text(AnyTime.pad((current==-1)?1:(current+1),4));if(this.latest)
|
||||
{cmpLo.setYear(current+1);if(cmpLo.getTime()>this.latest)
|
||||
this.yNext.addClass('AnyTime-out-btn ui-state-disabled');else
|
||||
this.yNext.removeClass('AnyTime-out-btn ui-state-disabled');}}
|
||||
if(this.latest&&this.yAhead)
|
||||
{cmpLo.setYear(current+2);if(cmpLo.getTime()>this.latest)
|
||||
this.yAhead.addClass('AnyTime-out-btn ui-state-disabled');else
|
||||
this.yAhead.removeClass('AnyTime-out-btn ui-state-disabled');}
|
||||
cmpLo.setFullYear(this.time.getFullYear());cmpHi.setFullYear(this.time.getFullYear());var i=0;current=this.time.getMonth();$('#'+this.id+' .AnyTime-mon-btn').each(function()
|
||||
{cmpLo.setMonth(i);cmpHi.setDate(1);cmpHi.setMonth(i+1);cmpHi.setDate(0);$(this).AnyTime_current(i==current,((!_this.earliest)||(cmpHi.getTime()>=_this.earliest))&&((!_this.latest)||(cmpLo.getTime()<=_this.latest)));i++;});cmpLo.setFullYear(this.time.getFullYear());cmpHi.setFullYear(this.time.getFullYear());cmpLo.setMonth(this.time.getMonth());cmpHi.setMonth(this.time.getMonth(),1);current=this.time.getDate();var currentMonth=this.time.getMonth();var dow1=cmpLo.getDay();if(this.fDOW>dow1)
|
||||
dow1+=7;var wom=0,dow=0;$('#'+this.id+' .AnyTime-wk').each(function()
|
||||
{dow=_this.fDOW;$(this).children().each(function()
|
||||
{if(dow-_this.fDOW<7)
|
||||
{var td=$(this);if(((wom==0)&&(dow<dow1))||(cmpLo.getMonth()!=currentMonth))
|
||||
{td.html(' ');td.removeClass('AnyTime-dom-btn-filled AnyTime-cur-btn ui-state-default ui-state-highlight');td.addClass('AnyTime-dom-btn-empty');if(wom)
|
||||
{if((cmpLo.getDate()==1)&&(dow!=0))
|
||||
td.addClass('AnyTime-dom-btn-empty-after-filled');else
|
||||
td.removeClass('AnyTime-dom-btn-empty-after-filled');if(cmpLo.getDate()<=7)
|
||||
td.addClass('AnyTime-dom-btn-empty-below-filled');else
|
||||
td.removeClass('AnyTime-dom-btn-empty-below-filled');cmpLo.setDate(cmpLo.getDate()+1);cmpHi.setDate(cmpHi.getDate()+1);}
|
||||
else
|
||||
{td.addClass('AnyTime-dom-btn-empty-above-filled');if(dow==dow1-1)
|
||||
td.addClass('AnyTime-dom-btn-empty-before-filled');else
|
||||
td.removeClass('AnyTime-dom-btn-empty-before-filled');}
|
||||
td.addClass('ui-state-default ui-state-disabled');}
|
||||
else
|
||||
{i=cmpLo.getDate();td.text(i);td.removeClass('AnyTime-dom-btn-empty AnyTime-dom-btn-empty-above-filled AnyTime-dom-btn-empty-before-filled '+'AnyTime-dom-btn-empty-after-filled AnyTime-dom-btn-empty-below-filled '+'ui-state-default ui-state-disabled');td.addClass('AnyTime-dom-btn-filled ui-state-default');td.AnyTime_current(i==current,((!_this.earliest)||(cmpHi.getTime()>=_this.earliest))&&((!_this.latest)||(cmpLo.getTime()<=_this.latest)));cmpLo.setDate(i+1);cmpHi.setDate(i+1);}}
|
||||
dow++;});wom++;});cmpLo.setFullYear(this.time.getFullYear());cmpHi.setFullYear(this.time.getFullYear());cmpLo.setMonth(this.time.getMonth(),this.time.getDate());cmpHi.setMonth(this.time.getMonth(),this.time.getDate());var not12=!this.twelveHr;var hr=this.time.getHours();$('#'+this.id+' .AnyTime-hr-btn').each(function()
|
||||
{var html=this.innerHTML;var i;if(not12)
|
||||
i=Number(html);else
|
||||
{i=Number(html.substring(0,html.length-2));if(html.charAt(html.length-2)=='a')
|
||||
{if(i==12)
|
||||
i=0;}
|
||||
else if(i<12)
|
||||
i+=12;}
|
||||
cmpLo.setHours(i);cmpHi.setHours(i);$(this).AnyTime_current(hr==i,((!_this.earliest)||(cmpHi.getTime()>=_this.earliest))&&((!_this.latest)||(cmpLo.getTime()<=_this.latest)));if(i<23)
|
||||
cmpLo.setHours(cmpLo.getHours()+1);});cmpLo.setHours(this.time.getHours());cmpHi.setHours(this.time.getHours());var units=this.time.getMinutes();var tens=String(Math.floor(units/10));var ones=String(units%10);$('#'+this.id+' .AnyTime-min-ten-btn:not(.AnyTime-min-ten-btn-empty)').each(function()
|
||||
{$(this).AnyTime_current(this.innerHTML==tens,((!_this.earliest)||(cmpHi.getTime()>=_this.earliest))&&((!_this.latest)||(cmpLo.getTime()<=_this.latest)));if(cmpLo.getMinutes()<50)
|
||||
{cmpLo.setMinutes(cmpLo.getMinutes()+10);cmpHi.setMinutes(cmpHi.getMinutes()+10);}});cmpLo.setMinutes(Math.floor(this.time.getMinutes()/10)*10);cmpHi.setMinutes(Math.floor(this.time.getMinutes()/10)*10);$('#'+this.id+' .AnyTime-min-one-btn:not(.AnyTime-min-one-btn-empty)').each(function()
|
||||
{$(this).AnyTime_current(this.innerHTML==ones,((!_this.earliest)||(cmpHi.getTime()>=_this.earliest))&&((!_this.latest)||(cmpLo.getTime()<=_this.latest)));cmpLo.setMinutes(cmpLo.getMinutes()+1);cmpHi.setMinutes(cmpHi.getMinutes()+1);});cmpLo.setMinutes(this.time.getMinutes());cmpHi.setMinutes(this.time.getMinutes());units=this.time.getSeconds();tens=String(Math.floor(units/10));ones=String(units%10);$('#'+this.id+' .AnyTime-sec-ten-btn:not(.AnyTime-sec-ten-btn-empty)').each(function()
|
||||
{$(this).AnyTime_current(this.innerHTML==tens,((!_this.earliest)||(cmpHi.getTime()>=_this.earliest))&&((!_this.latest)||(cmpLo.getTime()<=_this.latest)));if(cmpLo.getSeconds()<50)
|
||||
{cmpLo.setSeconds(cmpLo.getSeconds()+10);cmpHi.setSeconds(cmpHi.getSeconds()+10);}});cmpLo.setSeconds(Math.floor(this.time.getSeconds()/10)*10);cmpHi.setSeconds(Math.floor(this.time.getSeconds()/10)*10);$('#'+this.id+' .AnyTime-sec-one-btn:not(.AnyTime-sec-one-btn-empty)').each(function()
|
||||
{$(this).AnyTime_current(this.innerHTML==ones,((!_this.earliest)||(cmpHi.getTime()>=_this.earliest))&&((!_this.latest)||(cmpLo.getTime()<=_this.latest)));cmpLo.setSeconds(cmpLo.getSeconds()+1);cmpHi.setSeconds(cmpHi.getSeconds()+1);});if(this.oConv)
|
||||
{this.oConv.setUtcFormatOffsetAlleged(this.offMin);this.oConv.setUtcFormatOffsetSubIndex(this.offSI);var tzs=this.oConv.format(this.time);this.oCur.html(tzs);}
|
||||
if(fBtn)
|
||||
this.setFocus(fBtn);this.conv.setUtcFormatOffsetAlleged(this.offMin);this.conv.setUtcFormatOffsetSubIndex(this.offSI);this.inp.val(this.conv.format(this.time)).change();this.div.show();var d,totH=0,totW=0,dYW=0,dMoW=0,dDoMW=0;if(this.dY)
|
||||
{totW=dYW=this.dY.outerWidth(true);totH=this.yLab.AnyTime_height(true)+this.dY.AnyTime_height(true);}
|
||||
if(this.dMo)
|
||||
{dMoW=this.dMo.outerWidth(true);if(dMoW>totW)
|
||||
totW=dMoW;totH+=this.hMo.AnyTime_height(true)+this.dMo.AnyTime_height(true);}
|
||||
if(this.dDoM)
|
||||
{dDoMW=this.dDoM.outerWidth(true);if(dDoMW>totW)
|
||||
totW=dDoMW;if(__msie6||__msie7)
|
||||
{if(dMoW>dDoMW)
|
||||
this.dDoM.css('width',String(dMoW)+'px');else if(dYW>dDoMW)
|
||||
this.dDoM.css('width',String(dYW)+'px');}
|
||||
totH+=this.hDoM.AnyTime_height(true)+this.dDoM.AnyTime_height(true);}
|
||||
if(this.dD)
|
||||
{this.dD.css({width:String(totW)+'px',height:String(totH)+'px'});totW+=this.dMinW;totH+=this.dMinH;}
|
||||
var w=0,h=0,timeH=0,timeW=0;if(this.dH)
|
||||
{w=this.dH.outerWidth(true);timeW+=w+1;h=this.dH.AnyTime_height(true);if(h>timeH)
|
||||
timeH=h;}
|
||||
if(this.dM)
|
||||
{w=this.dM.outerWidth(true);timeW+=w+1;h=this.dM.AnyTime_height(true);if(h>timeH)
|
||||
timeH=h;}
|
||||
if(this.dS)
|
||||
{w=this.dS.outerWidth(true);timeW+=w+1;h=this.dS.AnyTime_height(true);if(h>timeH)
|
||||
timeH=h;}
|
||||
if(this.dO)
|
||||
{w=this.oMinW;if(timeW<w+1)
|
||||
timeW=w+1;timeH+=this.dO.AnyTime_height(true);}
|
||||
if(this.dT)
|
||||
{this.dT.css({width:String(timeW)+'px',height:String(timeH)+'px'});timeW+=this.tMinW+1;timeH+=this.tMinH;totW+=timeW;if(timeH>totH)
|
||||
totH=timeH;if(this.dO)
|
||||
{var dOW=this.dT.width()-(this.oMinW+1);this.dO.css({width:String(dOW)+"px"});this.oCur.css({width:String(dOW-(this.oListMinW+4))+"px"});}}
|
||||
this.dB.css({height:String(totH)+'px',width:String(totW)+'px'});totH+=this.bMinH;totW+=this.bMinW;totH+=this.hTitle.AnyTime_height(true)+this.wMinH;totW+=this.wMinW;if(this.hTitle.outerWidth(true)>totW)
|
||||
totW=this.hTitle.outerWidth(true);this.div.css({height:String(totH)+'px',width:String(totW)+'px'});if(!this.pop)
|
||||
this.ajax();},updODiv:function(fBtn)
|
||||
{var cur,matched=false,def=null;this.oDiv.find('.AnyTime-off-off-btn').each(function()
|
||||
{if(this.AnyTime_offMin==_this.offMin)
|
||||
{if(this.AnyTime_offSI==_this.offSI)
|
||||
$(this).AnyTime_current(matched=true,true);else
|
||||
{$(this).AnyTime_current(false,true);if(def==null)
|
||||
def=$(this);}}
|
||||
else
|
||||
$(this).AnyTime_current(false,true);});if((!matched)&&(def!=null))
|
||||
def.AnyTime_current(true,true);this.conv.setUtcFormatOffsetAlleged(this.offMin);this.conv.setUtcFormatOffsetSubIndex(this.offSI);this.inp.val(this.conv.format(this.time)).change();this.upd(fBtn);},updYDiv:function(fBtn)
|
||||
{var i,legal;var era=1;var yearValue=this.time.getFullYear();if(yearValue<0)
|
||||
{era=(-1);yearValue=0-yearValue;}
|
||||
yearValue=AnyTime.pad(yearValue,4);var eY=_this.earliest&&new Date(_this.earliest).getFullYear();var lY=_this.latest&&new Date(_this.latest).getFullYear();i=0;this.yDiv.find('.AnyTime-mil-btn').each(function()
|
||||
{legal=(((!_this.earliest)||(era*(i+(era<0?0:999))>=eY))&&((!_this.latest)||(era*(i+(era>0?0:999))<=lY)));$(this).AnyTime_current(this.innerHTML==yearValue.substring(0,1),legal);i+=1000;});i=(Math.floor(yearValue/1000)*1000);this.yDiv.find('.AnyTime-cent-btn').each(function()
|
||||
{legal=(((!_this.earliest)||(era*(i+(era<0?0:99))>=eY))&&((!_this.latest)||(era*(i+(era>0?0:99))<=lY)));$(this).AnyTime_current(this.innerHTML==yearValue.substring(1,2),legal);i+=100;});i=(Math.floor(yearValue/100)*100);this.yDiv.find('.AnyTime-dec-btn').each(function()
|
||||
{legal=(((!_this.earliest)||(era*(i+(era<0?0:9))>=eY))&&((!_this.latest)||(era*(i+(era>0?0:9))<=lY)));$(this).AnyTime_current(this.innerHTML==yearValue.substring(2,3),legal);i+=10;});i=(Math.floor(yearValue/10)*10);this.yDiv.find('.AnyTime-yr-btn').each(function()
|
||||
{legal=(((!_this.earliest)||(era*i>=eY))&&((!_this.latest)||(era*i<=lY)));$(this).AnyTime_current(this.innerHTML==yearValue.substring(3),legal);i+=1;});this.yDiv.find('.AnyTime-bce-btn').each(function()
|
||||
{$(this).AnyTime_current(era<0,(!_this.earliest)||(_this.earliest<0));});this.yDiv.find('.AnyTime-ce-btn').each(function()
|
||||
{$(this).AnyTime_current(era>0,(!_this.latest)||(_this.latest>0));});this.conv.setUtcFormatOffsetAlleged(this.offMin);this.conv.setUtcFormatOffsetSubIndex(this.offSI);this.inp.val(this.conv.format(this.time)).change();this.upd(fBtn);}};__pickers[id].initialize(id);}})(jQuery);
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
|
||||
/*
|
||||
* Superfish v1.4.8 - jQuery menu widget
|
||||
* Copyright (c) 2008 Joel Birch
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
* CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
|
||||
*/
|
||||
|
||||
;(function($){
|
||||
$.fn.superfish = function(op){
|
||||
|
||||
var sf = $.fn.superfish,
|
||||
c = sf.c,
|
||||
$arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')),
|
||||
over = function(){
|
||||
var $$ = $(this), menu = getMenu($$);
|
||||
clearTimeout(menu.sfTimer);
|
||||
$$.showSuperfishUl().siblings().hideSuperfishUl();
|
||||
},
|
||||
out = function(){
|
||||
var $$ = $(this), menu = getMenu($$), o = sf.op;
|
||||
clearTimeout(menu.sfTimer);
|
||||
menu.sfTimer=setTimeout(function(){
|
||||
o.retainPath=($.inArray($$[0],o.$path)>-1);
|
||||
$$.hideSuperfishUl();
|
||||
if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
|
||||
},o.delay);
|
||||
},
|
||||
getMenu = function($menu){
|
||||
var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
|
||||
sf.op = sf.o[menu.serial];
|
||||
return menu;
|
||||
},
|
||||
addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
|
||||
|
||||
return this.each(function() {
|
||||
var s = this.serial = sf.o.length;
|
||||
var o = $.extend({},sf.defaults,op);
|
||||
o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
|
||||
$(this).addClass([o.hoverClass,c.bcClass].join(' '))
|
||||
.filter('li:has(ul)').removeClass(o.pathClass);
|
||||
});
|
||||
sf.o[s] = sf.op = o;
|
||||
|
||||
$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
|
||||
if (o.autoArrows) addArrow( $('>a:first-child',this) );
|
||||
})
|
||||
.not('.'+c.bcClass)
|
||||
.hideSuperfishUl();
|
||||
|
||||
var $a = $('a',this);
|
||||
$a.each(function(i){
|
||||
var $li = $a.eq(i).parents('li');
|
||||
$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
|
||||
});
|
||||
o.onInit.call(this);
|
||||
|
||||
}).each(function() {
|
||||
var menuClasses = [c.menuClass];
|
||||
if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
|
||||
$(this).addClass(menuClasses.join(' '));
|
||||
});
|
||||
};
|
||||
|
||||
var sf = $.fn.superfish;
|
||||
sf.o = [];
|
||||
sf.op = {};
|
||||
sf.IE7fix = function(){
|
||||
var o = sf.op;
|
||||
if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
|
||||
this.toggleClass(sf.c.shadowClass+'-off');
|
||||
};
|
||||
sf.c = {
|
||||
bcClass : 'sf-breadcrumb',
|
||||
menuClass : 'sf-js-enabled',
|
||||
anchorClass : 'sf-with-ul',
|
||||
arrowClass : 'sf-sub-indicator',
|
||||
shadowClass : 'sf-shadow'
|
||||
};
|
||||
sf.defaults = {
|
||||
hoverClass : 'sfHover',
|
||||
pathClass : 'overideThisToUse',
|
||||
pathLevels : 1,
|
||||
delay : 800,
|
||||
animation : {opacity:'show'},
|
||||
speed : 'normal',
|
||||
autoArrows : true,
|
||||
dropShadows : true,
|
||||
disableHI : false, // true disables hoverIntent detection
|
||||
onInit : function(){}, // callback functions
|
||||
onBeforeShow: function(){},
|
||||
onShow : function(){},
|
||||
onHide : function(){}
|
||||
};
|
||||
$.fn.extend({
|
||||
hideSuperfishUl : function(){
|
||||
var o = sf.op,
|
||||
not = (o.retainPath===true) ? o.$path : '';
|
||||
o.retainPath = false;
|
||||
var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
|
||||
.find('>ul').hide().css('visibility','hidden');
|
||||
o.onHide.call($ul);
|
||||
return this;
|
||||
},
|
||||
showSuperfishUl : function(){
|
||||
var o = sf.op,
|
||||
sh = sf.c.shadowClass+'-off',
|
||||
$ul = this.addClass(o.hoverClass)
|
||||
.find('>ul:hidden').css('visibility','visible');
|
||||
sf.IE7fix.call($ul);
|
||||
o.onBeforeShow.call($ul);
|
||||
$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
||||
|
||||
/*
|
||||
* Supersubs v0.2b - jQuery plugin
|
||||
* Copyright (c) 2008 Joel Birch
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
*
|
||||
* This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
|
||||
* their longest list item children. If you use this, please expect bugs and report them
|
||||
* to the jQuery Google Group with the word 'Superfish' in the subject line.
|
||||
*
|
||||
*/
|
||||
|
||||
;(function($){ // $ will refer to jQuery within this closure
|
||||
|
||||
$.fn.supersubs = function(options){
|
||||
var opts = $.extend({}, $.fn.supersubs.defaults, options);
|
||||
// return original object to support chaining
|
||||
return this.each(function() {
|
||||
// cache selections
|
||||
var $$ = $(this);
|
||||
// support metadata
|
||||
var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
|
||||
// get the font size of menu.
|
||||
// .css('fontSize') returns various results cross-browser, so measure an em dash instead
|
||||
var fontsize = $('<li id="menu-fontsize">—</li>').css({
|
||||
'padding' : 0,
|
||||
'position' : 'absolute',
|
||||
'top' : '-999em',
|
||||
'width' : 'auto'
|
||||
}).appendTo($$).width(); //clientWidth is faster, but was incorrect here
|
||||
// remove em dash
|
||||
$('#menu-fontsize').remove();
|
||||
// cache all ul elements
|
||||
$ULs = $$.find('ul');
|
||||
// loop through each ul in menu
|
||||
$ULs.each(function(i) {
|
||||
// cache this ul
|
||||
var $ul = $ULs.eq(i);
|
||||
// get all (li) children of this ul
|
||||
var $LIs = $ul.children();
|
||||
// get all anchor grand-children
|
||||
var $As = $LIs.children('a');
|
||||
// force content to one line and save current float property
|
||||
var liFloat = $LIs.css('white-space','nowrap').css('float');
|
||||
// remove width restrictions and floats so elements remain vertically stacked
|
||||
var emWidth = $ul.add($LIs).add($As).css({
|
||||
'float' : 'none',
|
||||
'width' : 'auto'
|
||||
})
|
||||
// this ul will now be shrink-wrapped to longest li due to position:absolute
|
||||
// so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
|
||||
.end().end()[0].clientWidth / fontsize;
|
||||
// add more width to ensure lines don't turn over at certain sizes in various browsers
|
||||
emWidth += o.extraWidth;
|
||||
// restrict to at least minWidth and at most maxWidth
|
||||
if (emWidth > o.maxWidth) { emWidth = o.maxWidth; }
|
||||
else if (emWidth < o.minWidth) { emWidth = o.minWidth; }
|
||||
emWidth += 'em';
|
||||
// set ul to width in ems
|
||||
$ul.css('width',emWidth);
|
||||
// restore li floats to avoid IE bugs
|
||||
// set li width to full width of this ul
|
||||
// revert white-space to normal
|
||||
$LIs.css({
|
||||
'float' : liFloat,
|
||||
'width' : '100%',
|
||||
'white-space' : 'normal'
|
||||
})
|
||||
// update offset position of descendant ul to reflect new width of parent
|
||||
.each(function(){
|
||||
var $childUl = $('>ul',this);
|
||||
var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
|
||||
$childUl.css(offsetDirection,emWidth);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
// expose defaults
|
||||
$.fn.supersubs.defaults = {
|
||||
minWidth : 9, // requires em unit.
|
||||
maxWidth : 25, // requires em unit.
|
||||
extraWidth : 0 // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
|
||||
};
|
||||
|
||||
})(jQuery); // plugin code ends
|
||||
|
||||
/**
|
||||
* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
|
||||
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
|
||||
*
|
||||
* @param f onMouseOver function || An object with configuration options
|
||||
* @param g onMouseOut function || Nothing (use configuration options object)
|
||||
* @author Brian Cherne brian(at)cherne(dot)net
|
||||
*/
|
||||
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover)}})(jQuery);
|
||||
@@ -0,0 +1,109 @@
|
||||
function popup(url) {
|
||||
newwindow=window.open(url,'name','height=400,width=600');
|
||||
if (window.focus) newwindow.focus();
|
||||
return false;
|
||||
}
|
||||
function collapse(id) { jQuery('#'+id).slideToggle(); }
|
||||
function fade(id,value) { if(value>0) jQuery('#'+id).hide().fadeIn('slow'); else jQuery('#'+id).show().fadeOut('slow'); }
|
||||
function ajax(u,s,t) {
|
||||
query = '';
|
||||
if (typeof s == "string") {
|
||||
d = jQuery(s).serialize();
|
||||
if(d){ query = d; }
|
||||
} else {
|
||||
pcs = [];
|
||||
if (s != null && s != undefined) for(i=0; i<s.length; i++) {
|
||||
q = jQuery("[name="+s[i]+"]").serialize();
|
||||
if(q){pcs.push(q);}
|
||||
}
|
||||
if (pcs.length>0){query = pcs.join("&");}
|
||||
}
|
||||
jQuery.ajax({type: "POST", url: u, data: query, success: function(msg) { if(t) { if(t==':eval') eval(msg); else jQuery("#" + t).html(msg); } } });
|
||||
}
|
||||
|
||||
String.prototype.reverse = function () { return this.split('').reverse().join('');};
|
||||
function web2py_ajax_fields(target) {
|
||||
jQuery('input.integer', target).keyup(function(){this.value=this.value.reverse().replace(/[^0-9\-]|\-(?=.)/g,'').reverse();});
|
||||
jQuery('input.double,input.decimal', target).keyup(function(){this.value=this.value.reverse().replace(/[^0-9\-\.,]|[\-](?=.)|[\.,](?=[0-9]*[\.,])/g,'').reverse();});
|
||||
var confirm_message = (typeof w2p_ajax_confirm_message != 'undefined') ? w2p_ajax_confirm_message : "Are you sure you want to delete this object?";
|
||||
jQuery("input[type='checkbox'].delete", target).click(function(){ if(this.checked) if(!confirm(confirm_message)) this.checked=false; });
|
||||
var date_format = (typeof w2p_ajax_date_format != 'undefined') ? w2p_ajax_date_format : "%Y-%m-%d";
|
||||
var datetime_format = (typeof w2p_ajax_datetime_format != 'undefined') ? w2p_ajax_datetime_format : "%Y-%m-%d %H:%M:%S";
|
||||
try {
|
||||
jQuery("input.datetime", target).AnyTime_noPicker().AnyTime_picker({
|
||||
format: datetime_format.replace('%M','%i')});
|
||||
jQuery("input.date", target).AnyTime_noPicker().AnyTime_picker({
|
||||
format: date_format.replace('%M','%i')});
|
||||
jQuery("input.time", target).AnyTime_noPicker().AnyTime_picker({
|
||||
format: "%H:%i:%S"});
|
||||
} catch(e) {};
|
||||
};
|
||||
function web2py_ajax_init(target) {
|
||||
jQuery('.hidden', target).hide();
|
||||
jQuery('.error', target).hide().slideDown('slow');
|
||||
jQuery('.flash', target).click(function(e) { jQuery(this).fadeOut('slow'); e.preventDefault(); });
|
||||
// jQuery('input[type=submit]').click(function(){var t=jQuery(this);t.hide();t.after('<input class="submit_disabled" disabled="disabled" type="submit" name="'+t.attr("name")+'_dummy" value="'+t.val()+'">')});
|
||||
web2py_ajax_fields(target);
|
||||
};
|
||||
|
||||
jQuery(function() {
|
||||
var flash = jQuery('.flash');
|
||||
flash.hide();
|
||||
if(flash.html()) flash.slideDown();
|
||||
web2py_ajax_init(document);
|
||||
});
|
||||
function web2py_trap_form(action,target) {
|
||||
jQuery('#'+target+' form').each(function(i){
|
||||
var form=jQuery(this);
|
||||
if(!form.hasClass('no_trap'))
|
||||
form.submit(function(e){
|
||||
jQuery('.flash').hide().html('');
|
||||
web2py_ajax_page('post',action,form.serialize(),target);
|
||||
e.preventDefault();
|
||||
});
|
||||
});
|
||||
}
|
||||
function web2py_trap_link(target) {
|
||||
jQuery('#'+target+' a.w2p_trap').each(function(i){
|
||||
var link=jQuery(this);
|
||||
link.click(function(e) {
|
||||
jQuery('.flash').hide().html('');
|
||||
web2py_ajax_page('get',link.attr('href'),[],target);
|
||||
e.preventDefault();
|
||||
});
|
||||
});
|
||||
}
|
||||
function web2py_ajax_page(method,action,data,target) {
|
||||
jQuery.ajax({'type':method,'url':action,'data':data,
|
||||
'beforeSend':function(xhr) {
|
||||
xhr.setRequestHeader('web2py-component-location',document.location);
|
||||
xhr.setRequestHeader('web2py-component-element',target);},
|
||||
'complete':function(xhr,text){
|
||||
var html=xhr.responseText;
|
||||
var content=xhr.getResponseHeader('web2py-component-content');
|
||||
var command=xhr.getResponseHeader('web2py-component-command');
|
||||
var flash=xhr.getResponseHeader('web2py-component-flash');
|
||||
var t = jQuery('#'+target);
|
||||
if(content=='prepend') t.prepend(html);
|
||||
else if(content=='append') t.append(html);
|
||||
else if(content!='hide') t.html(html);
|
||||
web2py_trap_form(action,target);
|
||||
web2py_trap_link(target);
|
||||
web2py_ajax_init('#'+target);
|
||||
if(command) eval(command);
|
||||
if(flash) jQuery('.flash').html(flash).slideDown();
|
||||
}
|
||||
});
|
||||
}
|
||||
function web2py_component(action,target) {
|
||||
jQuery(function(){ web2py_ajax_page('get',action,null,target); });
|
||||
}
|
||||
function web2py_comet(url,onmessage,onopen,onclose) {
|
||||
if ("WebSocket" in window) {
|
||||
var ws = new WebSocket(url);
|
||||
ws.onopen = onopen?onopen:(function(){});
|
||||
ws.onmessage = onmessage;
|
||||
ws.onclose = onclose?onclose:(function(){});
|
||||
return true; // supported
|
||||
} else return false; // not supported
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow: /welcome/default/user
|
||||
@@ -0,0 +1,233 @@
|
||||
{{extend 'layout.html'}}
|
||||
<script><!--
|
||||
jQuery(document).ready(function(){
|
||||
jQuery("table.sortable tbody tr").mouseover( function() {
|
||||
jQuery(this).addClass("highlight"); }).mouseout( function() {
|
||||
jQuery(this).removeClass("highlight"); });
|
||||
jQuery('table.sortable tbody tr:odd').addClass('odd');
|
||||
jQuery('table.sortable tbody tr:even').addClass('even');
|
||||
});
|
||||
//--></script>
|
||||
|
||||
{{if request.function=='index':}}
|
||||
<h1>{{=T("Available databases and tables")}}</h1>
|
||||
{{if not databases:}}{{=T("No databases in this application")}}{{pass}}
|
||||
{{for db in sorted(databases):}}
|
||||
{{for table in databases[db].tables:}}
|
||||
{{qry='%s.%s.id>0'%(db,table)}}
|
||||
{{tbl=databases[db][table]}}
|
||||
{{if hasattr(tbl,'_primarykey'):}}
|
||||
{{if tbl._primarykey:}}
|
||||
{{firstkey=tbl[tbl._primarykey[0]]}}
|
||||
{{if firstkey.type in ['string','text']:}}
|
||||
{{qry='%s.%s.%s!=""'%(db,table,firstkey.name)}}
|
||||
{{else:}}
|
||||
{{qry='%s.%s.%s>0'%(db,table,firstkey.name)}}
|
||||
{{pass}}
|
||||
{{else:}}
|
||||
{{qry=''}}
|
||||
{{pass}}
|
||||
{{pass}}
|
||||
<h2>{{=A("%s.%s" % (db,table),_href=URL('select',args=[db],vars=dict(query=qry)))}}
|
||||
</h2>
|
||||
[ {{=A(str(T('insert new'))+' '+table,_href=URL('insert',args=[db,table]))}} ]
|
||||
<br /><br />
|
||||
{{pass}}
|
||||
{{pass}}
|
||||
|
||||
{{elif request.function=='select':}}
|
||||
<h1>{{=XML(str(T("database %s select"))%A(request.args[0],_href=URL('index'))) }}
|
||||
</h1>
|
||||
{{if table:}}
|
||||
[ {{=A(str(T('insert new %s'))%table,_href=URL('insert',args=[request.args[0],table]))}} ]<br/><br/>
|
||||
<h2>{{=T("Rows in table")}}</h2><br/>
|
||||
{{else:}}
|
||||
<h2>{{=T("Rows selected")}}</h2><br/>
|
||||
{{pass}}
|
||||
{{=form}}
|
||||
<p>{{=T('The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.')}}<br/>
|
||||
{{=T('Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.')}}<br/>
|
||||
{{=T('"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN')}}</p>
|
||||
<br/><br/>
|
||||
<h3>{{=nrows}} {{=T("selected")}}</h3>
|
||||
{{if start>0:}}[ {{=A(T('previous 100 rows'),_href=URL('select',args=request.args[0],vars=dict(start=start-100)))}} ]{{pass}}
|
||||
{{if stop<nrows:}}[ {{=A(T('next 100 rows'),_href=URL('select',args=request.args[0],vars=dict(start=start+100)))}} ]{{pass}}
|
||||
{{if rows:}}
|
||||
<div style="overflow: auto;" width="80%">
|
||||
{{linkto=URL('update',args=request.args[0])}}
|
||||
{{upload=URL('download',args=request.args[0])}}
|
||||
{{=SQLTABLE(rows,linkto,upload,orderby=True,_class='sortable')}}
|
||||
</div>
|
||||
{{pass}}
|
||||
<br/><br/><h2>{{=T("Import/Export")}}</h2><br/>
|
||||
[ <a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}">{{=T("export as csv file")}}</a> ]
|
||||
{{if table:}}
|
||||
{{=FORM(str(T('or import from csv file'))+" ",INPUT(_type='file',_name='csvfile'),INPUT(_type='hidden',_value=table,_name='table'),INPUT(_type='submit',_value='import'))}}
|
||||
{{pass}}
|
||||
|
||||
|
||||
{{elif request.function=='insert':}}
|
||||
<h1>{{=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))))}}
|
||||
{{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]))))}}
|
||||
{{pass}}
|
||||
</h1>
|
||||
<h2>{{=T("New Record")}}</h2><br/>
|
||||
{{=form}}
|
||||
|
||||
|
||||
|
||||
{{elif request.function=='update':}}
|
||||
<h1>{{=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))}}
|
||||
{{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]))}}
|
||||
{{pass}}
|
||||
</h1>
|
||||
<h2>{{=T("Edit current record")}}</h2><br/><br/>{{=form}}
|
||||
|
||||
|
||||
|
||||
{{elif request.function=='state':}}
|
||||
<h1>{{=T("Internal State")}}</h1>
|
||||
<h2>{{=T("Current request")}}</h2>
|
||||
{{=BEAUTIFY(request)}}
|
||||
<br/><h2>{{=T("Current response")}}</h2>
|
||||
{{=BEAUTIFY(response)}}
|
||||
<br/><h2>{{=T("Current session")}}</h2>
|
||||
{{=BEAUTIFY(session)}}
|
||||
|
||||
|
||||
{{elif request.function == 'ccache':}}
|
||||
<h1>Cache</h1>
|
||||
<div class="wrapper">
|
||||
<div class="list">
|
||||
<div class="list-header">
|
||||
<h2>Statistics</h2>
|
||||
</div>
|
||||
<div class="content">
|
||||
<h3>Overview</h3>
|
||||
<p>Number of entries: <strong>{{=total['entries']}}</strong>
|
||||
{{if total['entries'] > 0:}}
|
||||
<p>
|
||||
Hit Ratio:
|
||||
<strong>{{=total['ratio']}}%</strong>
|
||||
(<strong>{{=total['hits']}}</strong> hits
|
||||
and <strong>{{=total['misses']}}</strong> misses)
|
||||
</p>
|
||||
<p>
|
||||
Size of cache:
|
||||
{{if object_stats:}}
|
||||
<strong>{{=total['objects']}}</strong> items,
|
||||
<strong>{{=total['bytes']}}</strong> bytes
|
||||
{{if total['bytes'] > 524287:}}
|
||||
(<strong>{{="%.0d" % (total['bytes'] / 1048576)}} MB</strong>)
|
||||
{{pass}}
|
||||
{{else:}} <strong>not available</strong> (requires the Python <a href="http://pypi.python.org/pypi/guppy/" target="_blank">guppy</a> library)
|
||||
{{pass}}
|
||||
</p>
|
||||
<p>
|
||||
Cache contains items up to
|
||||
<strong>{{="%02d" % total['oldest'][0]}}</strong> hours
|
||||
<strong>{{="%02d" % total['oldest'][1]}}</strong> minutes
|
||||
<strong>{{="%02d" % total['oldest'][2]}}</strong> seconds old.
|
||||
</p>
|
||||
{{=BUTTON(T('Cache Keys'), _onclick='jQuery("#all_keys").toggle();')}}
|
||||
<div class="hidden" id="all_keys">
|
||||
{{=total['keys']}}
|
||||
</div>
|
||||
<br />
|
||||
{{pass}}
|
||||
|
||||
<h3>RAM</h3>
|
||||
<p>Number of entries: <strong>{{=ram['entries']}}</strong>
|
||||
{{if ram['entries'] > 0:}}
|
||||
<p>
|
||||
Hit Ratio:
|
||||
<strong>{{=ram['ratio']}}%</strong>
|
||||
(<strong>{{=ram['hits']}}</strong> hits
|
||||
and <strong>{{=ram['misses']}}</strong> misses)
|
||||
</p>
|
||||
<p>
|
||||
Size of cache:
|
||||
{{if object_stats:}}
|
||||
<strong>{{=ram['objects']}}</strong> items,
|
||||
<strong>{{=ram['bytes']}}</strong> bytes
|
||||
{{if ram['bytes'] > 524287:}}
|
||||
(<strong>{{=ram['bytes'] / 1048576}} MB</strong>)
|
||||
{{pass}}
|
||||
{{else:}} <strong>not available</strong> (requires the Python <a href="http://pypi.python.org/pypi/guppy/" target="_blank">guppy</a> library)
|
||||
{{pass}}
|
||||
</p>
|
||||
<p>
|
||||
RAM contains items up to
|
||||
<strong>{{="%02d" % ram['oldest'][0]}}</strong> hours
|
||||
<strong>{{="%02d" % ram['oldest'][1]}}</strong> minutes
|
||||
<strong>{{="%02d" % ram['oldest'][2]}}</strong> seconds old.
|
||||
</p>
|
||||
{{=BUTTON(T('RAM Cache Keys'), _onclick='jQuery("#ram_keys").toggle();')}}
|
||||
<div class="hidden" id="ram_keys">
|
||||
{{=ram['keys']}}
|
||||
</div>
|
||||
<br />
|
||||
{{pass}}
|
||||
|
||||
<h3>DISK</h3>
|
||||
<p>Number of entries: <strong>{{=disk['entries']}}</strong>
|
||||
{{if disk['entries'] > 0:}}
|
||||
<p>
|
||||
Hit Ratio:
|
||||
<strong>{{=disk['ratio']}}%</strong>
|
||||
(<strong>{{=disk['hits']}}</strong> hits
|
||||
and <strong>{{=disk['misses']}}</strong> misses)
|
||||
</p>
|
||||
<p>
|
||||
Size of cache:
|
||||
{{if object_stats:}}
|
||||
<strong>{{=disk['objects']}}</strong> items,
|
||||
<strong>{{=disk['bytes']}}</strong> bytes
|
||||
{{if disk['bytes'] > 524287:}}
|
||||
(<strong>{{=disk['bytes'] / 1048576}} MB</strong>)
|
||||
{{pass}}
|
||||
{{else:}} <strong>not available</strong> (requires the Python <a href="http://pypi.python.org/pypi/guppy/" target="_blank">guppy</a> library)
|
||||
{{pass}}
|
||||
</p>
|
||||
<p>
|
||||
DISK contains items up to
|
||||
<strong>{{="%02d" % disk['oldest'][0]}}</strong> hours
|
||||
<strong>{{="%02d" % disk['oldest'][1]}}</strong> minutes
|
||||
<strong>{{="%02d" % disk['oldest'][2]}}</strong> seconds old.
|
||||
</p>
|
||||
{{=BUTTON(T('Disk Cache Keys'), _onclick='jQuery("#disk_keys").toggle();')}}
|
||||
<div class="hidden" id="disk_keys">
|
||||
{{=disk['keys']}}
|
||||
</div>
|
||||
<br />
|
||||
{{pass}}
|
||||
</div>
|
||||
|
||||
<div class="list-header">
|
||||
<h2>Manage Cache</h2>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>
|
||||
{{=form}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
{{pass}}
|
||||
@@ -0,0 +1,31 @@
|
||||
{{left_sidebar_enabled,right_sidebar_enabled=False,True}}
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
{{if 'message' in globals():}}
|
||||
<h3>{{=message}}</h3>
|
||||
|
||||
<h4/>{{=T('How did you get here?')}}</h4>
|
||||
<ol>
|
||||
<li>{{=T('You are successfully running web2py')}}</li>
|
||||
<li>{{=T('You visited the url')}} {{=A(request.env.path_info,_href=request.env.path_info)}}</li>
|
||||
<li>{{=T('Which called the function')}} {{=A(request.function+'()',_href='#')}} {{=T('located in the file')}}
|
||||
{{=A('web2py/applications/%(application)s/controllers/%(controller)s.py'%request,_href=URL('admin','default','peek',args=(request.application,'controllers',request.controller+'.py')))}}</li>
|
||||
<li>{{=T('The output of the file is a dictionary that was rendered by the view')}}
|
||||
{{=A('web2py/applications/%(application)s/views/%(controller)s/index.html'%request,_href=URL('admin','default','peek',args=(request.application,'views',request.controller,'index.html')))}}</li>
|
||||
<li>{{=T('You can modify this application and adapt it to your needs')}}</li>
|
||||
</ul>
|
||||
</ol>
|
||||
{{else:}}
|
||||
{{=BEAUTIFY(response._vars)}}
|
||||
{{pass}}
|
||||
|
||||
{{block right_sidebar}}
|
||||
{{=A(T("Administrative Interface"), _href=URL('admin','default','index'), _class='button',
|
||||
_style='margin-top: 1em;')}}
|
||||
<h6>{{=T("Don't know what to do?")}}</h6>
|
||||
<ul>
|
||||
<li>{{=A(T("Online examples"), _href=URL('examples','default','index'))}}</li>
|
||||
<li><a href="http://web2py.com">web2py.com</a></li>
|
||||
<li><a href="http://web2py.com/book">{{=T('Documentation')}}</a></li>
|
||||
</ul>
|
||||
{{end}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{extend 'layout.html'}}
|
||||
<h2>{{=T( request.args(0).replace('_',' ').capitalize() )}}</h2>
|
||||
<div id="web2py_user_form">
|
||||
{{=form}}
|
||||
{{if request.args(0)=='login':}}
|
||||
{{if not 'register' in auth.settings.actions_disabled:}}
|
||||
<br/>
|
||||
<a href="{{=URL(args='register')}}">{{=T('Register')}}</a>
|
||||
{{pass}}
|
||||
{{if not 'request_reset_password' in auth.settings.actions_disabled:}}
|
||||
<br/>
|
||||
<a href="{{=URL(args='request_reset_password')}}">{{=T('Lost Password')}}</a>
|
||||
{{pass}}
|
||||
{{pass}}
|
||||
</div>
|
||||
<script language="javascript"><!--
|
||||
jQuery("#web2py_user_form input:visible:enabled:first").focus();
|
||||
//--></script>
|
||||
@@ -0,0 +1,16 @@
|
||||
{{extend 'layout.html'}}
|
||||
{{"""
|
||||
|
||||
You should not modify this file.
|
||||
It is used as default when a view is not provided for your controllers
|
||||
|
||||
"""}}
|
||||
<h2>{{=' '.join(x.capitalize() for x in request.function.split('_'))}}</h2>
|
||||
{{if len(response._vars)==1:}}
|
||||
{{=response._vars.values()[0]}}
|
||||
{{elif len(response._vars)>1:}}
|
||||
{{=BEAUTIFY(response._vars)}}
|
||||
{{pass}}
|
||||
{{if request.is_local:}}
|
||||
{{=response.toolbar()}}
|
||||
{{pass}}
|
||||
@@ -0,0 +1 @@
|
||||
{{from gluon.serializers import json}}{{=XML(json(response._vars))}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{
|
||||
###
|
||||
# response._vars contains the dictionary returned by the controller action
|
||||
###
|
||||
try:
|
||||
from gluon.serializers import json
|
||||
result = "%s(%s)" % (request.vars['callback'], json(response._vars))
|
||||
response.write(result, escape=False)
|
||||
response.headers['Content-Type'] = 'application/jsonp'
|
||||
except (TypeError, ValueError):
|
||||
raise HTTP(405, 'JSON serialization error')
|
||||
except ImportError:
|
||||
raise HTTP(405, 'JSON not available')
|
||||
except:
|
||||
raise HTTP(405, 'JSON error')
|
||||
}}
|
||||
@@ -0,0 +1,30 @@
|
||||
{{'''
|
||||
# License: Public Domain
|
||||
# Author: Iceberg at 21cn dot com
|
||||
|
||||
With this generic.load file, you can use same function to serve two purposes.
|
||||
|
||||
= regular action
|
||||
- ajax callback (when called with .load)
|
||||
|
||||
Example modified from http://www.web2py.com/AlterEgo/default/show/252:
|
||||
|
||||
def index():
|
||||
return dict(
|
||||
part1='hello world',
|
||||
part2=LOAD(url=URL(r=request,f='auxiliary.load'),ajax=True))
|
||||
|
||||
def auxiliary():
|
||||
form=SQLFORM.factory(Field('name'))
|
||||
if form.accepts(request.vars):
|
||||
response.flash = 'ok'
|
||||
return dict(message="Hello %s" % form.vars.name)
|
||||
return dict(form=form)
|
||||
|
||||
Notice:
|
||||
|
||||
- no need to set response.headers['web2py-response-flash']
|
||||
- no need to return a string
|
||||
even if the function is called via ajax.
|
||||
|
||||
'''}}{{if len(response._vars)==1:}}{{=response._vars.values()[0]}}{{else:}}{{=BEAUTIFY(response._vars)}}{{pass}}
|
||||
@@ -0,0 +1,11 @@
|
||||
{{
|
||||
import os
|
||||
from gluon.contrib.generics import pdf_from_html
|
||||
filename = '%s/%s.html' % (request.controller,request.function)
|
||||
if os.path.exists(os.path.join(request.folder,'views',filename)):
|
||||
html=response.render(filename)
|
||||
else:
|
||||
html=BODY(BEAUTIFY(response._vars)).xml()
|
||||
pass
|
||||
=pdf_from_html(html)
|
||||
}}
|
||||
@@ -0,0 +1,10 @@
|
||||
{{
|
||||
###
|
||||
# response._vars contains the dictionary returned by the controller action
|
||||
# for this to work the action must return something like
|
||||
#
|
||||
# dict(title=...,link=...,description=...,created_on='...',items=...)
|
||||
#
|
||||
# items is a list of dictionaries each with title, link, description, pub_date.
|
||||
###
|
||||
from gluon.serializers import rss}}{{=XML(rss(response._vars))}}
|
||||
@@ -0,0 +1 @@
|
||||
{{from gluon.serializers import xml}}{{=XML(xml(response._vars,quote=False))}}
|
||||
@@ -0,0 +1,163 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
|
||||
<!--[if lt IE 7]><html class="ie ie6 ie-lte9 ie-lte8 ie-lte7 no-js" lang="{{=T.accepted_language or 'en'}}"> <![endif]-->
|
||||
<!--[if IE 7]><html class="ie ie7 ie-lte9 ie-lte8 ie-lte7 no-js" lang="{{=T.accepted_language or 'en'}}"> <![endif]-->
|
||||
<!--[if IE 8]><html class="ie ie8 ie-lte9 ie-lte8 no-js" lang="{{=T.accepted_language or 'en'}}"> <![endif]-->
|
||||
<!--[if IE 9]><html class="ie9 ie-lte9 no-js" lang="{{=T.accepted_language or 'en'}}"> <![endif]-->
|
||||
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="{{=T.accepted_language or 'en'}}"> <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<!-- www.phpied.com/conditional-comments-block-downloads/ -->
|
||||
<!-- Always force latest IE rendering engine
|
||||
(even in intranet) & Chrome Frame
|
||||
Remove this if you use the .htaccess -->
|
||||
<!--[if IE]>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<![endif]-->
|
||||
|
||||
<title>{{=response.title or request.application}}</title>
|
||||
|
||||
<!-- http://dev.w3.org/html5/markup/meta.name.html -->
|
||||
<meta name="application-name" content="{{=request.application}}" />
|
||||
|
||||
<!-- Speaking of Google, don't forget to set your site up:
|
||||
http://google.com/webmasters -->
|
||||
<meta name="google-site-verification" content="" />
|
||||
|
||||
<!-- Mobile Viewport Fix
|
||||
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
|
||||
device-width: Occupy full width of the screen in its current orientation
|
||||
initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height
|
||||
user-scalable = yes allows the user to zoom in -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
|
||||
<!-- Place favicon.ico and apple-touch-icon.png in the root of your domain and delete these references -->
|
||||
<link rel="shortcut icon" href="{{=URL('static','favicon.ico')}}" type="image/x-icon">
|
||||
<link rel="apple-touch-icon" href="{{=URL('static','favicon.png')}}">
|
||||
|
||||
<!-- All JavaScript at the bottom, except for Modernizr which enables
|
||||
HTML5 elements & feature detects -->
|
||||
<script src="{{=URL('static','js/modernizr.custom.js')}}"></script>
|
||||
|
||||
<!-- include stylesheets -->
|
||||
{{
|
||||
response.files.append(URL('static','css/skeleton.css'))
|
||||
response.files.append(URL('static','css/web2py.css'))
|
||||
response.files.append(URL('static','css/superfish.css'))
|
||||
response.files.append(URL('static','js/superfish.js'))
|
||||
}}
|
||||
|
||||
{{include 'web2py_ajax.html'}}
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function(){ jQuery('ul.sf-menu').supersubs({minWidth:12,maxWidth:30,extraWidth:3}).superfish(); });
|
||||
</script>
|
||||
|
||||
{{
|
||||
# using sidebars need to know what sidebar you want to use
|
||||
left_sidebar_enabled = globals().get('left_sidebar_enabled',False)
|
||||
right_sidebar_enabled = globals().get('right_sidebar_enabled',False)
|
||||
middle_columns = {0:'sixteen',1:'twelve',2:'eight'}[
|
||||
(left_sidebar_enabled and 1 or 0)+(right_sidebar_enabled and 1 or 0)]
|
||||
}}
|
||||
|
||||
<!-- uncomment here to load jquery-ui
|
||||
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all" />
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
|
||||
uncomment to load jquery-ui //-->
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper"><!-- for sticky footer -->
|
||||
|
||||
<div class="topbar">
|
||||
<div class="container">
|
||||
<div class="sixteen columns">
|
||||
<div id="navbar">{{='auth' in globals() and auth.navbar(separators=(' ',' | ',''))}}</div>
|
||||
{{is_mobile=request.user_agent().is_mobile}}
|
||||
<div id="menu">{{=MENU(response.menu, _class='mobile-menu' if is_mobile else 'sf-menu',mobile=is_mobile)}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- topbar -->
|
||||
|
||||
<div class="flash">{{=response.flash or ''}}</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="container">
|
||||
<div class="sixteen columns">
|
||||
<h1 class="remove-bottom" style="margin-top: .5em;">
|
||||
{{=response.title or request.application}}
|
||||
</h1>
|
||||
<h5>{{=response.subtitle or ''}}</h5>
|
||||
</div>
|
||||
<div class="sixteen columns">
|
||||
<div class="statusbar">
|
||||
{{block statusbar}}
|
||||
<span class="breadcrumbs">{{=request.function.replace('_', ' ').title()}}</span>
|
||||
{{end}}
|
||||
<!-- AddToAny BEGIN -->
|
||||
<div style="float:right; padding-top: .25em;" class="a2a_kit a2a_default_style">
|
||||
<a class="a2a_dd" href="http://www.addtoany.com/share_save">Share</a></div>
|
||||
<script type="text/javascript" src="http://static.addtoany.com/menu/page.js"></script>
|
||||
<!-- AddToAny END -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="main">
|
||||
<div class="container">
|
||||
{{if left_sidebar_enabled:}}
|
||||
<div class="four columns left-sidebar">
|
||||
{{block left_sidebar}}
|
||||
<h3>Left Sidebar</h3>
|
||||
<p></p>
|
||||
{{end}}
|
||||
</div>
|
||||
{{pass}}
|
||||
|
||||
<div class="{{=middle_columns}} columns center">
|
||||
{{block center}}
|
||||
{{include}}
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
{{if right_sidebar_enabled:}}
|
||||
<div class="four columns">
|
||||
{{block right_sidebar}}
|
||||
<h3>Right Sidebar</h3>
|
||||
<p></p>
|
||||
{{end}}
|
||||
</div>
|
||||
{{pass}}
|
||||
|
||||
</div><!-- container -->
|
||||
</div><!-- main -->
|
||||
|
||||
<div class="push"></div>
|
||||
</div><!-- wrapper -->
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
<div class="sixteen columns">
|
||||
{{block footer}} <!-- this is default footer -->
|
||||
<div class="footer-content" >
|
||||
{{=T('Copyright')}} © 2011
|
||||
<div style="float: right;">
|
||||
<a href="http://www.web2py.com/">
|
||||
<img style="padding-bottom: 0;" src="{{=URL('static','images/poweredby.png')}}"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div><!-- container -->
|
||||
</div><!-- footer -->
|
||||
|
||||
<!--[if lt IE 7 ]>
|
||||
<script src="{{=URL('static','js/dd_belatedpng.js')}}"></script>
|
||||
<script> DD_belatedPNG.fix('img, .png_bg'); //fix any <img> or .png_bg background-images </script>
|
||||
<![endif]-->
|
||||
{{if response.google_analytics_id:}}<script>/* http://mathiasbynens.be/notes/async-analytics-snippet */ var _gaq=[['_setAccount','{{=response.google_analytics_id}}'],['_trackPageview']];(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)}(document,'script')) </script>{{pass}}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<script type="text/javascript"><!--
|
||||
// These variables are used by the web2py_ajax_init function in web2py_ajax.js (which is loaded below).
|
||||
var w2p_ajax_confirm_message = "{{=T('Are you sure you want to delete this object?')}}";
|
||||
var w2p_ajax_date_format = "{{=T('%Y-%m-%d')}}";
|
||||
var w2p_ajax_datetime_format = "{{=T('%Y-%m-%d %H:%M:%S')}}";
|
||||
//--></script>
|
||||
{{
|
||||
response.files.insert(0,URL('static','js/jquery.js'))
|
||||
response.files.insert(1,URL('static','css/anytime.css'))
|
||||
response.files.insert(2,URL('static','js/anytime.js'))
|
||||
response.files.insert(3,URL('static','js/web2py.js'))
|
||||
response.include_meta()
|
||||
response.include_files()
|
||||
}}
|
||||