welcome3
2
applications/welcome3/ABOUT
Normal file
@@ -0,0 +1,2 @@
|
||||
Write something about this app.
|
||||
Developed with web2py.
|
||||
4
applications/welcome3/LICENSE
Normal file
@@ -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.
|
||||
1
applications/welcome3/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
applications/welcome3/__init__.py.bak2
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
BIN
applications/welcome3/__init__.pyc
Normal file
672
applications/welcome3/controllers/appadmin.py
Normal file
@@ -0,0 +1,672 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# ##########################################################
|
||||
# ## make sure administrator is on localhost
|
||||
# ###########################################################
|
||||
|
||||
import os
|
||||
import socket
|
||||
import datetime
|
||||
import copy
|
||||
import gluon.contenttype
|
||||
import gluon.fileutils
|
||||
|
||||
try:
|
||||
import pygraphviz as pgv
|
||||
except ImportError:
|
||||
pgv = None
|
||||
|
||||
is_gae = request.env.web2py_runtime_gae or False
|
||||
|
||||
# ## 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.is_https:
|
||||
session.secure()
|
||||
elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1") and \
|
||||
(request.function != 'manage'):
|
||||
raise HTTP(200, T('appadmin is disabled because insecure channel'))
|
||||
|
||||
if request.function == 'manage':
|
||||
if not 'auth' in globals() or not request.args:
|
||||
redirect(URL(request.controller, 'index'))
|
||||
manager_action = auth.settings.manager_actions.get(request.args(0), None)
|
||||
if manager_action is None and request.args(0) == 'auth':
|
||||
manager_action = dict(role=auth.settings.auth_manager_role,
|
||||
heading=T('Manage Access Control'),
|
||||
tables=[auth.table_user(),
|
||||
auth.table_group(),
|
||||
auth.table_permission()])
|
||||
manager_role = manager_action.get('role', None) if manager_action else None
|
||||
auth.requires_membership(manager_role)(lambda: None)()
|
||||
menu = False
|
||||
elif (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))))
|
||||
else:
|
||||
response.subtitle = T('Database Administration (appadmin)')
|
||||
menu = True
|
||||
|
||||
ignore_rw = True
|
||||
response.view = 'appadmin.html'
|
||||
if menu:
|
||||
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
|
||||
# ###########################################################
|
||||
|
||||
if False and request.tickets_db:
|
||||
from gluon.restricted import TicketStorage
|
||||
ts = TicketStorage()
|
||||
ts._get_table(request.tickets_db, ts.tablename, request.application)
|
||||
|
||||
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, ignore_common_filters=True).select())
|
||||
|
||||
|
||||
def import_csv(table, file):
|
||||
table.import_from_csv_file(file)
|
||||
|
||||
|
||||
def select():
|
||||
import re
|
||||
db = get_database(request)
|
||||
dbname = request.args[0]
|
||||
try:
|
||||
is_imap = db._uri.startswith("imap://")
|
||||
except (KeyError, AttributeError, TypeError):
|
||||
is_imap = False
|
||||
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
|
||||
|
||||
step = 100
|
||||
fields = []
|
||||
|
||||
if is_imap:
|
||||
step = 3
|
||||
|
||||
stop = start + step
|
||||
|
||||
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=T('submit')))),
|
||||
_action=URL(r=request, args=request.args))
|
||||
|
||||
tb = None
|
||||
if form.accepts(request.vars, formname=None):
|
||||
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, ignore_common_filters=True).count()
|
||||
if form.vars.update_check and form.vars.update_fields:
|
||||
db(query, ignore_common_filters=True).update(
|
||||
**eval_in_global_env('dict(%s)' % form.vars.update_fields))
|
||||
response.flash = T('%s %%{row} updated', nrows)
|
||||
elif form.vars.delete_check:
|
||||
db(query, ignore_common_filters=True).delete()
|
||||
response.flash = T('%s %%{row} deleted', nrows)
|
||||
nrows = db(query, ignore_common_filters=True).count()
|
||||
|
||||
if is_imap:
|
||||
fields = [db[table][name] for name in
|
||||
("id", "uid", "created", "to",
|
||||
"sender", "subject")]
|
||||
if orderby:
|
||||
rows = db(query, ignore_common_filters=True).select(
|
||||
*fields, limitby=(start, stop),
|
||||
orderby=eval_in_global_env(orderby))
|
||||
else:
|
||||
rows = db(query, ignore_common_filters=True).select(
|
||||
*fields, limitby=(start, stop))
|
||||
except Exception, e:
|
||||
import traceback
|
||||
tb = traceback.format_exc()
|
||||
(rows, nrows) = ([], 0)
|
||||
response.flash = DIV(T('Invalid Query'), PRE(str(e)))
|
||||
# begin handle upload csv
|
||||
csv_table = table or request.vars.table
|
||||
if csv_table:
|
||||
formcsv = FORM(str(T('or import from csv file')) + " ",
|
||||
INPUT(_type='file', _name='csvfile'),
|
||||
INPUT(_type='hidden', _value=csv_table, _name='table'),
|
||||
INPUT(_type='submit', _value=T('import')))
|
||||
else:
|
||||
formcsv = None
|
||||
if formcsv and formcsv.process().accepted:
|
||||
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)))
|
||||
# end handle upload csv
|
||||
|
||||
return dict(
|
||||
form=form,
|
||||
table=table,
|
||||
start=start,
|
||||
stop=stop,
|
||||
step=step,
|
||||
nrows=nrows,
|
||||
rows=rows,
|
||||
query=request.vars.query,
|
||||
formcsv=formcsv,
|
||||
tb=tb
|
||||
)
|
||||
|
||||
|
||||
# ##########################################################
|
||||
# ## edit delete one record
|
||||
# ###########################################################
|
||||
|
||||
|
||||
def update():
|
||||
(db, table) = get_table(request)
|
||||
keyed = hasattr(db[table], '_primarykey')
|
||||
record = None
|
||||
db[table]._common_filter = 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():
|
||||
if is_gae:
|
||||
form = FORM(
|
||||
P(TAG.BUTTON(T("Clear CACHE?"), _type="submit", _name="yes", _value="yes")))
|
||||
else:
|
||||
cache.ram.initialize()
|
||||
cache.disk.initialize()
|
||||
|
||||
form = FORM(
|
||||
P(TAG.BUTTON(
|
||||
T("Clear CACHE?"), _type="submit", _name="yes", _value="yes")),
|
||||
P(TAG.BUTTON(
|
||||
T("Clear RAM"), _type="submit", _name="ram", _value="ram")),
|
||||
P(TAG.BUTTON(
|
||||
T("Clear DISK"), _type="submit", _name="disk", _value="disk")),
|
||||
)
|
||||
|
||||
if form.accepts(request.vars, session):
|
||||
session.flash = ""
|
||||
if is_gae:
|
||||
if request.vars.yes:
|
||||
cache.ram.clear()
|
||||
session.flash += T("Cache Cleared")
|
||||
else:
|
||||
clear_ram = False
|
||||
clear_disk = False
|
||||
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 += T("Ram Cleared")
|
||||
if clear_disk:
|
||||
cache.disk.clear()
|
||||
session.flash += T("Disk Cleared")
|
||||
redirect(URL(r=request))
|
||||
|
||||
try:
|
||||
from guppy import hpy
|
||||
hp = hpy()
|
||||
except ImportError:
|
||||
hp = False
|
||||
|
||||
import shelve
|
||||
import os
|
||||
import copy
|
||||
import time
|
||||
import 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)
|
||||
|
||||
if is_gae:
|
||||
gae_stats = cache.ram.client.get_stats()
|
||||
try:
|
||||
gae_stats['ratio'] = ((gae_stats['hits'] * 100) /
|
||||
(gae_stats['hits'] + gae_stats['misses']))
|
||||
except ZeroDivisionError:
|
||||
gae_stats['ratio'] = T("?")
|
||||
gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age'])
|
||||
total.update(gae_stats)
|
||||
else:
|
||||
for key, value in cache.ram.storage.iteritems():
|
||||
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])))
|
||||
folder = os.path.join(request.folder,'cache')
|
||||
if not os.path.exists(folder):
|
||||
os.mkdir(folder)
|
||||
locker = open(os.path.join(folder, 'cache.lock'), 'a')
|
||||
portalocker.lock(locker, portalocker.LOCK_EX)
|
||||
disk_storage = shelve.open(
|
||||
os.path.join(folder, '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(T('Key'))), TD(B(T('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;"))
|
||||
|
||||
if not is_gae:
|
||||
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)
|
||||
|
||||
|
||||
def table_template(table):
|
||||
from gluon.html import TR, TD, TABLE, TAG
|
||||
|
||||
def FONT(*args, **kwargs):
|
||||
return TAG.font(*args, **kwargs)
|
||||
|
||||
def types(field):
|
||||
f_type = field.type
|
||||
if not isinstance(f_type,str):
|
||||
return ' '
|
||||
elif f_type == 'string':
|
||||
return field.length
|
||||
elif f_type == 'id':
|
||||
return B('pk')
|
||||
elif f_type.startswith('reference') or \
|
||||
f_type.startswith('list:reference'):
|
||||
return B('fk')
|
||||
else:
|
||||
return ' '
|
||||
|
||||
# This is horribe HTML but the only one graphiz understands
|
||||
rows = []
|
||||
cellpadding = 4
|
||||
color = "#000000"
|
||||
bgcolor = "#FFFFFF"
|
||||
face = "Helvetica"
|
||||
face_bold = "Helvetica Bold"
|
||||
border = 0
|
||||
|
||||
rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor),
|
||||
_colspan=3, _cellpadding=cellpadding,
|
||||
_align="center", _bgcolor=color)))
|
||||
for row in db[table]:
|
||||
rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold),
|
||||
_align="left", _cellpadding=cellpadding,
|
||||
_border=border),
|
||||
TD(FONT(row.type, _color=color, _face=face),
|
||||
_align="left", _cellpadding=cellpadding,
|
||||
_border=border),
|
||||
TD(FONT(types(row), _color=color, _face=face),
|
||||
_align="center", _cellpadding=cellpadding,
|
||||
_border=border)))
|
||||
return "< %s >" % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1,
|
||||
_cellborder=0, _cellspacing=0)
|
||||
).xml()
|
||||
|
||||
|
||||
def bg_graph_model():
|
||||
graph = pgv.AGraph(layout='dot', directed=True, strict=False, rankdir='LR')
|
||||
|
||||
subgraphs = dict()
|
||||
for tablename in db.tables:
|
||||
if hasattr(db[tablename],'_meta_graphmodel'):
|
||||
meta_graphmodel = db[tablename]._meta_graphmodel
|
||||
else:
|
||||
meta_graphmodel = dict(group='Undefined', color='#ECECEC')
|
||||
|
||||
group = meta_graphmodel['group'].replace(' ', '')
|
||||
if not subgraphs.has_key(group):
|
||||
subgraphs[group] = dict(meta=meta_graphmodel, tables=[])
|
||||
subgraphs[group]['tables'].append(tablename)
|
||||
else:
|
||||
subgraphs[group]['tables'].append(tablename)
|
||||
|
||||
graph.add_node(tablename, name=tablename, shape='plaintext',
|
||||
label=table_template(tablename))
|
||||
|
||||
for n, key in enumerate(subgraphs.iterkeys()):
|
||||
graph.subgraph(nbunch=subgraphs[key]['tables'],
|
||||
name='cluster%d' % n,
|
||||
style='filled',
|
||||
color=subgraphs[key]['meta']['color'],
|
||||
label=subgraphs[key]['meta']['group'])
|
||||
|
||||
for tablename in db.tables:
|
||||
for field in db[tablename]:
|
||||
f_type = field.type
|
||||
if isinstance(f_type,str) and (
|
||||
f_type.startswith('reference') or
|
||||
f_type.startswith('list:reference')):
|
||||
referenced_table = f_type.split()[1].split('.')[0]
|
||||
n1 = graph.get_node(tablename)
|
||||
n2 = graph.get_node(referenced_table)
|
||||
graph.add_edge(n1, n2, color="#4C4C4C", label='')
|
||||
|
||||
graph.layout()
|
||||
if not request.args:
|
||||
response.headers['Content-Type'] = 'image/png'
|
||||
return graph.draw(format='png', prog='dot')
|
||||
else:
|
||||
response.headers['Content-Disposition']='attachment;filename=graph.%s'%request.args(0)
|
||||
if request.args(0) == 'dot':
|
||||
return graph.string()
|
||||
else:
|
||||
return graph.draw(format=request.args(0), prog='dot')
|
||||
|
||||
def graph_model():
|
||||
return dict(databases=databases, pgv=pgv)
|
||||
|
||||
def manage():
|
||||
tables = manager_action['tables']
|
||||
if isinstance(tables[0], str):
|
||||
db = manager_action.get('db', auth.db)
|
||||
db = globals()[db] if isinstance(db, str) else db
|
||||
tables = [db[table] for table in tables]
|
||||
if request.args(0) == 'auth':
|
||||
auth.table_user()._plural = T('Users')
|
||||
auth.table_group()._plural = T('Roles')
|
||||
auth.table_membership()._plural = T('Memberships')
|
||||
auth.table_permission()._plural = T('Permissions')
|
||||
if request.extension != 'load':
|
||||
return dict(heading=manager_action.get('heading',
|
||||
T('Manage %(action)s') % dict(action=request.args(0).replace('_', ' ').title())),
|
||||
tablenames=[table._tablename for table in tables],
|
||||
labels=[table._plural.title() for table in tables])
|
||||
|
||||
table = tables[request.args(1, cast=int)]
|
||||
formname = '%s_grid' % table._tablename
|
||||
linked_tables = orderby = None
|
||||
if request.args(0) == 'auth':
|
||||
auth.table_group()._id.readable = \
|
||||
auth.table_membership()._id.readable = \
|
||||
auth.table_permission()._id.readable = False
|
||||
auth.table_membership().user_id.label = T('User')
|
||||
auth.table_membership().group_id.label = T('Role')
|
||||
auth.table_permission().group_id.label = T('Role')
|
||||
auth.table_permission().name.label = T('Permission')
|
||||
if table == auth.table_user():
|
||||
linked_tables=[auth.settings.table_membership_name]
|
||||
elif table == auth.table_group():
|
||||
orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None
|
||||
elif table == auth.table_permission():
|
||||
orderby = 'group_id'
|
||||
kwargs = dict(user_signature=True, maxtextlength=1000,
|
||||
orderby=orderby, linked_tables=linked_tables)
|
||||
smartgrid_args = manager_action.get('smartgrid_args', {})
|
||||
kwargs.update(**smartgrid_args.get('DEFAULT', {}))
|
||||
kwargs.update(**smartgrid_args.get(table._tablename, {}))
|
||||
grid = SQLFORM.smartgrid(table, args=request.args[:2], formname=formname, **kwargs)
|
||||
return grid
|
||||
71
applications/welcome3/controllers/default.py
Normal file
@@ -0,0 +1,71 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# this file is released under public domain and you can use without limitations
|
||||
|
||||
#########################################################################
|
||||
## This is a sample 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)
|
||||
## - api is an example of Hypermedia API support and access control
|
||||
#########################################################################
|
||||
|
||||
def index():
|
||||
"""
|
||||
example action using the internationalization operator T and flash
|
||||
rendered by views/default/index.html or views/generic.html
|
||||
|
||||
if you need a simple wiki simply replace the two lines below with:
|
||||
return auth.wiki()
|
||||
"""
|
||||
response.flash = T("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
|
||||
http://..../[app]/default/user/manage_users (requires membership in
|
||||
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())
|
||||
|
||||
|
||||
@cache.action()
|
||||
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_login()
|
||||
def api():
|
||||
"""
|
||||
this is example of API with access control
|
||||
WEB2PY provides Hypermedia API (Collection+JSON) Experimental
|
||||
"""
|
||||
from gluon.contrib.hypermedia import Collection
|
||||
rules = {
|
||||
'<tablename>': {'GET':{},'POST':{},'PUT':{},'DELETE':{}},
|
||||
}
|
||||
return Collection(db).process(request,response,rules)
|
||||
1
applications/welcome3/cron/crontab
Normal file
@@ -0,0 +1 @@
|
||||
#crontab
|
||||
1
applications/welcome3/cron/crontab.example
Normal file
@@ -0,0 +1 @@
|
||||
#crontab
|
||||
@@ -0,0 +1,108 @@
|
||||
(dp1
|
||||
S'user_id'
|
||||
p2
|
||||
(dp3
|
||||
S'length'
|
||||
p4
|
||||
I512
|
||||
sS'unique'
|
||||
p5
|
||||
I00
|
||||
sS'sortable'
|
||||
p6
|
||||
I2
|
||||
sS'sql'
|
||||
p7
|
||||
S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE'
|
||||
p8
|
||||
sS'notnull'
|
||||
p9
|
||||
I00
|
||||
sS'type'
|
||||
p10
|
||||
S'reference auth_user'
|
||||
p11
|
||||
ssS'service'
|
||||
p12
|
||||
(dp13
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I4
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p14
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'string'
|
||||
p15
|
||||
ssS'renew'
|
||||
p16
|
||||
(dp17
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I6
|
||||
sg7
|
||||
S'CHAR(1)'
|
||||
p18
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'boolean'
|
||||
p19
|
||||
ssS'created_on'
|
||||
p20
|
||||
(dp21
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I3
|
||||
sg7
|
||||
S'TIMESTAMP'
|
||||
p22
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'datetime'
|
||||
p23
|
||||
ssS'ticket'
|
||||
p24
|
||||
(dp25
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I5
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p26
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g15
|
||||
ssS'id'
|
||||
p27
|
||||
(dp28
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I1
|
||||
sg7
|
||||
S'INTEGER PRIMARY KEY AUTOINCREMENT'
|
||||
p29
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g27
|
||||
ss.
|
||||
@@ -0,0 +1,108 @@
|
||||
(dp1
|
||||
S'origin'
|
||||
p2
|
||||
(dp3
|
||||
S'length'
|
||||
p4
|
||||
I512
|
||||
sS'unique'
|
||||
p5
|
||||
I00
|
||||
sS'sortable'
|
||||
p6
|
||||
I5
|
||||
sS'sql'
|
||||
p7
|
||||
S'CHAR(512)'
|
||||
p8
|
||||
sS'notnull'
|
||||
p9
|
||||
I00
|
||||
sS'type'
|
||||
p10
|
||||
S'string'
|
||||
p11
|
||||
ssS'client_ip'
|
||||
p12
|
||||
(dp13
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I3
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p14
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g11
|
||||
ssS'user_id'
|
||||
p15
|
||||
(dp16
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I4
|
||||
sg7
|
||||
S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE'
|
||||
p17
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'reference auth_user'
|
||||
p18
|
||||
ssS'description'
|
||||
p19
|
||||
(dp20
|
||||
g4
|
||||
I32768
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I6
|
||||
sg7
|
||||
S'TEXT'
|
||||
p21
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'text'
|
||||
p22
|
||||
ssS'time_stamp'
|
||||
p23
|
||||
(dp24
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I2
|
||||
sg7
|
||||
S'TIMESTAMP'
|
||||
p25
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'datetime'
|
||||
p26
|
||||
ssS'id'
|
||||
p27
|
||||
(dp28
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I1
|
||||
sg7
|
||||
S'INTEGER PRIMARY KEY AUTOINCREMENT'
|
||||
p29
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g27
|
||||
ss.
|
||||
@@ -0,0 +1,58 @@
|
||||
(dp1
|
||||
S'role'
|
||||
p2
|
||||
(dp3
|
||||
S'length'
|
||||
p4
|
||||
I512
|
||||
sS'unique'
|
||||
p5
|
||||
I00
|
||||
sS'sortable'
|
||||
p6
|
||||
I2
|
||||
sS'sql'
|
||||
p7
|
||||
S'CHAR(512)'
|
||||
p8
|
||||
sS'notnull'
|
||||
p9
|
||||
I00
|
||||
sS'type'
|
||||
p10
|
||||
S'string'
|
||||
p11
|
||||
ssS'id'
|
||||
p12
|
||||
(dp13
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I1
|
||||
sg7
|
||||
S'INTEGER PRIMARY KEY AUTOINCREMENT'
|
||||
p14
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g12
|
||||
ssS'description'
|
||||
p15
|
||||
(dp16
|
||||
g4
|
||||
I32768
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I3
|
||||
sg7
|
||||
S'TEXT'
|
||||
p17
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'text'
|
||||
p18
|
||||
ss.
|
||||
@@ -0,0 +1,58 @@
|
||||
(dp1
|
||||
S'group_id'
|
||||
p2
|
||||
(dp3
|
||||
S'length'
|
||||
p4
|
||||
I512
|
||||
sS'unique'
|
||||
p5
|
||||
I00
|
||||
sS'sortable'
|
||||
p6
|
||||
I3
|
||||
sS'sql'
|
||||
p7
|
||||
S'INTEGER REFERENCES auth_group (id) ON DELETE CASCADE'
|
||||
p8
|
||||
sS'notnull'
|
||||
p9
|
||||
I00
|
||||
sS'type'
|
||||
p10
|
||||
S'reference auth_group'
|
||||
p11
|
||||
ssS'user_id'
|
||||
p12
|
||||
(dp13
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I2
|
||||
sg7
|
||||
S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE'
|
||||
p14
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'reference auth_user'
|
||||
p15
|
||||
ssS'id'
|
||||
p16
|
||||
(dp17
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I1
|
||||
sg7
|
||||
S'INTEGER PRIMARY KEY AUTOINCREMENT'
|
||||
p18
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g16
|
||||
ss.
|
||||
@@ -0,0 +1,91 @@
|
||||
(dp1
|
||||
S'record_id'
|
||||
p2
|
||||
(dp3
|
||||
S'length'
|
||||
p4
|
||||
I512
|
||||
sS'unique'
|
||||
p5
|
||||
I00
|
||||
sS'sortable'
|
||||
p6
|
||||
I5
|
||||
sS'sql'
|
||||
p7
|
||||
S'INTEGER'
|
||||
p8
|
||||
sS'notnull'
|
||||
p9
|
||||
I00
|
||||
sS'type'
|
||||
p10
|
||||
S'integer'
|
||||
p11
|
||||
ssS'group_id'
|
||||
p12
|
||||
(dp13
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I2
|
||||
sg7
|
||||
S'INTEGER REFERENCES auth_group (id) ON DELETE CASCADE'
|
||||
p14
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'reference auth_group'
|
||||
p15
|
||||
ssS'table_name'
|
||||
p16
|
||||
(dp17
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I4
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p18
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
S'string'
|
||||
p19
|
||||
ssS'id'
|
||||
p20
|
||||
(dp21
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I1
|
||||
sg7
|
||||
S'INTEGER PRIMARY KEY AUTOINCREMENT'
|
||||
p22
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g20
|
||||
ssS'name'
|
||||
p23
|
||||
(dp24
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I3
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p25
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g19
|
||||
ss.
|
||||
@@ -0,0 +1,137 @@
|
||||
(dp1
|
||||
S'first_name'
|
||||
p2
|
||||
(dp3
|
||||
S'length'
|
||||
p4
|
||||
I128
|
||||
sS'unique'
|
||||
p5
|
||||
I00
|
||||
sS'sortable'
|
||||
p6
|
||||
I2
|
||||
sS'sql'
|
||||
p7
|
||||
S'CHAR(128)'
|
||||
p8
|
||||
sS'notnull'
|
||||
p9
|
||||
I00
|
||||
sS'type'
|
||||
p10
|
||||
S'string'
|
||||
p11
|
||||
ssS'last_name'
|
||||
p12
|
||||
(dp13
|
||||
g4
|
||||
I128
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I3
|
||||
sg7
|
||||
S'CHAR(128)'
|
||||
p14
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g11
|
||||
ssS'registration_id'
|
||||
p15
|
||||
(dp16
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I8
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p17
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g11
|
||||
ssS'email'
|
||||
p18
|
||||
(dp19
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I4
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p20
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g11
|
||||
ssS'reset_password_key'
|
||||
p21
|
||||
(dp22
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I7
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p23
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g11
|
||||
ssS'password'
|
||||
p24
|
||||
(dp25
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I5
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p26
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g24
|
||||
ssS'registration_key'
|
||||
p27
|
||||
(dp28
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I6
|
||||
sg7
|
||||
S'CHAR(512)'
|
||||
p29
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g11
|
||||
ssS'id'
|
||||
p30
|
||||
(dp31
|
||||
g4
|
||||
I512
|
||||
sg5
|
||||
I00
|
||||
sg6
|
||||
I1
|
||||
sg7
|
||||
S'INTEGER PRIMARY KEY AUTOINCREMENT'
|
||||
p32
|
||||
sg9
|
||||
I00
|
||||
sg10
|
||||
g30
|
||||
ss.
|
||||
55
applications/welcome3/databases/sql.log
Normal file
@@ -0,0 +1,55 @@
|
||||
timestamp: 2015-03-10T13:41:36.516130
|
||||
CREATE TABLE auth_user(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
first_name CHAR(128),
|
||||
last_name CHAR(128),
|
||||
email CHAR(512),
|
||||
password CHAR(512),
|
||||
registration_key CHAR(512),
|
||||
reset_password_key CHAR(512),
|
||||
registration_id CHAR(512)
|
||||
);
|
||||
success!
|
||||
timestamp: 2015-03-10T13:41:36.519253
|
||||
CREATE TABLE auth_group(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
role CHAR(512),
|
||||
description TEXT
|
||||
);
|
||||
success!
|
||||
timestamp: 2015-03-10T13:41:36.521428
|
||||
CREATE TABLE auth_membership(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE,
|
||||
group_id INTEGER REFERENCES auth_group (id) ON DELETE CASCADE
|
||||
);
|
||||
success!
|
||||
timestamp: 2015-03-10T13:41:36.525124
|
||||
CREATE TABLE auth_permission(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
group_id INTEGER REFERENCES auth_group (id) ON DELETE CASCADE,
|
||||
name CHAR(512),
|
||||
table_name CHAR(512),
|
||||
record_id INTEGER
|
||||
);
|
||||
success!
|
||||
timestamp: 2015-03-10T13:41:36.529392
|
||||
CREATE TABLE auth_event(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
time_stamp TIMESTAMP,
|
||||
client_ip CHAR(512),
|
||||
user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE,
|
||||
origin CHAR(512),
|
||||
description TEXT
|
||||
);
|
||||
success!
|
||||
timestamp: 2015-03-10T13:41:36.532142
|
||||
CREATE TABLE auth_cas(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE,
|
||||
created_on TIMESTAMP,
|
||||
service CHAR(512),
|
||||
ticket CHAR(512),
|
||||
renew CHAR(1)
|
||||
);
|
||||
success!
|
||||
BIN
applications/welcome3/databases/storage.sqlite
Normal file
480
applications/welcome3/languages/cs.py
Normal file
@@ -0,0 +1,480 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'cs-cz',
|
||||
'!langname!': 'čeština',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': 'Kolonka "Upravit" je nepovinný výraz, například "pole1=\'nováhodnota\'". Výsledky databázového JOINu nemůžete mazat ani upravovat.',
|
||||
'"User Exception" debug mode. An error ticket could be issued!': '"User Exception" debug mode. An error ticket could be issued!',
|
||||
'%%{Row} in Table': '%%{řádek} v tabulce',
|
||||
'%%{Row} selected': 'označených %%{řádek}',
|
||||
'%s %%{row} deleted': '%s smazaných %%{záznam}',
|
||||
'%s %%{row} updated': '%s upravených %%{záznam}',
|
||||
'%s selected': '%s označených',
|
||||
'%Y-%m-%d': '%d.%m.%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d.%m.%Y %H:%M:%S',
|
||||
'(requires internet access)': '(vyžaduje připojení k internetu)',
|
||||
'(requires internet access, experimental)': '(requires internet access, experimental)',
|
||||
'(something like "it-it")': '(například "cs-cs")',
|
||||
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)',
|
||||
'@markmin\x01Searching: **%s** %%{file}': 'Hledání: **%s** %%{soubor}',
|
||||
'About': 'O programu',
|
||||
'About application': 'O aplikaci',
|
||||
'Access Control': 'Řízení přístupu',
|
||||
'Add breakpoint': 'Přidat bod přerušení',
|
||||
'Additional code for your application': 'Další kód pro Vaši aplikaci',
|
||||
'Admin design page': 'Admin design page',
|
||||
'Admin language': 'jazyk rozhraní',
|
||||
'Administrative interface': 'pro administrátorské rozhraní klikněte sem',
|
||||
'Administrative Interface': 'Administrátorské rozhraní',
|
||||
'administrative interface': 'rozhraní pro správu',
|
||||
'Administrator Password:': 'Administrátorské heslo:',
|
||||
'Ajax Recipes': 'Recepty s ajaxem',
|
||||
'An error occured, please %s the page': 'An error occured, please %s the page',
|
||||
'and rename it:': 'a přejmenovat na:',
|
||||
'appadmin': 'appadmin',
|
||||
'appadmin is disabled because insecure channel': 'appadmin je zakázaná bez zabezpečeného spojení',
|
||||
'Application': 'Application',
|
||||
'application "%s" uninstalled': 'application "%s" odinstalována',
|
||||
'application compiled': 'aplikace zkompilována',
|
||||
'Application name:': 'Název aplikace:',
|
||||
'are not used': 'nepoužita',
|
||||
'are not used yet': 'ještě nepoužita',
|
||||
'Are you sure you want to delete this object?': 'Opravdu chcete odstranit tento objekt?',
|
||||
'Are you sure you want to uninstall application "%s"?': 'Opravdu chcete odinstalovat aplikaci "%s"?',
|
||||
'arguments': 'arguments',
|
||||
'at char %s': 'at char %s',
|
||||
'at line %s': 'at line %s',
|
||||
'ATTENTION:': 'ATTENTION:',
|
||||
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
|
||||
'Available Databases and Tables': 'Dostupné databáze a tabulky',
|
||||
'back': 'zpět',
|
||||
'Back to wizard': 'Back to wizard',
|
||||
'Basics': 'Basics',
|
||||
'Begin': 'Začít',
|
||||
'breakpoint': 'bod přerušení',
|
||||
'Breakpoints': 'Body přerušení',
|
||||
'breakpoints': 'body přerušení',
|
||||
'Buy this book': 'Koupit web2py knihu',
|
||||
'Cache': 'Cache',
|
||||
'cache': 'cache',
|
||||
'Cache Keys': 'Klíče cache',
|
||||
'cache, errors and sessions cleaned': 'cache, chyby a relace byly pročištěny',
|
||||
'can be a git repo': 'může to být git repo',
|
||||
'Cancel': 'Storno',
|
||||
'Cannot be empty': 'Nemůže být prázdné',
|
||||
'Change Admin Password': 'Změnit heslo pro správu',
|
||||
'Change admin password': 'Změnit heslo pro správu aplikací',
|
||||
'Change password': 'Změna hesla',
|
||||
'check all': 'vše označit',
|
||||
'Check for upgrades': 'Zkusit aktualizovat',
|
||||
'Check to delete': 'Označit ke smazání',
|
||||
'Check to delete:': 'Označit ke smazání:',
|
||||
'Checking for upgrades...': 'Zjišťuji, zda jsou k dispozici aktualizace...',
|
||||
'Clean': 'Pročistit',
|
||||
'Clear CACHE?': 'Vymazat CACHE?',
|
||||
'Clear DISK': 'Vymazat DISK',
|
||||
'Clear RAM': 'Vymazat RAM',
|
||||
'Click row to expand traceback': 'Pro rozbalení stopy, klikněte na řádek',
|
||||
'Click row to view a ticket': 'Pro zobrazení chyby (ticketu), klikněte na řádku...',
|
||||
'Client IP': 'IP adresa klienta',
|
||||
'code': 'code',
|
||||
'Code listing': 'Code listing',
|
||||
'collapse/expand all': 'vše sbalit/rozbalit',
|
||||
'Community': 'Komunita',
|
||||
'Compile': 'Zkompilovat',
|
||||
'compiled application removed': 'zkompilovaná aplikace smazána',
|
||||
'Components and Plugins': 'Komponenty a zásuvné moduly',
|
||||
'Condition': 'Podmínka',
|
||||
'continue': 'continue',
|
||||
'Controller': 'Kontrolér (Controller)',
|
||||
'Controllers': 'Kontroléry',
|
||||
'controllers': 'kontroléry',
|
||||
'Copyright': 'Copyright',
|
||||
'Count': 'Počet',
|
||||
'Create': 'Vytvořit',
|
||||
'create file with filename:': 'vytvořit soubor s názvem:',
|
||||
'created by': 'vytvořil',
|
||||
'Created By': 'Vytvořeno - kým',
|
||||
'Created On': 'Vytvořeno - kdy',
|
||||
'crontab': 'crontab',
|
||||
'Current request': 'Aktuální požadavek',
|
||||
'Current response': 'Aktuální odpověď',
|
||||
'Current session': 'Aktuální relace',
|
||||
'currently running': 'právě běží',
|
||||
'currently saved or': 'uloženo nebo',
|
||||
'customize me!': 'upravte mě!',
|
||||
'data uploaded': 'data nahrána',
|
||||
'Database': 'Rozhraní databáze',
|
||||
'Database %s select': 'databáze %s výběr',
|
||||
'Database administration': 'Database administration',
|
||||
'database administration': 'správa databáze',
|
||||
'Date and Time': 'Datum a čas',
|
||||
'day': 'den',
|
||||
'db': 'db',
|
||||
'DB Model': 'Databázový model',
|
||||
'Debug': 'Ladění',
|
||||
'defines tables': 'defines tables',
|
||||
'Delete': 'Smazat',
|
||||
'delete': 'smazat',
|
||||
'delete all checked': 'smazat vše označené',
|
||||
'delete plugin': 'delete plugin',
|
||||
'Delete this file (you will be asked to confirm deletion)': 'Smazat tento soubor (budete požádán o potvrzení mazání)',
|
||||
'Delete:': 'Smazat:',
|
||||
'deleted after first hit': 'smazat po prvním dosažení',
|
||||
'Demo': 'Demo',
|
||||
'Deploy': 'Nahrát',
|
||||
'Deploy on Google App Engine': 'Nahrát na Google App Engine',
|
||||
'Deploy to OpenShift': 'Nahrát na OpenShift',
|
||||
'Deployment Recipes': 'Postupy pro deployment',
|
||||
'Description': 'Popis',
|
||||
'design': 'návrh',
|
||||
'Detailed traceback description': 'Podrobný výpis prostředí',
|
||||
'details': 'podrobnosti',
|
||||
'direction: ltr': 'směr: ltr',
|
||||
'Disable': 'Zablokovat',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Klíče diskové cache',
|
||||
'Disk Cleared': 'Disk smazán',
|
||||
'docs': 'dokumentace',
|
||||
'Documentation': 'Dokumentace',
|
||||
"Don't know what to do?": 'Nevíte kudy kam?',
|
||||
'done!': 'hotovo!',
|
||||
'Download': 'Stáhnout',
|
||||
'download layouts': 'stáhnout moduly rozvržení stránky',
|
||||
'download plugins': 'stáhnout zásuvné moduly',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Upravit',
|
||||
'edit all': 'edit all',
|
||||
'Edit application': 'Správa aplikace',
|
||||
'edit controller': 'edit controller',
|
||||
'Edit current record': 'Upravit aktuální záznam',
|
||||
'Edit Profile': 'Upravit profil',
|
||||
'edit views:': 'upravit pohled:',
|
||||
'Editing file "%s"': 'Úprava souboru "%s"',
|
||||
'Editing Language file': 'Úprava jazykového souboru',
|
||||
'Editing Plural Forms File': 'Editing Plural Forms File',
|
||||
'Email and SMS': 'Email a SMS',
|
||||
'Enable': 'Odblokovat',
|
||||
'enter a number between %(min)g and %(max)g': 'zadejte číslo mezi %(min)g a %(max)g',
|
||||
'enter an integer between %(min)g and %(max)g': 'zadejte celé číslo mezi %(min)g a %(max)g',
|
||||
'Error': 'Chyba',
|
||||
'Error logs for "%(app)s"': 'Seznam výskytu chyb pro aplikaci "%(app)s"',
|
||||
'Error snapshot': 'Snapshot chyby',
|
||||
'Error ticket': 'Ticket chyby',
|
||||
'Errors': 'Chyby',
|
||||
'Exception %(extype)s: %(exvalue)s': 'Exception %(extype)s: %(exvalue)s',
|
||||
'Exception %s': 'Exception %s',
|
||||
'Exception instance attributes': 'Prvky instance výjimky',
|
||||
'Expand Abbreviation': 'Expand Abbreviation',
|
||||
'export as csv file': 'exportovat do .csv souboru',
|
||||
'exposes': 'vystavuje',
|
||||
'exposes:': 'vystavuje funkce:',
|
||||
'extends': 'rozšiřuje',
|
||||
'failed to compile file because:': 'soubor se nepodařilo zkompilovat, protože:',
|
||||
'FAQ': 'Často kladené dotazy',
|
||||
'File': 'Soubor',
|
||||
'file': 'soubor',
|
||||
'file "%(filename)s" created': 'file "%(filename)s" created',
|
||||
'file saved on %(time)s': 'soubor uložen %(time)s',
|
||||
'file saved on %s': 'soubor uložen %s',
|
||||
'Filename': 'Název souboru',
|
||||
'filter': 'filtr',
|
||||
'Find Next': 'Najít další',
|
||||
'Find Previous': 'Najít předchozí',
|
||||
'First name': 'Křestní jméno',
|
||||
'Forgot username?': 'Zapomněl jste svoje přihlašovací jméno?',
|
||||
'forgot username?': 'zapomněl jste svoje přihlašovací jméno?',
|
||||
'Forms and Validators': 'Formuláře a validátory',
|
||||
'Frames': 'Frames',
|
||||
'Free Applications': 'Aplikace zdarma',
|
||||
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
|
||||
'Generate': 'Vytvořit',
|
||||
'Get from URL:': 'Stáhnout z internetu:',
|
||||
'Git Pull': 'Git Pull',
|
||||
'Git Push': 'Git Push',
|
||||
'Globals##debug': 'Globální proměnné',
|
||||
'go!': 'OK!',
|
||||
'Goto': 'Goto',
|
||||
'graph model': 'graph model',
|
||||
'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena',
|
||||
'Group ID': 'ID skupiny',
|
||||
'Groups': 'Skupiny',
|
||||
'Hello World': 'Ahoj světe',
|
||||
'Help': 'Nápověda',
|
||||
'Hide/Show Translated strings': 'Skrýt/Zobrazit přeložené texty',
|
||||
'Hits': 'Kolikrát dosaženo',
|
||||
'Home': 'Domovská stránka',
|
||||
'honored only if the expression evaluates to true': 'brát v potaz jen když se tato podmínka vyhodnotí kladně',
|
||||
'How did you get here?': 'Jak jste se sem vlastně dostal?',
|
||||
'If start the upgrade, be patient, it may take a while to download': 'If start the upgrade, be patient, it may take a while to download',
|
||||
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'includes': 'zahrnuje',
|
||||
'Index': 'Index',
|
||||
'insert new': 'vložit nový záznam ',
|
||||
'insert new %s': 'vložit nový záznam %s',
|
||||
'inspect attributes': 'inspect attributes',
|
||||
'Install': 'Instalovat',
|
||||
'Installed applications': 'Nainstalované aplikace',
|
||||
'Interaction at %s line %s': 'Interakce v %s, na řádce %s',
|
||||
'Interactive console': 'Interaktivní příkazová řádka',
|
||||
'Internal State': 'Vnitřní stav',
|
||||
'Introduction': 'Úvod',
|
||||
'Invalid email': 'Neplatný email',
|
||||
'Invalid password': 'Nesprávné heslo',
|
||||
'invalid password.': 'neplatné heslo',
|
||||
'Invalid Query': 'Neplatný dotaz',
|
||||
'invalid request': 'Neplatný požadavek',
|
||||
'Is Active': 'Je aktivní',
|
||||
'It is %s %%{day} today.': 'Dnes je to %s %%{den}.',
|
||||
'Key': 'Klíč',
|
||||
'Key bindings': 'Vazby klíčů',
|
||||
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
|
||||
'languages': 'jazyky',
|
||||
'Languages': 'Jazyky',
|
||||
'Last name': 'Příjmení',
|
||||
'Last saved on:': 'Naposledy uloženo:',
|
||||
'Layout': 'Rozvržení stránky (layout)',
|
||||
'Layout Plugins': 'Moduly rozvržení stránky (Layout Plugins)',
|
||||
'Layouts': 'Rozvržení stránek',
|
||||
'License for': 'Licence pro',
|
||||
'Line number': 'Číslo řádku',
|
||||
'LineNo': 'Č.řádku',
|
||||
'Live Chat': 'Online pokec',
|
||||
'loading...': 'nahrávám...',
|
||||
'locals': 'locals',
|
||||
'Locals##debug': 'Lokální proměnné',
|
||||
'Logged in': 'Přihlášení proběhlo úspěšně',
|
||||
'Logged out': 'Odhlášení proběhlo úspěšně',
|
||||
'Login': 'Přihlásit se',
|
||||
'login': 'přihlásit se',
|
||||
'Login to the Administrative Interface': 'Přihlásit se do Správce aplikací',
|
||||
'logout': 'odhlásit se',
|
||||
'Logout': 'Odhlásit se',
|
||||
'Lost Password': 'Zapomněl jste heslo',
|
||||
'Lost password?': 'Zapomněl jste heslo?',
|
||||
'lost password?': 'zapomněl jste heslo?',
|
||||
'Manage': 'Manage',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Model rozbalovací nabídky',
|
||||
'Models': 'Modely',
|
||||
'models': 'modely',
|
||||
'Modified By': 'Změněno - kým',
|
||||
'Modified On': 'Změněno - kdy',
|
||||
'Modules': 'Moduly',
|
||||
'modules': 'moduly',
|
||||
'My Sites': 'Správa aplikací',
|
||||
'Name': 'Jméno',
|
||||
'new application "%s" created': 'nová aplikace "%s" vytvořena',
|
||||
'New Application Wizard': 'Nový průvodce aplikací',
|
||||
'New application wizard': 'Nový průvodce aplikací',
|
||||
'New password': 'Nové heslo',
|
||||
'New Record': 'Nový záznam',
|
||||
'new record inserted': 'nový záznam byl založen',
|
||||
'New simple application': 'Vytvořit primitivní aplikaci',
|
||||
'next': 'next',
|
||||
'next 100 rows': 'dalších 100 řádků',
|
||||
'No databases in this application': 'V této aplikaci nejsou žádné databáze',
|
||||
'No Interaction yet': 'Ještě žádná interakce nenastala',
|
||||
'No ticket_storage.txt found under /private folder': 'Soubor ticket_storage.txt v adresáři /private nenalezen',
|
||||
'Object or table name': 'Objekt či tabulka',
|
||||
'Old password': 'Původní heslo',
|
||||
'online designer': 'online návrhář',
|
||||
'Online examples': 'Příklady online',
|
||||
'Open new app in new window': 'Open new app in new window',
|
||||
'or alternatively': 'or alternatively',
|
||||
'Or Get from URL:': 'Or Get from URL:',
|
||||
'or import from csv file': 'nebo importovat z .csv souboru',
|
||||
'Origin': 'Původ',
|
||||
'Original/Translation': 'Originál/Překlad',
|
||||
'Other Plugins': 'Ostatní moduly',
|
||||
'Other Recipes': 'Ostatní zásuvné moduly',
|
||||
'Overview': 'Přehled',
|
||||
'Overwrite installed app': 'Přepsat instalovanou aplikaci',
|
||||
'Pack all': 'Zabalit',
|
||||
'Pack compiled': 'Zabalit zkompilované',
|
||||
'pack plugin': 'pack plugin',
|
||||
'password': 'heslo',
|
||||
'Password': 'Heslo',
|
||||
"Password fields don't match": 'Hesla se neshodují',
|
||||
'Peeking at file': 'Peeking at file',
|
||||
'Please': 'Prosím',
|
||||
'Plugin "%s" in application': 'Plugin "%s" in application',
|
||||
'plugins': 'zásuvné moduly',
|
||||
'Plugins': 'Zásuvné moduly',
|
||||
'Plural Form #%s': 'Plural Form #%s',
|
||||
'Plural-Forms:': 'Množná čísla:',
|
||||
'Powered by': 'Poháněno',
|
||||
'Preface': 'Předmluva',
|
||||
'previous 100 rows': 'předchozích 100 řádků',
|
||||
'Private files': 'Soukromé soubory',
|
||||
'private files': 'soukromé soubory',
|
||||
'profile': 'profil',
|
||||
'Project Progress': 'Vývoj projektu',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Dotaz:',
|
||||
'Quick Examples': 'Krátké příklady',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Klíče RAM Cache',
|
||||
'Ram Cleared': 'RAM smazána',
|
||||
'Readme': 'Nápověda',
|
||||
'Recipes': 'Postupy jak na to',
|
||||
'Record': 'Záznam',
|
||||
'record does not exist': 'záznam neexistuje',
|
||||
'Record ID': 'ID záznamu',
|
||||
'Record id': 'id záznamu',
|
||||
'refresh': 'obnovte',
|
||||
'register': 'registrovat',
|
||||
'Register': 'Zaregistrovat se',
|
||||
'Registration identifier': 'Registrační identifikátor',
|
||||
'Registration key': 'Registrační klíč',
|
||||
'reload': 'reload',
|
||||
'Reload routes': 'Znovu nahrát cesty',
|
||||
'Remember me (for 30 days)': 'Zapamatovat na 30 dní',
|
||||
'Remove compiled': 'Odstranit zkompilované',
|
||||
'Removed Breakpoint on %s at line %s': 'Bod přerušení smazán - soubor %s na řádce %s',
|
||||
'Replace': 'Zaměnit',
|
||||
'Replace All': 'Zaměnit vše',
|
||||
'request': 'request',
|
||||
'Reset Password key': 'Reset registračního klíče',
|
||||
'response': 'response',
|
||||
'restart': 'restart',
|
||||
'restore': 'obnovit',
|
||||
'Retrieve username': 'Získat přihlašovací jméno',
|
||||
'return': 'return',
|
||||
'revert': 'vrátit se k původnímu',
|
||||
'Role': 'Role',
|
||||
'Rows in Table': 'Záznamy v tabulce',
|
||||
'Rows selected': 'Záznamů zobrazeno',
|
||||
'rules are not defined': 'pravidla nejsou definována',
|
||||
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Spustí testy v tomto souboru (ke spuštění všech testů, použijte tlačítko 'test')",
|
||||
'Running on %s': 'Běží na %s',
|
||||
'Save': 'Uložit',
|
||||
'Save file:': 'Save file:',
|
||||
'Save via Ajax': 'Uložit pomocí Ajaxu',
|
||||
'Saved file hash:': 'hash uloženého souboru:',
|
||||
'Semantic': 'Modul semantic',
|
||||
'Services': 'Služby',
|
||||
'session': 'session',
|
||||
'session expired': 'session expired',
|
||||
'Set Breakpoint on %s at line %s: %s': 'Bod přerušení nastaven v souboru %s na řádce %s: %s',
|
||||
'shell': 'příkazová řádka',
|
||||
'Singular Form': 'Singular Form',
|
||||
'Site': 'Správa aplikací',
|
||||
'Size of cache:': 'Velikost cache:',
|
||||
'skip to generate': 'skip to generate',
|
||||
'Sorry, could not find mercurial installed': 'Bohužel mercurial není nainstalován.',
|
||||
'Start a new app': 'Vytvořit novou aplikaci',
|
||||
'Start searching': 'Začít hledání',
|
||||
'Start wizard': 'Spustit průvodce',
|
||||
'state': 'stav',
|
||||
'Static': 'Static',
|
||||
'static': 'statické soubory',
|
||||
'Static files': 'Statické soubory',
|
||||
'Statistics': 'Statistika',
|
||||
'Step': 'Step',
|
||||
'step': 'step',
|
||||
'stop': 'stop',
|
||||
'Stylesheet': 'CSS styly',
|
||||
'submit': 'odeslat',
|
||||
'Submit': 'Odeslat',
|
||||
'successful': 'úspěšně',
|
||||
'Support': 'Podpora',
|
||||
'Sure you want to delete this object?': 'Opravdu chcete smazat tento objekt?',
|
||||
'Table': 'tabulka',
|
||||
'Table name': 'Název tabulky',
|
||||
'Temporary': 'Dočasný',
|
||||
'test': 'test',
|
||||
'Testing application': '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.': '"Dotaz" je podmínka, například "db.tabulka1.pole1==\'hodnota\'". Podmínka "db.tabulka1.pole1==db.tabulka2.pole2" pak vytvoří SQL JOIN.',
|
||||
'The application logic, each URL path is mapped in one exposed function in the controller': 'Logika aplikace: každá URL je mapována na funkci vystavovanou kontrolérem.',
|
||||
'The Core': 'Jádro (The Core)',
|
||||
'The data representation, define database tables and sets': 'Reprezentace dat: definovat tabulky databáze a záznamy',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'Výstup ze souboru je slovník, který se zobrazil v pohledu %s.',
|
||||
'The presentations layer, views are also known as templates': 'Prezentační vrstva: pohledy či templaty (šablony)',
|
||||
'The Views': 'Pohledy (The Views)',
|
||||
'There are no controllers': 'There are no controllers',
|
||||
'There are no modules': 'There are no modules',
|
||||
'There are no plugins': 'Žádné moduly nejsou instalovány.',
|
||||
'There are no private files': 'Žádné soukromé soubory neexistují.',
|
||||
'There are no static files': 'There are no static files',
|
||||
'There are no translators, only default language is supported': 'There are no translators, only default language is supported',
|
||||
'There are no views': 'There are no views',
|
||||
'These files are not served, they are only available from within your app': 'Tyto soubory jsou klientům nepřístupné. K dispozici jsou pouze v rámci aplikace.',
|
||||
'These files are served without processing, your images go here': 'Tyto soubory jsou servírovány bez přídavné logiky, sem patří např. obrázky.',
|
||||
'This App': 'Tato aplikace',
|
||||
'This is a copy of the scaffolding application': 'Toto je kopie aplikace skelet.',
|
||||
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
|
||||
'This is the %(filename)s template': 'This is the %(filename)s template',
|
||||
'this page to see if a breakpoint was hit and debug interaction is required.': 'tuto stránku, abyste uviděli, zda se dosáhlo bodu přerušení.',
|
||||
'Ticket': 'Ticket',
|
||||
'Ticket ID': 'Ticket ID',
|
||||
'Time in Cache (h:m:s)': 'Čas v Cache (h:m:s)',
|
||||
'Timestamp': 'Časové razítko',
|
||||
'to previous version.': 'k předchozí verzi.',
|
||||
'To create a plugin, name a file/folder plugin_[name]': 'Zásuvný modul vytvoříte tak, že pojmenujete soubor/adresář plugin_[jméno modulu]',
|
||||
'To emulate a breakpoint programatically, write:': 'K nastavení bodu přerušení v kódu programu, napište:',
|
||||
'to use the debugger!': ', abyste mohli ladící program používat!',
|
||||
'toggle breakpoint': 'vyp./zap. bod přerušení',
|
||||
'Toggle Fullscreen': 'Na celou obrazovku a zpět',
|
||||
'too short': 'Příliš krátké',
|
||||
'Traceback': 'Traceback',
|
||||
'Translation strings for the application': 'Překlad textů pro aplikaci',
|
||||
'try something like': 'try something like',
|
||||
'Try the mobile interface': 'Zkuste rozhraní pro mobilní zařízení',
|
||||
'try view': 'try view',
|
||||
'Twitter': 'Twitter',
|
||||
'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement in here and hit Return (Enter) to execute it.',
|
||||
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
|
||||
'Unable to check for upgrades': 'Unable to check for upgrades',
|
||||
'unable to parse csv file': 'csv soubor nedá sa zpracovat',
|
||||
'uncheck all': 'vše odznačit',
|
||||
'Uninstall': 'Odinstalovat',
|
||||
'update': 'aktualizovat',
|
||||
'update all languages': 'aktualizovat všechny jazyky',
|
||||
'Update:': 'Upravit:',
|
||||
'Upgrade': 'Upgrade',
|
||||
'upgrade now': 'upgrade now',
|
||||
'upgrade now to %s': 'upgrade now to %s',
|
||||
'upload': 'nahrát',
|
||||
'Upload': 'Upload',
|
||||
'Upload a package:': 'Nahrát balík:',
|
||||
'Upload and install packed application': 'Nahrát a instalovat zabalenou aplikaci',
|
||||
'upload file:': 'nahrát soubor:',
|
||||
'upload plugin file:': 'nahrát soubor modulu:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použijte (...)&(...) pro AND, (...)|(...) pro OR a ~(...) pro NOT pro sestavení složitějších dotazů.',
|
||||
'User %(id)s Logged-in': 'Uživatel %(id)s přihlášen',
|
||||
'User %(id)s Logged-out': 'Uživatel %(id)s odhlášen',
|
||||
'User %(id)s Password changed': 'Uživatel %(id)s změnil 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': 'Uživatel %(id)s si nachal zaslat přihlašovací jméno',
|
||||
'User ID': 'ID uživatele',
|
||||
'Username': 'Přihlašovací jméno',
|
||||
'variables': 'variables',
|
||||
'Verify Password': 'Zopakujte heslo',
|
||||
'Version': 'Verze',
|
||||
'Version %s.%s.%s (%s) %s': 'Verze %s.%s.%s (%s) %s',
|
||||
'Versioning': 'Verzování',
|
||||
'Videos': 'Videa',
|
||||
'View': 'Pohled (View)',
|
||||
'Views': 'Pohledy',
|
||||
'views': 'pohledy',
|
||||
'Web Framework': 'Web Framework',
|
||||
'web2py is up to date': 'Máte aktuální verzi web2py.',
|
||||
'web2py online debugger': 'Ladící online web2py program',
|
||||
'web2py Recent Tweets': 'Štěbetání na Twitteru o web2py',
|
||||
'web2py upgrade': 'web2py upgrade',
|
||||
'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
|
||||
'Welcome': 'Vítejte',
|
||||
'Welcome to web2py': 'Vitejte ve web2py',
|
||||
'Welcome to web2py!': 'Vítejte ve web2py!',
|
||||
'Which called the function %s located in the file %s': 'která zavolala funkci %s v souboru (kontroléru) %s.',
|
||||
'You are successfully running web2py': 'Úspěšně jste spustili web2py.',
|
||||
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Nastavovat a mazat body přerušení je též možno v rámci editování zdrojového souboru přes tlačítko Vyp./Zap. bod přerušení',
|
||||
'You can modify this application and adapt it to your needs': 'Tuto aplikaci si můžete upravit a přizpůsobit ji svým potřebám.',
|
||||
'You need to set up and reach a': 'Je třeba nejprve nastavit a dojít až na',
|
||||
'You visited the url %s': 'Navštívili jste stránku %s,',
|
||||
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Aplikace bude blokována než se klikne na jedno z tlačítek (další, krok, pokračovat, atd.)',
|
||||
'You can inspect variables using the console bellow': 'Níže pomocí příkazové řádky si můžete prohlédnout proměnné',
|
||||
}
|
||||
199
applications/welcome3/languages/de.py
Normal file
@@ -0,0 +1,199 @@
|
||||
# coding: utf8
|
||||
{
|
||||
'!langcode!': 'de',
|
||||
'!langname!': 'Deutsch (DE)',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '""Update" ist ein optionaler Ausdruck wie "Feld1 = \'newvalue". JOIN Ergebnisse können nicht aktualisiert oder gelöscht werden',
|
||||
'%s %%(shop)': '%s %%(shop)',
|
||||
'%s %%(shop[0])': '%s %%(shop[0])',
|
||||
'%s %%{quark[0]}': '%s %%{quark[0]}',
|
||||
'%s %%{row} deleted': '%s %%{row} deleted',
|
||||
'%s %%{row} updated': '%s %%{row} updated',
|
||||
'%s %%{shop[0]}': '%s %%{shop[0]}',
|
||||
'%s %%{shop}': '%s %%{shop}',
|
||||
'%s selected': '%s selected',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'?': '?',
|
||||
'@markmin\x01**Hello World**': '**Hallo Welt**',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ein Fehler ist aufgetreten, bitte [[laden %s]] Sie die Seite neu',
|
||||
'About': 'Über',
|
||||
'Access Control': 'Zugangskontrolle',
|
||||
'Administrative Interface': 'Administrationsoberfläche',
|
||||
'Ajax Recipes': 'Ajax Rezepte',
|
||||
'appadmin is disabled because insecure channel': 'Appadmin ist deaktiviert, wegen der Benutzung eines unsicheren Kanals',
|
||||
'Are you sure you want to delete this object?': 'Sind Sie sich sicher, dass Sie dieses Objekt löschen wollen?',
|
||||
'Available Databases and Tables': 'Verfügbare Datenbanken und Tabellen',
|
||||
'Buy this book': 'Dieses Buch kaufen',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache geleert',
|
||||
'Cache Keys': 'Cache Schlüssel',
|
||||
'Cannot be empty': 'Darf nicht leer sein',
|
||||
'Check to delete': 'Auswählen um zu löschen',
|
||||
'Clear CACHE?': 'CACHE löschen?',
|
||||
'Clear DISK': 'DISK löschen',
|
||||
'Clear RAM': 'RAM löschen',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Komponenten und Plugins',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Created By': 'Erstellt von',
|
||||
'Created On': 'Erstellt am',
|
||||
'Current request': 'Derzeitiger Request',
|
||||
'Current response': 'Derzeitige Response',
|
||||
'Current session': 'Derzeitige Session',
|
||||
'customize me!': 'Pass mich an!',
|
||||
'data uploaded': 'Datei hochgeladen',
|
||||
'Database': 'Datenbank',
|
||||
'Database %s select': 'Datenbank %s ausgewählt',
|
||||
'Database Administration (appadmin)': 'Datenbankadministration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'Muster-DB',
|
||||
'Delete:': 'Lösche:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Entwicklungsrezepte',
|
||||
'Description': 'Beschreibung',
|
||||
'design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk gelöscht',
|
||||
'Documentation': 'Dokumentation',
|
||||
"Don't know what to do?": 'Wissen Sie nicht weiter?',
|
||||
'done!': 'Fertig!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Diesen Eintrag editieren',
|
||||
'Email and SMS': 'Email und SMS',
|
||||
'Enter an integer between %(min)g and %(max)g': 'Eine Zahl zwischen %(min)g und %(max)g eingeben',
|
||||
'enter an integer between %(min)g and %(max)g': 'eine Zahl zwischen %(min)g und %(max)g eingeben',
|
||||
'enter date and time as %(format)s': 'ein Datum und eine Uhrzeit als %(format)s eingeben',
|
||||
'Errors': 'Fehlermeldungen',
|
||||
'export as csv file': 'als csv Datei exportieren',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Vorname',
|
||||
'Forms and Validators': 'Forms und Validators',
|
||||
'Free Applications': 'Kostenlose Anwendungen',
|
||||
'Graph Model': 'Muster-Graph',
|
||||
'Group %(group_id)s created': 'Gruppe %(group_id)s erstellt',
|
||||
'Group ID': 'Gruppen ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Gruppe eindeutigem Benutzer %(id)s zugewiesen',
|
||||
'Groups': 'Gruppen',
|
||||
'Hello World': 'Hallo Welt',
|
||||
'Hello World ## Kommentar': 'Hallo Welt ',
|
||||
'Hello World## Kommentar': 'Hallo Welt',
|
||||
'Home': 'Startseite',
|
||||
'How did you get here?': 'Wie sind Sie hier her gelangt?',
|
||||
'import': 'Importieren',
|
||||
'Import/Export': 'Importieren/Exportieren',
|
||||
'Internal State': 'Innerer Zustand',
|
||||
'Introduction': 'Einführung',
|
||||
'Invalid email': 'Ungültige Email',
|
||||
'Invalid Query': 'Ungültige Query',
|
||||
'invalid request': 'Ungültiger Request',
|
||||
'Is Active': 'Ist aktiv',
|
||||
'Key': 'Schlüssel',
|
||||
'Last name': 'Nachname',
|
||||
'Layout': 'Layout',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Logged in': 'Eingeloggt',
|
||||
'Logged out': 'Ausgeloggt',
|
||||
'Login': 'Einloggen',
|
||||
'Logout': 'Ausloggen',
|
||||
'Lost Password': 'Passwort vergessen',
|
||||
'Lost password?': 'Passwort vergessen?',
|
||||
'Manage %(action)s': '%(action)s verwalten',
|
||||
'Manage Access Control': 'Zugangskontrolle verwalten',
|
||||
'Manage Cache': 'Cache verwalten',
|
||||
'Memberships': 'Mitgliedschaften',
|
||||
'Menu Model': 'Menü-Muster',
|
||||
'Modified By': 'Verändert von',
|
||||
'Modified On': 'Verändert am',
|
||||
'My Sites': 'Meine Seiten',
|
||||
'Name': 'Name',
|
||||
'New Record': 'Neuer Eintrag',
|
||||
'new record inserted': 'neuer Eintrag hinzugefügt',
|
||||
'next %s rows': 'nächste %s Reihen',
|
||||
'No databases in this application': 'Keine Datenbank in dieser Anwendung',
|
||||
'Object or table name': 'Objekt- oder Tabellenname',
|
||||
'Online examples': 'Online Beispiele',
|
||||
'or import from csv file': 'oder von csv Datei importieren',
|
||||
'Origin': 'Ursprung',
|
||||
'Other Plugins': 'Andere Plugins',
|
||||
'Other Recipes': 'Andere Rezepte',
|
||||
'Overview': 'Überblick',
|
||||
'Password': 'Passwort',
|
||||
"Password fields don't match": 'Passwortfelder sind nicht gleich',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'Bitte geben Sie ihr Passwort erneut ein',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Unterstützt von',
|
||||
'Preface': 'Allgemeines',
|
||||
'previous %s rows': 'vorherige %s Reihen',
|
||||
'Profile': 'Profil',
|
||||
'pygraphviz library not found': 'pygraphviz Bibliothek wurde nicht gefunden',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Query:',
|
||||
'Quick Examples': 'Kurze Beispiele',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Rezepte',
|
||||
'Record': 'Eintrag',
|
||||
'record does not exist': 'Eintrag existiert nicht',
|
||||
'Record ID': 'ID des Eintrags',
|
||||
'Record id': 'id des Eintrags',
|
||||
'Register': 'Register',
|
||||
'Registration identifier': 'Registrierungsbezeichnung',
|
||||
'Registration key': 'Registierungsschlüssel',
|
||||
'Registration successful': 'Registrierung erfolgreich',
|
||||
'Remember me (for 30 days)': 'Eingeloggt bleiben (30 Tage lang)',
|
||||
'Reset Password key': 'Passwortschlüssel zurücksetzen',
|
||||
'Role': 'Rolle',
|
||||
'Roles': 'Rollen',
|
||||
'Rows in Table': 'Tabellenreihen',
|
||||
'Rows selected': 'Reihen ausgewählt',
|
||||
'Save model as...': 'Speichere Vorlage als...',
|
||||
'Semantic': 'Semantik',
|
||||
'Services': 'Dienste',
|
||||
'Size of cache:': 'Cachegröße:',
|
||||
'state': 'Status',
|
||||
'Statistics': 'Statistik',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'Submit',
|
||||
'Support': 'Support',
|
||||
'Table': 'Tabelle',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'Die "query" ist eine Bedingung wie "db.tabelle1.feld1==\'wert\'". So etwas wie "db.tabelle1.feld1==db.tabelle2.feld2" resultiert in einem SQL JOIN.',
|
||||
'The Core': 'Der Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'Die Ausgabe der Datei ist ein "dictionary", welches vom "view" %s gerendert wurde',
|
||||
'The Views': 'Die Views',
|
||||
'This App': 'Diese App',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Zeit im Cache (h:m:s)',
|
||||
'Timestamp': 'Zeitstempel',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'csv Datei konnte nicht geparst werden',
|
||||
'Update:': 'Update:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Benutze (...)&(...) für AND, (...)|(...) für OR, und ~(...) für NOT um komplexere Queries zu erstellen.',
|
||||
'User': 'Benutzer',
|
||||
'User %(id)s Logged-in': 'Benutzer %(id)s hat sich eingeloggt',
|
||||
'User %(id)s Logged-out': 'Benutzer %(id)s hat sich ausgeloggt',
|
||||
'User %(id)s Registered': 'Benutzer %(id)s hat sich registriert',
|
||||
'User ID': 'Benutzer ID',
|
||||
'Users': 'Benutzer',
|
||||
'value already in database or empty': 'Wert ist bereits in der Datenbank oder leer',
|
||||
'Verify Password': 'Passwort überprüfen',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Ansicht',
|
||||
'Welcome': 'Willkommen',
|
||||
'Welcome to web2py!': 'Willkommen bei web2py!',
|
||||
'Which called the function %s located in the file %s': 'Welche die Funktion %s in der Datei %s aufrief',
|
||||
'Working...': 'Arbeite...',
|
||||
'You are successfully running web2py': 'web2py wird erfolgreich ausgeführt',
|
||||
'You can modify this application and adapt it to your needs': 'Sie können diese Anwendung verändern und Ihren Bedürfnissen anpassen',
|
||||
'You visited the url %s': 'Sie haben die URL %s besucht',
|
||||
}
|
||||
122
applications/welcome3/languages/default.py
Normal file
@@ -0,0 +1,122 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'en-us',
|
||||
'!langname!': 'English (US)',
|
||||
'%s %%(shop)': '%s %%(shop)',
|
||||
'%s %%(shop[0])': '%s %%(shop[0])',
|
||||
'%s %%{quark[0]}': '%s %%{quark[0]}',
|
||||
'%s %%{shop[0]}': '%s %%{shop[0]}',
|
||||
'%s %%{shop}': '%s %%{shop}',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'@markmin\x01**Hello World**': '**Hello World**',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Buy this book': 'Buy this book',
|
||||
'Cannot be empty': 'Cannot be empty',
|
||||
'Check to delete': 'Check to delete',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Created By': 'Created By',
|
||||
'Created On': 'Created On',
|
||||
'customize me!': 'customize me!',
|
||||
'Database': 'Database',
|
||||
'DB Model': 'DB Model',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Description',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g',
|
||||
'enter date and time as %(format)s': 'enter date and time as %(format)s',
|
||||
'Errors': 'Errors',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Hello World',
|
||||
'Hello World ## comment': 'Hello World ',
|
||||
'Hello World## comment': 'Hello World',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Is Active': 'Is Active',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Layout',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'Login',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Lost Password',
|
||||
'Lost password?': 'Lost password?',
|
||||
'Menu Model': 'Menu Model',
|
||||
'Modified By': 'Modified By',
|
||||
'Modified On': 'Modified On',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Online examples': 'Online examples',
|
||||
'Origin': 'Origin',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
"Password fields don't match": "Password fields don't match",
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'Profile': 'Profile',
|
||||
'Python': 'Python',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'Recipes': 'Recipes',
|
||||
'Record ID': 'Record ID',
|
||||
'Register': 'Register',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration key': 'Registration key',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Remember me (for 30 days)',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Support': 'Support',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': 'The Views',
|
||||
'This App': 'This App',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Twitter': 'Twitter',
|
||||
'User %(id)s Logged-in': 'User %(id)s Logged-in',
|
||||
'User %(id)s Logged-out': 'User %(id)s Logged-out',
|
||||
'User %(id)s Registered': 'User %(id)s Registered',
|
||||
'User ID': 'User ID',
|
||||
'value already in database or empty': 'value already in database or empty',
|
||||
'Verify Password': 'Verify Password',
|
||||
'Videos': 'Videos',
|
||||
'View': 'View',
|
||||
'Welcome': 'Welcome',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'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 %s': 'You visited the url %s',
|
||||
}
|
||||
433
applications/welcome3/languages/es.py
Normal file
@@ -0,0 +1,433 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'es',
|
||||
'!langname!': 'Español',
|
||||
'"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',
|
||||
'%(nrows)s records found': '%(nrows)s registros encontrados',
|
||||
'%s %%{position}': '%s %%{posición}',
|
||||
'%s %%{row} deleted': '%s %%{fila} %%{eliminada}',
|
||||
'%s %%{row} updated': '%s %%{fila} %%{actualizada}',
|
||||
'%s selected': '%s %%{seleccionado}',
|
||||
'%Y-%m-%d': '%d/%m/%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
|
||||
'(something like "it-it")': '(algo como "eso-eso")',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ha ocurrido un error, por favor [[recargar %s]] la página',
|
||||
'@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**',
|
||||
'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',
|
||||
'About': 'Acerca de',
|
||||
'about': 'acerca de',
|
||||
'About application': 'Acerca de la aplicación',
|
||||
'Access Control': 'Control de Acceso',
|
||||
'Add': 'Añadir',
|
||||
'additional code for your application': 'código adicional para su aplicación',
|
||||
'admin disabled because no admin password': 'admin deshabilitado 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',
|
||||
'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',
|
||||
'Administrative interface': 'Interfaz administrativa',
|
||||
'Administrative Interface': 'Interfaz Administrativa',
|
||||
'Administrator Password:': 'Contraseña del Administrador:',
|
||||
'Ajax Recipes': 'Recetas AJAX',
|
||||
'An error occured, please %s the page': 'Ha ocurrido un error, por favor %s la página',
|
||||
'And': 'Y',
|
||||
'and rename it (required):': 'y renómbrela (requerido):',
|
||||
'and rename it:': ' y renómbrelo:',
|
||||
'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',
|
||||
'Apply changes': 'Aplicar cambios',
|
||||
'Appointment': 'Nombramiento',
|
||||
'Are you sure you want to delete file "%s"?': '¿Está seguro que desea eliminar el archivo "%s"?',
|
||||
'Are you sure you want to delete this object?': '¿Está seguro que desea borrar este objeto?',
|
||||
'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"?',
|
||||
'at': 'en',
|
||||
'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 está ejecutandose!',
|
||||
'Authentication': 'Autenticación',
|
||||
'Authentication failed at client DB!': '¡La autenticación ha fallado en la BDD cliente!',
|
||||
'Authentication failed at main DB!': '¡La autenticación ha fallado en la BDD principal!',
|
||||
'Available Databases and Tables': 'Bases de datos y tablas disponibles',
|
||||
'Back': 'Atrás',
|
||||
'Buy this book': 'Compra este libro',
|
||||
'Cache': 'Caché',
|
||||
'cache': 'caché',
|
||||
'Cache Keys': 'Llaves de la Caché',
|
||||
'cache, errors and sessions cleaned': 'caché, errores y sesiones eliminados',
|
||||
'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.',
|
||||
'cannot create file': 'no es posible crear archivo',
|
||||
'cannot upload file "%(filename)s"': 'no es posible subir archivo "%(filename)s"',
|
||||
'Change Password': 'Cambie la Contraseña',
|
||||
'Change password': 'Cambie la contraseña',
|
||||
'change password': 'cambie la contraseña',
|
||||
'check all': 'marcar todos',
|
||||
'Check to delete': 'Marque para eliminar',
|
||||
'choose one': 'escoja uno',
|
||||
'clean': 'limpiar',
|
||||
'Clear': 'Limpiar',
|
||||
'Clear CACHE?': '¿Limpiar CACHÉ?',
|
||||
'Clear DISK': 'Limpiar DISCO',
|
||||
'Clear RAM': 'Limpiar RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Pulse en el enlace %(link)s para reiniciar su contraseña',
|
||||
'click to check for upgrades': 'haga clic para buscar actualizaciones',
|
||||
'client': 'cliente',
|
||||
'Client IP': 'IP del Cliente',
|
||||
'Close': 'Cerrar',
|
||||
'Community': 'Comunidad',
|
||||
'compile': 'compilar',
|
||||
'compiled application removed': 'aplicación compilada eliminada',
|
||||
'Components and Plugins': 'Componentes y Plugins',
|
||||
'contains': 'contiene',
|
||||
'Controller': 'Controlador',
|
||||
'Controllers': 'Controladores',
|
||||
'controllers': 'controladores',
|
||||
'Copyright': 'Copyright',
|
||||
'create file with filename:': 'cree archivo con nombre:',
|
||||
'Create new application': 'Cree una nueva aplicación',
|
||||
'create new application:': 'nombre de la nueva aplicación:',
|
||||
'Created By': 'Creado Por',
|
||||
'Created On': 'Creado En',
|
||||
'CSV (hidden cols)': 'CSV (columnas ocultas)',
|
||||
'Current request': 'Solicitud en curso',
|
||||
'Current response': 'Respuesta en curso',
|
||||
'Current session': 'Sesión en curso',
|
||||
'currently saved or': 'actualmente guardado o',
|
||||
'customize me!': '¡Adáptame!',
|
||||
'data uploaded': 'datos subidos',
|
||||
'Database': 'Base de datos',
|
||||
'Database %s select': 'selección en base de datos %s',
|
||||
'database administration': 'administración de base de datos',
|
||||
'Database Administration (appadmin)': 'Administración de Base de Datos (appadmin)',
|
||||
'Date and Time': 'Fecha y Hora',
|
||||
'DB': 'BDD',
|
||||
'db': 'bdd',
|
||||
'DB Model': 'Modelo BDD',
|
||||
'defines tables': 'define tablas',
|
||||
'Delete': 'Eliminar',
|
||||
'delete': 'eliminar',
|
||||
'delete all checked': 'eliminar marcados',
|
||||
'Delete:': 'Eliminar:',
|
||||
'Demo': 'Demostración',
|
||||
'Deploy on Google App Engine': 'Despliegue en Google App Engine',
|
||||
'Deployment Recipes': 'Recetas de despliegue',
|
||||
'Description': 'Descripción',
|
||||
'design': 'diseño',
|
||||
'DESIGN': 'DISEÑO',
|
||||
'Design for': 'Diseño por',
|
||||
'detecting': 'detectando',
|
||||
'DISK': 'DISCO',
|
||||
'Disk Cache Keys': 'Llaves de Caché en Disco',
|
||||
'Disk Cleared': 'Disco limpiado',
|
||||
'Documentation': 'Documentación',
|
||||
"Don't know what to do?": '¿No sabe que hacer?',
|
||||
'done!': '¡hecho!',
|
||||
'Download': 'Descargas',
|
||||
'E-mail': 'Correo electrónico',
|
||||
'edit': 'editar',
|
||||
'EDIT': 'EDITAR',
|
||||
'Edit': 'Editar',
|
||||
'Edit application': 'Editar aplicación',
|
||||
'edit controller': 'editar controlador',
|
||||
'Edit current record': 'Edite el registro actual',
|
||||
'Edit Profile': 'Editar Perfil',
|
||||
'edit profile': 'editar perfil',
|
||||
'Edit This App': 'Edite esta App',
|
||||
'Editing file': 'Editando archivo',
|
||||
'Editing file "%s"': 'Editando archivo "%s"',
|
||||
'Email and SMS': 'Correo electrónico y SMS',
|
||||
'Email sent': 'Correo electrónico enviado',
|
||||
'End of impersonation': 'Fin de suplantación',
|
||||
'enter a number between %(min)g and %(max)g': 'introduzca un número entre %(min)g y %(max)g',
|
||||
'enter a value': 'introduzca un valor',
|
||||
'enter an integer between %(min)g and %(max)g': 'introduzca un entero entre %(min)g y %(max)g',
|
||||
'enter date and time as %(format)s': 'introduzca fecha y hora como %(format)s',
|
||||
'Error logs for "%(app)s"': 'Bitácora de errores en "%(app)s"',
|
||||
'errors': 'errores',
|
||||
'Errors': 'Errores',
|
||||
'Errors in form, please check it out.': 'Hay errores en el formulario, por favor comprúebelo.',
|
||||
'export as csv file': 'exportar como archivo CSV',
|
||||
'Export:': 'Exportar:',
|
||||
'exposes': 'expone',
|
||||
'extends': 'extiende',
|
||||
'failed to reload module': 'la recarga del módulo ha fallado',
|
||||
'FAQ': 'FAQ',
|
||||
'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',
|
||||
'First name': 'Nombre',
|
||||
'Forgot username?': '¿Olvidó el nombre de usuario?',
|
||||
'Forms and Validators': 'Formularios y validadores',
|
||||
'Free Applications': 'Aplicaciones Libres',
|
||||
'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].',
|
||||
'Group %(group_id)s created': 'Grupo %(group_id)s creado',
|
||||
'Group ID': 'ID de Grupo',
|
||||
'Group uniquely assigned to user %(id)s': 'Grupo asignado únicamente al usuario %(id)s',
|
||||
'Groups': 'Grupos',
|
||||
'Hello World': 'Hola Mundo',
|
||||
'help': 'ayuda',
|
||||
'Home': 'Inicio',
|
||||
'How did you get here?': '¿Cómo llegaste aquí?',
|
||||
'htmledit': 'htmledit',
|
||||
'Impersonate': 'Suplantar',
|
||||
'import': 'importar',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'in': 'en',
|
||||
'includes': 'incluye',
|
||||
'Index': 'Índice',
|
||||
'insert new': 'inserte nuevo',
|
||||
'insert new %s': 'inserte nuevo %s',
|
||||
'Installed applications': 'Aplicaciones instaladas',
|
||||
'Insufficient privileges': 'Privilegios insuficientes',
|
||||
'internal error': 'error interno',
|
||||
'Internal State': 'Estado Interno',
|
||||
'Introduction': 'Introducción',
|
||||
'Invalid action': 'Acción inválida',
|
||||
'Invalid email': 'Correo electrónico inválido',
|
||||
'invalid expression': 'expresión inválida',
|
||||
'Invalid login': 'Inicio de sesión inválido',
|
||||
'invalid password': 'contraseña inválida',
|
||||
'Invalid Query': 'Consulta inválida',
|
||||
'invalid request': 'solicitud inválida',
|
||||
'Invalid reset password': 'Reinicio de contraseña inválido',
|
||||
'invalid ticket': 'tiquete inválido',
|
||||
'Is Active': 'Está Activo',
|
||||
'Key': 'Llave',
|
||||
'language file "%(filename)s" created/updated': 'archivo de lenguaje "%(filename)s" creado/actualizado',
|
||||
'Language files (static strings) updated': 'Archivos de lenguaje (cadenas estáticas) actualizados',
|
||||
'languages': 'lenguajes',
|
||||
'Languages': 'Lenguajes',
|
||||
'languages updated': 'lenguajes actualizados',
|
||||
'Last name': 'Apellido',
|
||||
'Last saved on:': 'Guardado en:',
|
||||
'Layout': 'Diseño de página',
|
||||
'Layout Plugins': 'Plugins de diseño',
|
||||
'Layouts': 'Diseños de páginas',
|
||||
'License for': 'Licencia para',
|
||||
'Live Chat': 'Chat en vivo',
|
||||
'loading...': 'cargando...',
|
||||
'Logged in': 'Sesión iniciada',
|
||||
'Logged out': 'Sesión finalizada',
|
||||
'Login': 'Inicio de sesión',
|
||||
'login': 'inicio de sesión',
|
||||
'Login disabled by administrator': 'Inicio de sesión deshabilitado por el administrador',
|
||||
'Login to the Administrative Interface': 'Inicio de sesión para la Interfaz Administrativa',
|
||||
'logout': 'fin de sesión',
|
||||
'Logout': 'Fin de sesión',
|
||||
'Lost Password': 'Contraseña perdida',
|
||||
'Lost password?': '¿Olvidó la contraseña?',
|
||||
'lost password?': '¿olvidó la contraseña?',
|
||||
'Main Menu': 'Menú principal',
|
||||
'Manage Cache': 'Gestionar la Caché',
|
||||
'Menu Model': 'Modelo "menu"',
|
||||
'merge': 'combinar',
|
||||
'Models': 'Modelos',
|
||||
'models': 'modelos',
|
||||
'Modified By': 'Modificado Por',
|
||||
'Modified On': 'Modificado En',
|
||||
'Modules': 'Módulos',
|
||||
'modules': 'módulos',
|
||||
'must be YYYY-MM-DD HH:MM:SS!': '¡debe ser DD/MM/YYYY HH:MM:SS!',
|
||||
'must be YYYY-MM-DD!': '¡debe ser DD/MM/YYYY!',
|
||||
'My Sites': 'Mis Sitios',
|
||||
'Name': 'Nombre',
|
||||
'New': 'Nuevo',
|
||||
'New %(entity)s': 'Nuevo %(entity)s',
|
||||
'new application "%s" created': 'nueva aplicación "%s" creada',
|
||||
'New password': 'Contraseña nueva',
|
||||
'New Record': 'Registro nuevo',
|
||||
'new record inserted': 'nuevo registro insertado',
|
||||
'next 100 rows': '100 filas siguientes',
|
||||
'NO': 'NO',
|
||||
'No databases in this application': 'No hay bases de datos en esta aplicación',
|
||||
'No records found': 'No se han encontrado registros',
|
||||
'Not authorized': 'No autorizado',
|
||||
'not in': 'no en',
|
||||
'Object or table name': 'Nombre del objeto o tabla',
|
||||
'Old password': 'Contraseña vieja',
|
||||
'Online examples': 'Ejemplos en línea',
|
||||
'Or': 'O',
|
||||
'or import from csv file': 'o importar desde archivo CSV',
|
||||
'or provide application url:': 'o provea URL de la aplicación:',
|
||||
'Origin': 'Origen',
|
||||
'Original/Translation': 'Original/Traducción',
|
||||
'Other Plugins': 'Otros Plugins',
|
||||
'Other Recipes': 'Otras Recetas',
|
||||
'Overview': 'Resumen',
|
||||
'pack all': 'empaquetar todo',
|
||||
'pack compiled': 'empaquetar compilados',
|
||||
'Password': 'Contraseña',
|
||||
'Password changed': 'Contraseña cambiada',
|
||||
"Password fields don't match": 'Los campos de contraseña no coinciden',
|
||||
'Password reset': 'Reinicio de contraseña',
|
||||
'Peeking at file': 'Visualizando archivo',
|
||||
'Phone': 'Teléfono',
|
||||
'please input your password again': 'por favor introduzca su contraseña otra vez',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Este sitio usa',
|
||||
'Preface': 'Prefacio',
|
||||
'previous 100 rows': '100 filas anteriores',
|
||||
'Profile': 'Perfil',
|
||||
'Profile updated': 'Perfil actualizado',
|
||||
'Python': 'Python',
|
||||
'Query Not Supported: %s': 'Consulta No Soportada: %s',
|
||||
'Query:': 'Consulta:',
|
||||
'Quick Examples': 'Ejemplos Rápidos',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Llaves de la Caché en RAM',
|
||||
'Ram Cleared': 'Ram Limpiada',
|
||||
'Recipes': 'Recetas',
|
||||
'Record': 'Registro',
|
||||
'Record %(id)s created': 'Registro %(id)s creado',
|
||||
'Record Created': 'Registro Creado',
|
||||
'record does not exist': 'el registro no existe',
|
||||
'Record ID': 'ID de Registro',
|
||||
'Record id': 'Id de registro',
|
||||
'register': 'regístrese',
|
||||
'Register': 'Regístrese',
|
||||
'Registration identifier': 'Identificador de Registro',
|
||||
'Registration key': 'Llave de registro',
|
||||
'Registration successful': 'Registro con éxito',
|
||||
'reload': 'recargar',
|
||||
'Remember me (for 30 days)': 'Recuérdame (durante 30 días)',
|
||||
'remove compiled': 'eliminar compiladas',
|
||||
'Request reset password': 'Solicitar reinicio de contraseña',
|
||||
'Reset password': 'Reiniciar contraseña',
|
||||
'Reset Password key': 'Restaurar Llave de la Contraseña',
|
||||
'Resolve Conflict file': 'archivo Resolución de Conflicto',
|
||||
'restore': 'restaurar',
|
||||
'Retrieve username': 'Recuperar nombre de usuario',
|
||||
'revert': 'revertir',
|
||||
'Role': 'Rol',
|
||||
'Rows in Table': 'Filas en la tabla',
|
||||
'Rows selected': 'Filas seleccionadas',
|
||||
'save': 'guardar',
|
||||
'Saved file hash:': 'Hash del archivo guardado:',
|
||||
'Search': 'Buscar',
|
||||
'Semantic': 'Semántica',
|
||||
'Services': 'Servicios',
|
||||
'session expired': 'sesión expirada',
|
||||
'shell': 'terminal',
|
||||
'site': 'sitio',
|
||||
'Size of cache:': 'Tamaño de la Caché:',
|
||||
'some files could not be removed': 'algunos archivos no pudieron ser removidos',
|
||||
'start': 'inicio',
|
||||
'starts with': 'comienza por',
|
||||
'state': 'estado',
|
||||
'static': 'estáticos',
|
||||
'Static files': 'Archivos estáticos',
|
||||
'Statistics': 'Estadísticas',
|
||||
'Stylesheet': 'Hoja de estilo',
|
||||
'Submit': 'Enviar',
|
||||
'submit': 'enviar',
|
||||
'Success!': '¡Correcto!',
|
||||
'Support': 'Soporte',
|
||||
'Sure you want to delete this object?': '¿Está seguro que desea eliminar este objeto?',
|
||||
'Table': 'tabla',
|
||||
'Table name': 'Nombre de la tabla',
|
||||
'test': 'probar',
|
||||
'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 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 Core': 'El Núcleo',
|
||||
'the data representation, define database tables and sets': 'la representación de datos, define tablas y conjuntos de base de datos',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'La salida de dicha función es un diccionario que es desplegado por la vista %s',
|
||||
'the presentations layer, views are also known as templates': 'la capa de presentación, las vistas también son llamadas plantillas',
|
||||
'The Views': 'Las Vistas',
|
||||
'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',
|
||||
'these files are served without processing, your images go here': 'estos archivos son servidos sin procesar, sus imágenes van aquí',
|
||||
'This App': 'Esta Aplicación',
|
||||
'This email already has an account': 'Este correo electrónico ya tiene una cuenta',
|
||||
'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',
|
||||
'Time in Cache (h:m:s)': 'Tiempo en Caché (h:m:s)',
|
||||
'Timestamp': 'Marca de tiempo',
|
||||
'to previous version.': 'a la versión previa.',
|
||||
'To emulate a breakpoint programatically, write:': 'Emular un punto de ruptura programáticamente, escribir:',
|
||||
'to use the debugger!': '¡usar el depurador!',
|
||||
'toggle breakpoint': 'alternar punto de ruptura',
|
||||
'Toggle comment': 'Alternar comentario',
|
||||
'Toggle Fullscreen': 'Alternar pantalla completa',
|
||||
'too short': 'demasiado corto',
|
||||
'translation strings for the application': 'cadenas de caracteres de traducción para la aplicación',
|
||||
'try': 'intente',
|
||||
'try something like': 'intente algo como',
|
||||
'TSV (Excel compatible)': 'TSV (compatible Excel)',
|
||||
'TSV (Excel compatible, hidden cols)': 'TSV (compatible Excel, columnas ocultas)',
|
||||
'Twitter': 'Twitter',
|
||||
'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones',
|
||||
'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 download': 'No es posible la descarga',
|
||||
'Unable to download app': 'No es posible descarga la aplicación',
|
||||
'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',
|
||||
'unknown': 'desconocido',
|
||||
'update': 'actualizar',
|
||||
'update all languages': 'actualizar todos los lenguajes',
|
||||
'Update:': 'Actualice:',
|
||||
'upload application:': 'subir aplicación:',
|
||||
'Upload existing application': 'Suba esta aplicación',
|
||||
'upload file:': 'suba archivo:',
|
||||
'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)s is impersonating %(other_id)s': 'El usuario %(id)s está suplantando %(other_id)s',
|
||||
'User %(id)s Logged-in': 'El usuario %(id)s inició la sesión',
|
||||
'User %(id)s Logged-out': 'El usuario %(id)s finalizó la sesión',
|
||||
'User %(id)s Password changed': 'Contraseña del usuario %(id)s cambiada',
|
||||
'User %(id)s Password reset': 'Contraseña del usuario %(id)s reiniciada',
|
||||
'User %(id)s Profile updated': 'Actualizado el perfil del usuario %(id)s',
|
||||
'User %(id)s Registered': 'Usuario %(id)s Registrado',
|
||||
'User %(id)s Username retrieved': 'Se ha recuperado el nombre de usuario del usuario %(id)s',
|
||||
'User %(username)s Logged-in': 'El usuario %(username)s inició la sesión',
|
||||
"User '%(username)s' Logged-in": "El usuario '%(username)s' inició la sesión",
|
||||
"User '%(username)s' Logged-out": "El usuario '%(username)s' finalizó la sesión",
|
||||
'User Id': 'Id de Usuario',
|
||||
'User ID': 'ID de Usuario',
|
||||
'User Logged-out': 'El usuario finalizó la sesión',
|
||||
'Username': 'Nombre de usuario',
|
||||
'Username retrieve': 'Recuperar nombre de usuario',
|
||||
'value already in database or empty': 'el valor ya existe en la base de datos o está vacío',
|
||||
'value not allowed': 'valor no permitido',
|
||||
'value not in database': 'el valor no está en la base de datos',
|
||||
'Verify Password': 'Verificar Contraseña',
|
||||
'Version': 'Versión',
|
||||
'versioning': 'versiones',
|
||||
'Videos': 'Vídeos',
|
||||
'View': 'Vista',
|
||||
'view': 'vista',
|
||||
'View %(entity)s': 'Ver %(entity)s',
|
||||
'Views': 'Vistas',
|
||||
'views': 'vistas',
|
||||
'web2py is up to date': 'web2py está actualizado',
|
||||
'web2py Recent Tweets': 'Tweets Recientes de web2py',
|
||||
'Welcome': 'Bienvenido',
|
||||
'Welcome %s': 'Bienvenido %s',
|
||||
'Welcome to web2py': 'Bienvenido a web2py',
|
||||
'Welcome to web2py!': '¡Bienvenido a web2py!',
|
||||
'Which called the function %s located in the file %s': 'La cual llamó la función %s localizada en el archivo %s',
|
||||
'Working...': 'Trabajando...',
|
||||
'YES': 'SÍ',
|
||||
'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 %s': 'Usted visitó la url %s',
|
||||
'Your username is: %(username)s': 'Su nombre de usuario es: %(username)s',
|
||||
}
|
||||
195
applications/welcome3/languages/fr-ca.py
Normal file
@@ -0,0 +1,195 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'fr-ca',
|
||||
'!langname!': 'Français (Canadien)',
|
||||
'"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',
|
||||
'%s %%{row} deleted': '%s rangées supprimées',
|
||||
'%s %%{row} updated': '%s rangées mises à jour',
|
||||
'%s selected': '%s sélectionné',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'about': 'à propos',
|
||||
'About': 'À propos',
|
||||
'Access Control': "Contrôle d'accès",
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': "Interface d'administration",
|
||||
'Ajax Recipes': 'Recettes Ajax',
|
||||
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
|
||||
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
|
||||
'Authentication': 'Authentification',
|
||||
'Available Databases and Tables': 'Bases de données et tables disponibles',
|
||||
'Buy this book': 'Acheter ce livre',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Ne peut pas être vide',
|
||||
'change password': 'changer le mot de passe',
|
||||
'Check to delete': 'Cliquez pour supprimer',
|
||||
'Check to delete:': 'Cliquez pour supprimer:',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Client IP': 'IP client',
|
||||
'Community': 'Communauté',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': 'Contrôleur',
|
||||
'Copyright': "Droit d'auteur",
|
||||
'Current request': 'Demande actuelle',
|
||||
'Current response': 'Réponse actuelle',
|
||||
'Current session': 'Session en cours',
|
||||
'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',
|
||||
'DB Model': 'Modèle DB',
|
||||
'Delete:': 'Supprimer:',
|
||||
'Demo': 'Démo',
|
||||
'Deployment Recipes': 'Recettes de déploiement ',
|
||||
'Description': 'Descriptif',
|
||||
'design': 'design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'fait!',
|
||||
'Download': 'Téléchargement',
|
||||
'E-mail': 'Courriel',
|
||||
'Edit': 'Éditer',
|
||||
'Edit current record': "Modifier l'enregistrement courant",
|
||||
'edit profile': 'modifier le profil',
|
||||
'Edit This App': 'Modifier cette application',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'enter an integer between %(min)g and %(max)g': 'entrer un entier compris entre %(min)g et %(max)g',
|
||||
'Errors': 'Erreurs',
|
||||
'export as csv file': 'exporter sous forme de fichier csv',
|
||||
'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',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Importer/Exporter',
|
||||
'Index': 'Index',
|
||||
'insert new': 'insérer un nouveau',
|
||||
'insert new %s': 'insérer un nouveau %s',
|
||||
'Internal State': 'État interne',
|
||||
'Introduction': 'Présentation',
|
||||
'Invalid email': 'Courriel invalide',
|
||||
'Invalid Query': 'Requête Invalide',
|
||||
'invalid request': 'requête invalide',
|
||||
'Key': 'Key',
|
||||
'Last name': 'Nom',
|
||||
'Layout': 'Mise en page',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'layouts',
|
||||
'Live chat': 'Clavardage en direct',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Logged in': 'Connecté',
|
||||
'login': 'connectez-vous',
|
||||
'Login': 'Connectez-vous',
|
||||
'logout': 'déconnectez-vous',
|
||||
'lost password': 'mot de passe perdu',
|
||||
'Lost Password': 'Mot de passe perdu',
|
||||
'lost password?': 'mot de passe perdu?',
|
||||
'Main Menu': 'Menu principal',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Menu modèle',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Nom',
|
||||
'New Record': 'Nouvel enregistrement',
|
||||
'new record inserted': 'nouvel enregistrement inséré',
|
||||
'next 100 rows': '100 prochaines lignes',
|
||||
'No databases in this application': "Cette application n'a pas de bases de données",
|
||||
'Online examples': 'Exemples en ligne',
|
||||
'or import from csv file': "ou importer d'un fichier CSV",
|
||||
'Origin': 'Origine',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Autres recettes',
|
||||
'Overview': 'Présentation',
|
||||
'password': 'mot de passe',
|
||||
'Password': 'Mot de passe',
|
||||
"Password fields don't match": 'Les mots de passe ne correspondent pas',
|
||||
'please input your password again': "S'il vous plaît entrer votre mot de passe",
|
||||
'Plugins': 'Plugiciels',
|
||||
'Powered by': 'Alimenté par',
|
||||
'Preface': 'Préface',
|
||||
'previous 100 rows': '100 lignes précédentes',
|
||||
'profile': 'profile',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Requête:',
|
||||
'Quick Examples': 'Examples Rapides',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Readme': 'Lisez-moi',
|
||||
'Recipes': 'Recettes',
|
||||
'Record': 'enregistrement',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'record does not exist': "l'archive n'existe pas",
|
||||
'Record ID': "ID d'enregistrement",
|
||||
'Record id': "id d'enregistrement",
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': "S'inscrire",
|
||||
'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',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'état',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Feuille de style',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Soumettre',
|
||||
'Support': 'Soutien',
|
||||
'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
|
||||
'Table': 'tableau',
|
||||
'Table name': 'Nom du tableau',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "query" est une condition comme "db.table1.champ1==\'valeur\'". Quelque chose comme "db.table1.champ1==db.table2.champ2" résulte en un JOIN SQL.',
|
||||
'The Core': 'Le noyau',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue %s',
|
||||
'The Views': 'Les Vues',
|
||||
'This App': 'Cette Appli',
|
||||
'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage",
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Horodatage',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': "incapable d'analyser le fichier cvs",
|
||||
'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',
|
||||
'value already in database or empty': 'valeur déjà dans la base ou vide',
|
||||
'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',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Qui a appelé la fonction %s se trouvant dans le fichier %s',
|
||||
'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 %s': "Vous avez visité l'URL %s",
|
||||
}
|
||||
190
applications/welcome3/languages/fr.py
Normal file
@@ -0,0 +1,190 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'fr',
|
||||
'!langname!': 'Français',
|
||||
'"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',
|
||||
'%s %%{row} deleted': '%s lignes supprimées',
|
||||
'%s %%{row} updated': '%s lignes mises à jour',
|
||||
'%s selected': '%s sélectionné',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'About': 'À propos',
|
||||
'Access Control': "Contrôle d'accès",
|
||||
'Administrative Interface': "Interface d'administration",
|
||||
'Administrative interface': "Interface d'administration",
|
||||
'Ajax Recipes': 'Recettes Ajax',
|
||||
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
|
||||
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
|
||||
'Authentication': 'Authentification',
|
||||
'Available Databases and Tables': 'Bases de données et tables disponibles',
|
||||
'Buy this book': 'Acheter ce livre',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Clés de cache',
|
||||
'Cannot be empty': 'Ne peut pas être vide',
|
||||
'change password': 'changer le mot de passe',
|
||||
'Check to delete': 'Cliquez pour supprimer',
|
||||
'Check to delete:': 'Cliquez pour supprimer:',
|
||||
'Clear CACHE?': 'Vider le CACHE?',
|
||||
'Clear DISK': 'Vider le DISQUE',
|
||||
'Clear RAM': 'Vider la RAM',
|
||||
'Client IP': 'IP client',
|
||||
'Community': 'Communauté',
|
||||
'Components and Plugins': 'Composants et Plugins',
|
||||
'Controller': 'Contrôleur',
|
||||
'Copyright': 'Copyright',
|
||||
'Created By': 'Créé par',
|
||||
'Created On': 'Créé le',
|
||||
'Current request': 'Demande actuelle',
|
||||
'Current response': 'Réponse actuelle',
|
||||
'Current session': 'Session en cours',
|
||||
'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 selectionnée',
|
||||
'db': 'bdd',
|
||||
'DB Model': 'Modèle BDD',
|
||||
'Delete:': 'Supprimer:',
|
||||
'Demo': 'Démo',
|
||||
'Deployment Recipes': 'Recettes de déploiement',
|
||||
'Description': 'Description',
|
||||
'design': 'design',
|
||||
'DISK': 'DISQUE',
|
||||
'Disk Cache Keys': 'Clés de cache du disque',
|
||||
'Disk Cleared': 'Disque vidé',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": 'Vous ne savez pas quoi faire?',
|
||||
'done!': 'fait!',
|
||||
'Download': 'Téléchargement',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Éditer',
|
||||
'Edit current record': "Modifier l'enregistrement courant",
|
||||
'edit profile': 'modifier le profil',
|
||||
'Edit This App': 'Modifier cette application',
|
||||
'Email and SMS': 'Email et SMS',
|
||||
'enter an integer between %(min)g and %(max)g': 'entrez un entier entre %(min)g et %(max)g',
|
||||
'Errors': 'Erreurs',
|
||||
'export as csv file': 'exporter sous forme de fichier csv',
|
||||
'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': 'Groupes',
|
||||
'Hello World': 'Bonjour le monde',
|
||||
'Home': 'Accueil',
|
||||
'How did you get here?': 'Comment êtes-vous arrivé ici?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Importer/Exporter',
|
||||
'Index': 'Index',
|
||||
'insert new': 'insérer un nouveau',
|
||||
'insert new %s': 'insérer un nouveau %s',
|
||||
'Internal State': 'État interne',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'E-mail invalide',
|
||||
'Invalid Query': 'Requête Invalide',
|
||||
'invalid request': 'requête invalide',
|
||||
'Is Active': 'Est actif',
|
||||
'Key': 'Clé',
|
||||
'Last name': 'Nom',
|
||||
'Layout': 'Mise en page',
|
||||
'Layout Plugins': 'Plugins de mise en page',
|
||||
'Layouts': 'Mises en page',
|
||||
'Live chat': 'Chat en direct',
|
||||
'Live Chat': 'Chat en direct',
|
||||
'login': 'connectez-vous',
|
||||
'Login': 'Connectez-vous',
|
||||
'logout': 'déconnectez-vous',
|
||||
'lost password': 'mot de passe perdu',
|
||||
'Lost Password': 'Mot de passe perdu',
|
||||
'Lost password?': 'Mot de passe perdu?',
|
||||
'lost password?': 'mot de passe perdu?',
|
||||
'Main Menu': 'Menu principal',
|
||||
'Manage Cache': 'Gérer le Cache',
|
||||
'Menu Model': 'Menu modèle',
|
||||
'Modified By': 'Modifié par',
|
||||
'Modified On': 'Modifié le',
|
||||
'My Sites': 'Mes sites',
|
||||
'Name': 'Nom',
|
||||
'New Record': 'Nouvel enregistrement',
|
||||
'new record inserted': 'nouvel enregistrement inséré',
|
||||
'next 100 rows': '100 prochaines lignes',
|
||||
'No databases in this application': "Cette application n'a pas de bases de données",
|
||||
'Object or table name': 'Objet ou nom de table',
|
||||
'Online examples': 'Exemples en ligne',
|
||||
'or import from csv file': "ou importer d'un fichier CSV",
|
||||
'Origin': 'Origine',
|
||||
'Other Plugins': 'Autres Plugins',
|
||||
'Other Recipes': 'Autres recettes',
|
||||
'Overview': 'Présentation',
|
||||
'Password': 'Mot de passe',
|
||||
"Password fields don't match": 'Les mots de passe ne correspondent pas',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Alimenté par',
|
||||
'Preface': 'Préface',
|
||||
'previous 100 rows': '100 lignes précédentes',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Requête:',
|
||||
'Quick Examples': 'Exemples Rapides',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Clés de cache de la RAM',
|
||||
'Ram Cleared': 'Ram vidée',
|
||||
'Readme': 'Lisez-moi',
|
||||
'Recipes': 'Recettes',
|
||||
'Record': 'enregistrement',
|
||||
'record does not exist': "l'archive n'existe pas",
|
||||
'Record ID': "ID d'enregistrement",
|
||||
'Record id': "id d'enregistrement",
|
||||
'Register': "S'inscrire",
|
||||
'register': "s'inscrire",
|
||||
'Registration identifier': "Identifiant d'enregistrement",
|
||||
'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',
|
||||
'Size of cache:': 'Taille du cache:',
|
||||
'state': 'état',
|
||||
'Statistics': 'Statistiques',
|
||||
'Stylesheet': 'Feuille de style',
|
||||
'submit': 'soumettre',
|
||||
'Submit': 'Soumettre',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
|
||||
'Table': 'tableau',
|
||||
'Table name': 'Nom du tableau',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "requête" 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 output of the file is a dictionary that was rendered by the view %s': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue %s',
|
||||
'The Views': 'Les Vues',
|
||||
'This App': 'Cette Appli',
|
||||
'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage",
|
||||
'Time in Cache (h:m:s)': 'Temps en Cache (h:m:s)',
|
||||
'Timestamp': 'Horodatage',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': "incapable d'analyser le fichier cvs",
|
||||
'Update:': 'Mise à jour:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT afin de 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': "Voix de l'utilisateur",
|
||||
'Verify Password': 'Vérifiez le mot de passe',
|
||||
'Videos': 'Vidéos',
|
||||
'View': 'Présentation',
|
||||
'Web2py': 'Web2py',
|
||||
'Welcome': 'Bienvenue',
|
||||
'Welcome %s': 'Bienvenue %s',
|
||||
'Welcome to web2py': 'Bienvenue à web2py',
|
||||
'Welcome to web2py!': 'Bienvenue à web2py!',
|
||||
'Which called the function %s located in the file %s': 'Qui a appelé la fonction %s se trouvant dans le fichier %s',
|
||||
'You are successfully running web2py': 'Vous exécutez 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 %s': "Vous avez visité l'URL %s",
|
||||
}
|
||||
149
applications/welcome3/languages/hi.py
Normal file
@@ -0,0 +1,149 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'hi-in',
|
||||
'!langname!': 'हिन्दी',
|
||||
'"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',
|
||||
'%s %%{row} deleted': '%s पंक्तियाँ मिटाएँ',
|
||||
'%s %%{row} updated': '%s पंक्तियाँ अद्यतन',
|
||||
'%s selected': '%s चुना हुआ',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': 'प्रशासनिक इंटरफेस के लिए यहाँ क्लिक करें',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'appadmin is disabled because insecure channel': 'अप आडमिन (appadmin) अक्षम है क्योंकि असुरक्षित चैनल',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Available Databases and Tables': 'उपलब्ध डेटाबेस और तालिका',
|
||||
'Buy this book': 'Buy this book',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'खाली नहीं हो सकता',
|
||||
'Change Password': 'पासवर्ड बदलें',
|
||||
'change password': 'change password',
|
||||
'Check to delete': 'हटाने के लिए चुनें',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'वर्तमान अनुरोध',
|
||||
'Current response': 'वर्तमान प्रतिक्रिया',
|
||||
'Current session': 'वर्तमान सेशन',
|
||||
'customize me!': 'मुझे अनुकूलित (कस्टमाइज़) करें!',
|
||||
'data uploaded': 'डाटा अपलोड सम्पन्न ',
|
||||
'Database': 'डेटाबेस',
|
||||
'Database %s select': 'डेटाबेस %s चुनी हुई',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'मिटाना:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'design': 'रचना करें',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'हो गया!',
|
||||
'Download': 'Download',
|
||||
'Edit': 'Edit',
|
||||
'Edit current record': 'वर्तमान रेकॉर्ड संपादित करें ',
|
||||
'edit profile': 'edit profile',
|
||||
'Edit Profile': 'प्रोफ़ाइल संपादित करें',
|
||||
'Edit This App': 'Edit This App',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'csv फ़ाइल के रूप में निर्यात',
|
||||
'FAQ': 'FAQ',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Groups': 'Groups',
|
||||
'Hello from MyApp': 'Hello from MyApp',
|
||||
'Hello World': 'Hello World',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'आयात / निर्यात',
|
||||
'Index': 'Index',
|
||||
'insert new': 'नया डालें',
|
||||
'insert new %s': 'नया %s डालें',
|
||||
'Internal State': 'आंतरिक स्थिति',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid Query': 'अमान्य प्रश्न',
|
||||
'invalid request': 'अवैध अनुरोध',
|
||||
'Key': 'Key',
|
||||
'Layout': 'Layout',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'login': 'login',
|
||||
'Login': 'लॉग इन',
|
||||
'logout': 'logout',
|
||||
'Logout': 'लॉग आउट',
|
||||
'Lost Password': 'पासवर्ड खो गया',
|
||||
'Main Menu': 'Main Menu',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'My Sites',
|
||||
'New Record': 'नया रेकॉर्ड',
|
||||
'new record inserted': 'नया रेकॉर्ड डाला',
|
||||
'next 100 rows': 'अगले 100 पंक्तियाँ',
|
||||
'No databases in this application': 'इस अनुप्रयोग में कोई डेटाबेस नहीं हैं',
|
||||
'Online examples': 'ऑनलाइन उदाहरण के लिए यहाँ क्लिक करें',
|
||||
'or import from csv file': 'या csv फ़ाइल से आयात',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': 'पिछले 100 पंक्तियाँ',
|
||||
'Python': 'Python',
|
||||
'Query:': 'प्रश्न:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'Record',
|
||||
'record does not exist': 'रिकॉर्ड मौजूद नहीं है',
|
||||
'Record id': 'रिकॉर्ड पहचानकर्ता (आईडी)',
|
||||
'Register': 'पंजीकृत (रजिस्टर) करना ',
|
||||
'register': 'register',
|
||||
'Rows in Table': 'तालिका में पंक्तियाँ ',
|
||||
'Rows selected': 'चयनित (चुने गये) पंक्तियाँ ',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'स्थिति',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'सुनिश्चित हैं कि आप इस वस्तु को हटाना चाहते हैं?',
|
||||
'Table': 'तालिका',
|
||||
'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.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': 'The Views',
|
||||
'This App': 'This App',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'csv फ़ाइल पार्स करने में असमर्थ',
|
||||
'Update:': 'अद्यतन करना:',
|
||||
'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.',
|
||||
'Videos': 'Videos',
|
||||
'View': 'View',
|
||||
'Welcome %s': 'Welcome %s',
|
||||
'Welcome to web2py': 'वेब२पाइ (web2py) में आपका स्वागत है',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'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 %s': 'You visited the url %s',
|
||||
}
|
||||
162
applications/welcome3/languages/hu.py
Normal file
@@ -0,0 +1,162 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'hu',
|
||||
'!langname!': 'Magyar',
|
||||
'"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',
|
||||
'%s %%{row} deleted': '%s sorok törlődtek',
|
||||
'%s %%{row} updated': '%s sorok frissítődtek',
|
||||
'%s selected': '%s kiválasztott',
|
||||
'%Y-%m-%d': '%Y.%m.%d.',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y.%m.%d. %H:%M:%S',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': 'az adminisztrációs felületért kattints ide',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'appadmin is disabled because insecure channel': 'az appadmin a biztonságtalan csatorna miatt letiltva',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Available Databases and Tables': 'Elérhető adatbázisok és táblák',
|
||||
'Buy this book': 'Buy this book',
|
||||
'cache': 'gyorsítótár',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Nem lehet üres',
|
||||
'change password': 'jelszó megváltoztatása',
|
||||
'Check to delete': 'Törléshez válaszd ki',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Jelenlegi lekérdezés',
|
||||
'Current response': 'Jelenlegi válasz',
|
||||
'Current session': 'Jelenlegi folyamat',
|
||||
'customize me!': 'változtass meg!',
|
||||
'data uploaded': 'adat feltöltve',
|
||||
'Database': 'adatbázis',
|
||||
'Database %s select': 'adatbázis %s kiválasztás',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Töröl:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Description',
|
||||
'design': 'design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'kész!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Szerkeszt',
|
||||
'Edit current record': 'Aktuális bejegyzés szerkesztése',
|
||||
'edit profile': 'profil szerkesztése',
|
||||
'Edit This App': 'Alkalmazást szerkeszt',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'exportál csv fájlba',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Group ID': 'Group ID',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Hello Világ',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Index': 'Index',
|
||||
'insert new': 'új beillesztése',
|
||||
'insert new %s': 'új beillesztése %s',
|
||||
'Internal State': 'Internal State',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Invalid Query': 'Hibás lekérdezés',
|
||||
'invalid request': 'hibás kérés',
|
||||
'Key': 'Key',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Szerkezet',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'login': 'belép',
|
||||
'logout': 'kilép',
|
||||
'lost password': 'elveszett jelszó',
|
||||
'Lost Password': 'Lost Password',
|
||||
'Main Menu': 'Főmenü',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Menü model',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'New Record': 'Új bejegyzés',
|
||||
'new record inserted': 'új bejegyzés felvéve',
|
||||
'next 100 rows': 'következő 100 sor',
|
||||
'No databases in this application': 'Nincs adatbázis ebben az alkalmazásban',
|
||||
'Online examples': 'online példákért kattints ide',
|
||||
'or import from csv file': 'vagy betöltés csv fájlból',
|
||||
'Origin': 'Origin',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': 'előző 100 sor',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Lekérdezés:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'bejegyzés',
|
||||
'record does not exist': 'bejegyzés nem létezik',
|
||||
'Record ID': 'Record ID',
|
||||
'Record id': 'bejegyzés id',
|
||||
'Register': 'Register',
|
||||
'register': 'regisztráció',
|
||||
'Registration key': 'Registration key',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Rows in Table': 'Sorok a táblában',
|
||||
'Rows selected': 'Kiválasztott sorok',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'állapot',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Biztos törli ezt az objektumot?',
|
||||
'Table': 'tábla',
|
||||
'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.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': 'The Views',
|
||||
'This App': 'This App',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'nem lehet a csv fájlt beolvasni',
|
||||
'Update:': 'Frissít:',
|
||||
'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',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Nézet',
|
||||
'Welcome %s': 'Welcome %s',
|
||||
'Welcome to web2py': 'Isten hozott a web2py-ban',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'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 %s': 'You visited the url %s',
|
||||
}
|
||||
272
applications/welcome3/languages/id.py
Executable file
@@ -0,0 +1,272 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'id',
|
||||
'!langname!': 'Indonesian',
|
||||
'%d days ago': '%d hari yang lalu',
|
||||
'%d hours ago': '%d jam yang lalu',
|
||||
'%d minutes ago': '%d menit yang lalu',
|
||||
'%d months ago': '%d bulan yang lalu',
|
||||
'%d seconds ago': '%d detik yang lalu',
|
||||
'%d seconds from now': '%d detik dari sekarang',
|
||||
'%d weeks ago': '%d minggu yang lalu',
|
||||
'%d years ago': '%d tahun yang lalu',
|
||||
'%s %%{row} deleted': '%s %%{row} dihapus',
|
||||
'%s %%{row} updated': '%s %%{row} diperbarui',
|
||||
'%s selected': '%s dipilih',
|
||||
'%Y-%m-%d': '%d-%m-%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
|
||||
'(requires internet access, experimental)': '(membutuhkan akses internet, eksperimental)',
|
||||
'(something like "it-it")': '(sesuatu seperti "it-it")',
|
||||
'1 day ago': '1 hari yang lalu',
|
||||
'1 hour ago': '1 jam yang lalu',
|
||||
'1 minute ago': '1 menit yang lalu',
|
||||
'1 month ago': '1 bulan yang lalu',
|
||||
'1 second ago': '1 detik yang lalu',
|
||||
'1 week ago': '1 minggu yang lalu',
|
||||
'1 year ago': '1 tahun yang lalu',
|
||||
'< Previous': '< Sebelumnya',
|
||||
'About': 'Tentang',
|
||||
'About application': 'Tentang Aplikasi',
|
||||
'Add': 'Tambah',
|
||||
'Additional code for your application': 'Tambahan kode untuk aplikasi Anda',
|
||||
'Address': 'Alamat',
|
||||
'Admin language': 'Bahasa Admin',
|
||||
'administrative interface': 'antarmuka administrative',
|
||||
'Administrator Password:': 'Administrator Kata Sandi:',
|
||||
'Ajax Recipes': 'Resep Ajax',
|
||||
'An error occured, please %s the page': 'Terjadi kesalahan, silakan %s halaman',
|
||||
'And': 'Dan',
|
||||
'and rename it:': 'dan memberi nama baru itu:',
|
||||
'Answer': 'Jawaban',
|
||||
'appadmin is disabled because insecure channel': 'AppAdmin dinonaktifkan karena kanal tidak aman',
|
||||
'application "%s" uninstalled': 'applikasi "%s" dihapus',
|
||||
'application compiled': 'aplikasi dikompilasi',
|
||||
'Application name:': 'Nama Applikasi:',
|
||||
'are not used yet': 'tidak digunakan lagi',
|
||||
'Are you sure you want to delete this object?': 'Apakah Anda yakin ingin menghapus ini?',
|
||||
'Are you sure you want to uninstall application "%s"?': 'Apakah Anda yakin ingin menghapus aplikasi "%s"?',
|
||||
'Available Databases and Tables': 'Database dan Tabel yang tersedia',
|
||||
'Back': 'Kembali',
|
||||
'Buy this book': 'Beli buku ini',
|
||||
'cache, errors and sessions cleaned': 'cache, kesalahan dan sesi dibersihkan',
|
||||
'can be a git repo': 'bisa menjadi repo git',
|
||||
'Cancel': 'Batalkan',
|
||||
'Cannot be empty': 'Tidak boleh kosong',
|
||||
'Change admin password': 'Ubah kata sandi admin',
|
||||
'Change password': 'Ubah kata sandi',
|
||||
'Check for upgrades': 'Periksa upgrade',
|
||||
'Check to delete': 'Centang untuk menghapus',
|
||||
'Checking for upgrades...': 'Memeriksa untuk upgrade...',
|
||||
'Clean': 'Bersih',
|
||||
'Clear': 'Hapus',
|
||||
'Clear CACHE?': 'Hapus CACHE?',
|
||||
'Clear DISK': 'Hapus DISK',
|
||||
'Clear RAM': 'Hapus RAM',
|
||||
'Click row to expand traceback': 'Klik baris untuk memperluas traceback',
|
||||
'Close': 'Tutup',
|
||||
'collapse/expand all': 'kempis / memperluas semua',
|
||||
'Community': 'Komunitas',
|
||||
'Compile': 'Kompilasi',
|
||||
'compiled application removed': 'aplikasi yang dikompilasi dihapus',
|
||||
'Components and Plugins': 'Komponen dan Plugin',
|
||||
'contains': 'mengandung',
|
||||
'Controllers': 'Kontrolir',
|
||||
'controllers': 'kontrolir',
|
||||
'Copyright': 'Hak Cipta',
|
||||
'Count': 'Hitung',
|
||||
'Create': 'Buat',
|
||||
'create file with filename:': 'buat file dengan nama:',
|
||||
'created by': 'dibuat oleh',
|
||||
'CSV (hidden cols)': 'CSV (kolom tersembunyi)',
|
||||
'currently running': 'sedang berjalan',
|
||||
'data uploaded': 'data diunggah',
|
||||
'Database %s select': 'Memilih Database %s',
|
||||
'database administration': 'administrasi database',
|
||||
'defines tables': 'mendefinisikan tabel',
|
||||
'Delete': 'Hapus',
|
||||
'delete all checked': 'menghapus semua yang di centang',
|
||||
'Delete this file (you will be asked to confirm deletion)': 'Hapus file ini (Anda akan diminta untuk mengkonfirmasi penghapusan)',
|
||||
'Delete:': 'Hapus:',
|
||||
'Description': 'Keterangan',
|
||||
'design': 'disain',
|
||||
'direction: ltr': 'petunjuk: ltr',
|
||||
'Disk Cleared': 'Disk Dihapus',
|
||||
'Documentation': 'Dokumentasi',
|
||||
"Don't know what to do?": 'Tidak tahu apa yang harus dilakukan?',
|
||||
'done!': 'selesai!',
|
||||
'Download': 'Unduh',
|
||||
'Download .w2p': 'Unduh .w2p',
|
||||
'download layouts': 'unduh layouts',
|
||||
'download plugins': 'unduh plugins',
|
||||
'Duration': 'Durasi',
|
||||
'Edit': 'Mengedit',
|
||||
'Edit application': 'Mengedit Aplikasi',
|
||||
'Email sent': 'Email dikirim',
|
||||
'enter a valid email address': 'masukkan alamat email yang benar',
|
||||
'enter a valid URL': 'masukkan URL yang benar',
|
||||
'enter a value': 'masukkan data',
|
||||
'Error': 'Kesalahan',
|
||||
'Error logs for "%(app)s"': 'Catatan kesalahan untuk "%(app)s"',
|
||||
'Errors': 'Kesalahan',
|
||||
'export as csv file': 'ekspor sebagai file csv',
|
||||
'Export:': 'Ekspor:',
|
||||
'exposes': 'menghadapkan',
|
||||
'extends': 'meluaskan',
|
||||
'filter': 'menyaring',
|
||||
'First Name': 'Nama Depan',
|
||||
'Forgot username?': 'Lupa nama pengguna?',
|
||||
'Free Applications': 'Aplikasi Gratis',
|
||||
'Gender': 'Jenis Kelamin',
|
||||
'Group %(group_id)s created': 'Grup %(group_id)s dibuat',
|
||||
'Group uniquely assigned to user %(id)s': 'Grup unik yang diberikan kepada pengguna %(id)s',
|
||||
'Groups': 'Grup',
|
||||
'Guest': 'Tamu',
|
||||
'Hello World': 'Halo Dunia',
|
||||
'Help': 'Bantuan',
|
||||
'Home': 'Halaman Utama',
|
||||
'How did you get here?': 'Bagaimana kamu bisa di sini?',
|
||||
'Image': 'Gambar',
|
||||
'import': 'impor',
|
||||
'Import/Export': 'Impor/Ekspor',
|
||||
'includes': 'termasuk',
|
||||
'Install': 'Memasang',
|
||||
'Installation': 'Instalasi',
|
||||
'Installed applications': 'Aplikasi yang diinstal',
|
||||
'Introduction': 'Pengenalan',
|
||||
'Invalid email': 'Email tidak benar',
|
||||
'Language': 'Bahasa',
|
||||
'languages': 'bahasa',
|
||||
'Languages': 'Bahasa',
|
||||
'Last Name': 'Nama Belakang',
|
||||
'License for': 'Lisensi untuk',
|
||||
'loading...': 'sedang memuat...',
|
||||
'Logged in': 'Masuk',
|
||||
'Logged out': 'Keluar',
|
||||
'Login': 'Masuk',
|
||||
'Login to the Administrative Interface': 'Masuk ke antarmuka Administrasi',
|
||||
'Logout': 'Keluar',
|
||||
'Lost Password': 'Lupa Kata Sandi',
|
||||
'Lost password?': 'Lupa kata sandi?',
|
||||
'Maintenance': 'Pemeliharaan',
|
||||
'Manage': 'Mengelola',
|
||||
'Manage Cache': 'Mengelola Cache',
|
||||
'models': 'model',
|
||||
'Models': 'Model',
|
||||
'Modules': 'Modul',
|
||||
'modules': 'modul',
|
||||
'My Sites': 'Situs Saya',
|
||||
'New': 'Baru',
|
||||
'new application "%s" created': 'aplikasi baru "%s" dibuat',
|
||||
'New password': 'Kata sandi baru',
|
||||
'New simple application': 'Aplikasi baru sederhana',
|
||||
'News': 'Berita',
|
||||
'next 100 rows': '100 baris berikutnya',
|
||||
'Next >': 'Berikutnya >',
|
||||
'Next Page': 'Halaman Berikutnya',
|
||||
'No databases in this application': 'Tidak ada database dalam aplikasi ini',
|
||||
'No ticket_storage.txt found under /private folder': 'Tidak ditemukan ticket_storage.txt dalam folder /private',
|
||||
'not a Zip Code': 'bukan Kode Pos',
|
||||
'Note': 'Catatan',
|
||||
'Old password': 'Kata sandi lama',
|
||||
'Online examples': 'Contoh Online',
|
||||
'Or': 'Atau',
|
||||
'or alternatively': 'atau alternatif',
|
||||
'Or Get from URL:': 'Atau Dapatkan dari URL:',
|
||||
'or import from csv file': 'atau impor dari file csv',
|
||||
'Other Plugins': 'Plugin Lainnya',
|
||||
'Other Recipes': 'Resep Lainnya',
|
||||
'Overview': 'Ikhtisar',
|
||||
'Overwrite installed app': 'Ikhtisar app yang terinstall',
|
||||
'Pack all': 'Pak semua',
|
||||
'Pack compiled': 'Pak yang telah dikompilasi',
|
||||
'Pack custom': 'Pak secara kustomisasi',
|
||||
'Password': 'Kata sandi',
|
||||
'Password changed': 'Kata sandi berubah',
|
||||
"Password fields don't match": 'Kata sandi tidak sama',
|
||||
'please input your password again': 'silahkan masukan kata sandi anda lagi',
|
||||
'plugins': 'plugin',
|
||||
'Plugins': 'Plugin',
|
||||
'Plural-Forms:': 'Bentuk-Jamak:',
|
||||
'Powered by': 'Didukung oleh',
|
||||
'Preface': 'Pendahuluan',
|
||||
'previous 100 rows': '100 baris sebelumnya',
|
||||
'Previous Page': 'Halaman Sebelumnya',
|
||||
'private files': 'file pribadi',
|
||||
'Private files': 'File pribadi',
|
||||
'Profile': 'Profil',
|
||||
'Profile updated': 'Profil diperbarui',
|
||||
'Project Progress': 'Perkembangan Proyek',
|
||||
'Quick Examples': 'Contoh Cepat',
|
||||
'Ram Cleared': 'Ram Dihapus',
|
||||
'Recipes': 'Resep',
|
||||
'Register': 'Daftar',
|
||||
'Registration successful': 'Pendaftaran berhasil',
|
||||
'reload': 'memuat kembali',
|
||||
'Reload routes': 'Memuat rute kembali',
|
||||
'Remember me (for 30 days)': 'Ingat saya (selama 30 hari)',
|
||||
'Remove compiled': 'Hapus Kompilasi',
|
||||
'Request reset password': 'Meminta reset kata sandi',
|
||||
'Rows in Table': 'Baris dalam Tabel',
|
||||
'Rows selected': 'Baris dipilih',
|
||||
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Jalankan tes di file ini (untuk menjalankan semua file, Anda juga dapat menggunakan tombol berlabel 'test')",
|
||||
'Running on %s': 'Berjalan di %s',
|
||||
'Save model as...': 'Simpan model sebagai ...',
|
||||
'Save profile': 'Simpan profil',
|
||||
'Search': 'Cari',
|
||||
'Select Files to Package': 'Pilih Berkas untuk Paket',
|
||||
'Send Email': 'Kirim Email',
|
||||
'Service': 'Layanan',
|
||||
'Site': 'Situs',
|
||||
'Size of cache:': 'Ukuran cache:',
|
||||
'starts with': 'dimulai dengan',
|
||||
'static': 'statis',
|
||||
'Static': 'Statis',
|
||||
'Statistics': 'Statistik',
|
||||
'Support': 'Mendukung',
|
||||
'Table': 'Tabel',
|
||||
'test': 'tes',
|
||||
'The application logic, each URL path is mapped in one exposed function in the controller': 'Logika aplikasi, setiap jalur URL dipetakan dalam satu fungsi terpapar di kontrolir',
|
||||
'The data representation, define database tables and sets': 'Representasi data, mendefinisikan tabel database dan set',
|
||||
'There are no plugins': 'Tidak ada plugin',
|
||||
'There are no private files': 'Tidak ada file pribadi',
|
||||
'These files are not served, they are only available from within your app': 'File-file ini tidak dilayani, mereka hanya tersedia dari dalam aplikasi Anda',
|
||||
'These files are served without processing, your images go here': 'File-file ini disajikan tanpa pengolahan, gambar Anda di sini',
|
||||
'This App': 'App Ini',
|
||||
'Time in Cache (h:m:s)': 'Waktu di Cache (h: m: s)',
|
||||
'To create a plugin, name a file/folder plugin_[name]': 'Untuk membuat sebuah plugin, nama file / folder plugin_ [nama]',
|
||||
'too short': 'terlalu pendek',
|
||||
'Translation strings for the application': 'Terjemahan string untuk aplikasi',
|
||||
'Try the mobile interface': 'Coba antarmuka ponsel',
|
||||
'Unable to download because:': 'Tidak dapat mengunduh karena:',
|
||||
'unable to parse csv file': 'tidak mampu mengurai file csv',
|
||||
'update all languages': 'memperbarui semua bahasa',
|
||||
'Update:': 'Perbarui:',
|
||||
'Upload': 'Unggah',
|
||||
'Upload a package:': 'Unggah sebuah paket:',
|
||||
'Upload and install packed application': 'Upload dan pasang aplikasi yang dikemas',
|
||||
'upload file:': 'unggah file:',
|
||||
'upload plugin file:': 'unggah file plugin:',
|
||||
'User %(id)s Logged-in': 'Pengguna %(id)s Masuk',
|
||||
'User %(id)s Logged-out': 'Pengguna %(id)s Keluar',
|
||||
'User %(id)s Password changed': 'Pengguna %(id)s Kata Sandi berubah',
|
||||
'User %(id)s Password reset': 'Pengguna %(id)s Kata Sandi telah direset',
|
||||
'User %(id)s Profile updated': 'Pengguna %(id)s Profil diperbarui',
|
||||
'User %(id)s Registered': 'Pengguna %(id)s Terdaftar',
|
||||
'value already in database or empty': 'data sudah ada dalam database atau kosong',
|
||||
'value not allowed': 'data tidak benar',
|
||||
'value not in database': 'data tidak ada dalam database',
|
||||
'Verify Password': 'Verifikasi Kata Sandi',
|
||||
'Version': 'Versi',
|
||||
'View': 'Lihat',
|
||||
'Views': 'Lihat',
|
||||
'views': 'lihat',
|
||||
'Web Framework': 'Kerangka Web',
|
||||
'web2py is up to date': 'web2py terbaru',
|
||||
'web2py Recent Tweets': 'Tweet web2py terbaru',
|
||||
'Website': 'Situs Web',
|
||||
'Welcome': 'Selamat Datang',
|
||||
'Welcome to web2py!': 'Selamat Datang di web2py!',
|
||||
'You are successfully running web2py': 'Anda berhasil menjalankan web2py',
|
||||
'You can modify this application and adapt it to your needs': 'Anda dapat memodifikasi aplikasi ini dan menyesuaikan dengan kebutuhan Anda',
|
||||
'You visited the url %s': 'Anda mengunjungi url %s',
|
||||
}
|
||||
249
applications/welcome3/languages/it.py
Normal file
@@ -0,0 +1,249 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!=': '!=',
|
||||
'!langcode!': 'it',
|
||||
'!langname!': 'Italiano',
|
||||
'"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 ',
|
||||
'%(nrows)s records found': '%(nrows)s record trovati',
|
||||
'%d seconds ago': '%d secondi fa',
|
||||
'%s %%{row} deleted': '%s righe ("record") cancellate',
|
||||
'%s %%{row} updated': '%s righe ("record") modificate',
|
||||
'%s selected': '%s selezionato',
|
||||
'%Y-%m-%d': '%d/%m/%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
|
||||
'<': '<',
|
||||
'<=': '<=',
|
||||
'=': '=',
|
||||
'>': '>',
|
||||
'>=': '>=',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Number of entries: **%s**': 'Numero di entità: **%s**',
|
||||
'About': 'About',
|
||||
'Access Control': 'Controllo Accessi',
|
||||
'Add': 'Aggiungi',
|
||||
'Administrative Interface': 'Interfaccia Amministrativa',
|
||||
'Administrative interface': 'Interfaccia amministrativa',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please %s the page': 'È stato rilevato un errore, prego %s la pagina',
|
||||
'And': 'E',
|
||||
'appadmin is disabled because insecure channel': 'Amministrazione (appadmin) disabilitata: comunicazione non sicura',
|
||||
'Are you sure you want to delete this object?': 'Sicuro di voler cancellare questo oggetto ?',
|
||||
'Available Databases and Tables': 'Database e tabelle disponibili',
|
||||
'Back': 'Indietro',
|
||||
'Buy this book': 'Compra questo libro',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Non può essere vuoto',
|
||||
'Change password': 'Cambia Password',
|
||||
'change password': 'Cambia password',
|
||||
'Check to delete': 'Seleziona per cancellare',
|
||||
'Clear': 'Resetta',
|
||||
'Clear CACHE?': 'Resetta CACHE?',
|
||||
'Clear DISK': 'Resetta DISK',
|
||||
'Clear RAM': 'Resetta RAM',
|
||||
'Client IP': 'Client IP',
|
||||
'Close': 'Chiudi',
|
||||
'Cognome': 'Cognome',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Componenti and Plugin',
|
||||
'contains': 'contiene',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Created By': 'Creato Da',
|
||||
'Created On': 'Creato Il',
|
||||
'CSV': 'CSV',
|
||||
'CSV (hidden cols)': 'CSV (hidden cols)',
|
||||
'Current request': 'Richiesta (request) corrente',
|
||||
'Current response': 'Risposta (response) corrente',
|
||||
'Current session': 'Sessione (session) corrente',
|
||||
'customize me!': 'Personalizzami!',
|
||||
'data uploaded': 'dati caricati',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'Database %s select',
|
||||
'db': 'db',
|
||||
'DB Model': 'Modello di DB',
|
||||
'Delete': 'Cancella',
|
||||
'Delete:': 'Cancella:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Descrizione',
|
||||
'design': 'progetta',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentazione',
|
||||
"Don't know what to do?": 'Non sai cosa fare?',
|
||||
'done!': 'fatto!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Modifica',
|
||||
'Edit current record': 'Modifica record corrente',
|
||||
'edit profile': 'modifica profilo',
|
||||
'Edit This App': 'Modifica questa applicazione',
|
||||
'Email and SMS': 'Email e SMS',
|
||||
'Email non valida': 'Email non valida',
|
||||
'enter a number between %(min)g and %(max)g': 'enter a number between %(min)g and %(max)g',
|
||||
'enter an integer between %(min)g and %(max)g': 'inserisci un intero tra %(min)g e %(max)g',
|
||||
'Errors': 'Errori',
|
||||
'Errors in form, please check it out.': 'Errori nel form, ricontrollalo',
|
||||
'export as csv file': 'esporta come file CSV',
|
||||
'Export:': 'Esporta:',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Nome',
|
||||
'Forgot username?': 'Dimenticato lo username?',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group ID': 'ID Gruppo',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'hello': 'hello',
|
||||
'hello world': 'salve mondo',
|
||||
'Hello World': 'Salve Mondo',
|
||||
'Hello World in a flash!': 'Salve Mondo in un flash!',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'Come sei arrivato qui?',
|
||||
'HTML': 'HTML',
|
||||
'import': 'importa',
|
||||
'Import/Export': 'Importa/Esporta',
|
||||
'Index': 'Indice',
|
||||
'insert new': 'inserisci nuovo',
|
||||
'insert new %s': 'inserisci nuovo %s',
|
||||
'Internal State': 'Stato interno',
|
||||
'Introduction': 'Introduzione',
|
||||
'Invalid email': 'Email non valida',
|
||||
'Invalid login': 'Login non valido',
|
||||
'Invalid Query': 'Richiesta (query) non valida',
|
||||
'invalid request': 'richiesta non valida',
|
||||
'Is Active': "E' attivo",
|
||||
'Key': 'Chiave',
|
||||
'Last name': 'Cognome',
|
||||
'Layout': 'Layout',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Logged in': 'Loggato',
|
||||
'Logged out': 'Disconnesso',
|
||||
'login': 'accesso',
|
||||
'Login': 'Login',
|
||||
'logout': 'uscita',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Password Smarrita',
|
||||
'Lost password?': 'Password smarrita?',
|
||||
'lost password?': 'dimenticato la password?',
|
||||
'Main Menu': 'Menu principale',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Menu Modelli',
|
||||
'Modified By': 'Modificato da',
|
||||
'Modified On': 'Modificato il',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Nome',
|
||||
'New': 'Nuovo',
|
||||
'New password': 'Nuova password',
|
||||
'New Record': 'Nuovo elemento (record)',
|
||||
'new record inserted': 'nuovo record inserito',
|
||||
'next 100 rows': 'prossime 100 righe',
|
||||
'No databases in this application': 'Nessun database presente in questa applicazione',
|
||||
'No records found': 'Nessun record trovato',
|
||||
'Nome': 'Nome',
|
||||
'Non può essere vuoto': 'Non può essere vuoto',
|
||||
'not authorized': 'non autorizzato',
|
||||
'Object or table name': 'Oggeto o nome tabella',
|
||||
'Old password': 'Vecchia password',
|
||||
'Online examples': 'Vedere gli esempi',
|
||||
'Or': 'O',
|
||||
'or import from csv file': 'oppure importa da file CSV',
|
||||
'Origin': 'Origine',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
"Password fields don't match": 'I campi password non sono uguali',
|
||||
'please input your password again': 'perfavore reimmeti la tua password',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': '100 righe precedenti',
|
||||
'Profile': 'Profilo',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Richiesta (query):',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'Record',
|
||||
'record does not exist': 'il record non esiste',
|
||||
'Record ID': 'Record ID',
|
||||
'Record id': 'Record id',
|
||||
'Register': 'Registrati',
|
||||
'register': 'registrazione',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration key': 'Chiave di Registazione',
|
||||
'Registration successful': 'Registrazione avvenuta',
|
||||
'reload': 'reload',
|
||||
'Remember me (for 30 days)': 'Ricordami (per 30 giorni)',
|
||||
'Request reset password': 'Richiedi il reset della password',
|
||||
'Reset Password key': 'Resetta chiave Password ',
|
||||
'Role': 'Ruolo',
|
||||
'Rows in Table': 'Righe nella tabella',
|
||||
'Rows selected': 'Righe selezionate',
|
||||
'Save model as...': 'Salva modello come...',
|
||||
'Save profile': 'Salva profilo',
|
||||
'Search': 'Ricerca',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Servizi',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'starts with': 'comincia con',
|
||||
'state': 'stato',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Foglio di stile (stylesheet)',
|
||||
'submit': 'Inviai',
|
||||
'Submit': 'Invia',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Vuoi veramente cancellare questo oggetto?',
|
||||
'Table': 'tabella',
|
||||
'Table name': 'Nome tabella',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La richiesta (query) è una condizione come ad esempio "db.tabella1.campo1==\'valore\'". Una condizione come "db.tabella1.campo1==db.tabella2.campo2" produce un "JOIN" SQL.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'L\'output del file è un "dictionary" che è stato visualizzato dalla vista %s',
|
||||
'The Views': 'The Views',
|
||||
'This App': 'This App',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'This is a copy of the scaffolding application': "Questa è una copia dell'applicazione di base (scaffold)",
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Ora (timestamp)',
|
||||
'too short': 'troppo corto',
|
||||
'Traceback': 'Traceback',
|
||||
'TSV (Excel compatible)': 'TSV (Excel compatibile)',
|
||||
'TSV (Excel compatible, hidden cols)': 'TSV (Excel compatibile, hidden cols)',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'non riesco a decodificare questo file CSV',
|
||||
'Update': 'Aggiorna',
|
||||
'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)s Logged-in': 'User %(id)s Logged-in',
|
||||
'User %(id)s Logged-out': 'User %(id)s Logged-out',
|
||||
'User %(id)s Password changed': 'User %(id)s Password changed',
|
||||
'User %(id)s Password reset': 'User %(id)s Password reset',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'User %(id)s Registered',
|
||||
'User ID': 'ID Utente',
|
||||
'value already in database or empty': 'valore già presente nel database o vuoto',
|
||||
'Verify Password': 'Verifica Password',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Vista',
|
||||
'Welcome': 'Benvenuto',
|
||||
'Welcome %s': 'Benvenuto %s',
|
||||
'Welcome to web2py': 'Benvenuto su web2py',
|
||||
'Welcome to web2py!': 'Benvenuto in web2py!',
|
||||
'Which called the function %s located in the file %s': 'che ha chiamato la funzione %s presente nel file %s',
|
||||
'Working...': 'Working...',
|
||||
'XML': 'XML',
|
||||
'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 %s': "Hai visitato l'URL %s",
|
||||
}
|
||||
217
applications/welcome3/languages/my.py
Executable file
@@ -0,0 +1,217 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'my',
|
||||
'!langname!': 'Malay',
|
||||
'%d days ago': '%d hari yang lalu',
|
||||
'%d hours ago': '%d jam yang lalu',
|
||||
'%d minutes ago': '%d minit yang lalu',
|
||||
'%d months ago': '%d bulan yang lalu',
|
||||
'%d seconds ago': '%d saat yang lalu',
|
||||
'%d seconds from now': '%d saat dari sekarang',
|
||||
'%d weeks ago': '%d minggu yang lalu',
|
||||
'%d years ago': '%d tahun yang lalu',
|
||||
'%s %%{row} deleted': '%s %%{row} dihapuskan',
|
||||
'%s %%{row} updated': '%s %%{row} dikemas kini',
|
||||
'%s selected': '%s dipilih',
|
||||
'%Y-%m-%d': '%d-%m-%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
|
||||
'(requires internet access, experimental)': '(memerlukan akses internet, percubaan)',
|
||||
'(something like "it-it")': '(sesuatu seperti "it-it")',
|
||||
'1 day ago': '1 hari yang lalu',
|
||||
'1 hour ago': '1 jam yang lalu',
|
||||
'1 minute ago': '1 minit yang lalu',
|
||||
'1 month ago': '1 bulan yang lalu',
|
||||
'1 second ago': '1 saat yang lalu',
|
||||
'1 week ago': '1 minggu yang lalu',
|
||||
'1 year ago': '1 tahun yang lalu',
|
||||
'< Previous': '< Sebelumnya',
|
||||
'About': 'Mengenai',
|
||||
'Add': 'Tambah',
|
||||
'Admin language': 'Bahasa admin',
|
||||
'Administrator Password:': 'Kata laluan Administrator:',
|
||||
'Ajax Recipes': 'Resipi Ajax',
|
||||
'An error occured, please %s the page': 'Kesilapan telah berlaku, sila %s laman',
|
||||
'And': 'Dan',
|
||||
'and rename it:': 'dan menamakan itu:',
|
||||
'are not used yet': 'tidak digunakan lagi',
|
||||
'Are you sure you want to delete this object?': 'Apakah anda yakin anda mahu memadam ini?',
|
||||
'Back': 'Kembali',
|
||||
'Buy this book': 'Beli buku ini',
|
||||
'cache, errors and sessions cleaned': 'cache, kesilapan dan sesi dibersihkan',
|
||||
'Cancel': 'Batal',
|
||||
'Cannot be empty': 'Tidak boleh kosong',
|
||||
'Change admin password': 'Tukar kata laluan admin',
|
||||
'Change password': 'Tukar kata laluan',
|
||||
'Clean': 'Bersihkan',
|
||||
'Clear': 'Hapus',
|
||||
'Clear CACHE?': 'Hapus CACHE?',
|
||||
'Clear DISK': 'Hapus DISK',
|
||||
'Clear RAM': 'Hapus RAM',
|
||||
'Click row to expand traceback': 'Klik baris untuk mengembangkan traceback',
|
||||
'Close': 'Tutup',
|
||||
'Community': 'Komuniti',
|
||||
'Components and Plugins': 'Komponen dan Plugin',
|
||||
'contains': 'mengandung',
|
||||
'Copyright': 'Hak Cipta',
|
||||
'Create': 'Buat',
|
||||
'create file with filename:': 'mencipta fail dengan nama:',
|
||||
'created by': 'dicipta oleh',
|
||||
'currently running': 'sedang berjalan',
|
||||
'data uploaded': 'data diunggah',
|
||||
'Delete': 'Hapus',
|
||||
'Delete this file (you will be asked to confirm deletion)': 'Padam fail ini (anda akan diminta untuk mengesahkan pemadaman)',
|
||||
'Delete:': 'Hapus:',
|
||||
'design': 'disain',
|
||||
'direction: ltr': 'arah: ltr',
|
||||
'Disk Cleared': 'Disk Dihapuskan',
|
||||
'Documentation': 'Dokumentasi',
|
||||
"Don't know what to do?": 'Tidak tahu apa yang perlu dilakukan?',
|
||||
'done!': 'selesai!',
|
||||
'Download': 'Unduh',
|
||||
'Duration': 'Tempoh',
|
||||
'Email : ': 'Emel : ',
|
||||
'Email sent': 'Emel dihantar',
|
||||
'enter a valid email address': 'masukkan alamat emel yang benar',
|
||||
'enter a valid URL': 'masukkan URL yang benar',
|
||||
'enter a value': 'masukkan data',
|
||||
'Error': 'Kesalahan',
|
||||
'Errors': 'Kesalahan',
|
||||
'export as csv file': 'eksport sebagai file csv',
|
||||
'Export:': 'Eksport:',
|
||||
'File': 'Fail',
|
||||
'filter': 'menapis',
|
||||
'First Name': 'Nama Depan',
|
||||
'Forgot username?': 'Lupa nama pengguna?',
|
||||
'Free Applications': 'Aplikasi Percuma',
|
||||
'Gender': 'Jenis Kelamin',
|
||||
'Group %(group_id)s created': 'Kumpulan %(group_id)s dicipta',
|
||||
'Group uniquely assigned to user %(id)s': 'Kumpulan unik yang diberikan kepada pengguna %(id)s',
|
||||
'Groups': 'Kumpulan',
|
||||
'Hello World': 'Halo Dunia',
|
||||
'Help': 'Bantuan',
|
||||
'Home': 'Laman Utama',
|
||||
'How did you get here?': 'Bagaimana kamu boleh di sini?',
|
||||
'Image': 'Gambar',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Eksport',
|
||||
'includes': 'termasuk',
|
||||
'Install': 'Pasang',
|
||||
'Installation': 'Pemasangan',
|
||||
'Introduction': 'Pengenalan',
|
||||
'Invalid email': 'Emel tidak benar',
|
||||
'Language': 'Bahasa',
|
||||
'languages': 'bahasa',
|
||||
'Languages': 'Bahasa',
|
||||
'Last Name': 'Nama Belakang',
|
||||
'License for': 'lesen untuk',
|
||||
'loading...': 'sedang memuat...',
|
||||
'Logged in': 'Masuk',
|
||||
'Logged out': 'Keluar',
|
||||
'Login': 'Masuk',
|
||||
'Logout': 'Keluar',
|
||||
'Lost Password': 'Lupa Kata Laluan',
|
||||
'Lost password?': 'Lupa kata laluan?',
|
||||
'Maintenance': 'Penyelenggaraan',
|
||||
'Manage': 'Menguruskan',
|
||||
'Manage Cache': 'Menguruskan Cache',
|
||||
'models': 'model',
|
||||
'Models': 'Model',
|
||||
'Modules': 'Modul',
|
||||
'modules': 'modul',
|
||||
'My Sites': 'Laman Saya',
|
||||
'New': 'Baru',
|
||||
'New password': 'Kata laluan baru',
|
||||
'next 100 rows': '100 baris seterusnya',
|
||||
'Next >': 'Seterusnya >',
|
||||
'Next Page': 'Laman Seterusnya',
|
||||
'No ticket_storage.txt found under /private folder': 'Ticket_storage.txt tidak dijumpai di bawah folder /private',
|
||||
'not a Zip Code': 'bukan Pos',
|
||||
'Old password': 'Kata laluan lama',
|
||||
'Online examples': 'Contoh Online',
|
||||
'Or': 'Atau',
|
||||
'or alternatively': 'atau sebagai alternatif',
|
||||
'Or Get from URL:': 'Atau Dapatkan dari URL:',
|
||||
'or import from csv file': 'atau import dari file csv',
|
||||
'Other Plugins': 'Plugin Lain',
|
||||
'Other Recipes': 'Resipi Lain',
|
||||
'Overview': 'Tinjauan',
|
||||
'Pack all': 'Mengemaskan semua',
|
||||
'Password': 'Kata laluan',
|
||||
'Password changed': 'Kata laluan berubah',
|
||||
"Password fields don't match": 'Kata laluan tidak sama',
|
||||
'please input your password again': 'sila masukan kata laluan anda lagi',
|
||||
'plugins': 'plugin',
|
||||
'Plugins': 'Plugin',
|
||||
'Powered by': 'Disokong oleh',
|
||||
'Preface': 'Pendahuluan',
|
||||
'previous 100 rows': '100 baris sebelumnya',
|
||||
'Previous Page': 'Laman Sebelumnya',
|
||||
'private files': 'fail peribadi',
|
||||
'Private files': 'Fail peribadi',
|
||||
'Profile': 'Profil',
|
||||
'Profile updated': 'Profil dikemaskini',
|
||||
'Project Progress': 'Kemajuan Projek',
|
||||
'Quick Examples': 'Contoh Cepat',
|
||||
'Ram Cleared': 'Ram Dihapuskan',
|
||||
'Recipes': 'Resipi',
|
||||
'Register': 'Daftar',
|
||||
'Registration successful': 'Pendaftaran berjaya',
|
||||
'reload': 'memuat kembali',
|
||||
'Reload routes': 'Memuat laluan kembali',
|
||||
'Remember me (for 30 days)': 'Ingat saya (selama 30 hari)',
|
||||
'Request reset password': 'Meminta reset kata laluan',
|
||||
'Rows selected': 'Baris dipilih',
|
||||
'Running on %s': 'Berjalan pada %s',
|
||||
'Save model as...': 'Simpan model sebagai ...',
|
||||
'Save profile': 'Simpan profil',
|
||||
'Search': 'Cari',
|
||||
'Select Files to Package': 'Pilih Fail untuk Pakej',
|
||||
'Send Email': 'Kirim Emel',
|
||||
'Size of cache:': 'Saiz cache:',
|
||||
'Solution': 'Penyelesaian',
|
||||
'starts with': 'bermula dengan',
|
||||
'static': 'statik',
|
||||
'Static': 'Statik',
|
||||
'Statistics': 'Statistik',
|
||||
'Support': 'Menyokong',
|
||||
'test': 'ujian',
|
||||
'There are no plugins': 'Tiada plugin',
|
||||
'There are no private files': 'Tiada fail peribadi',
|
||||
'These files are not served, they are only available from within your app': 'Fail-fail ini tidak disampaikan, mereka hanya boleh didapati dari dalam aplikasi anda',
|
||||
'These files are served without processing, your images go here': 'Ini fail disampaikan tanpa pemprosesan, imej anda di sini',
|
||||
'This App': 'App Ini',
|
||||
'Time in Cache (h:m:s)': 'Waktu di Cache (h: m: s)',
|
||||
'Title': 'Judul',
|
||||
'To create a plugin, name a file/folder plugin_[name]': 'Untuk mencipta plugin, nama fail/folder plugin_ [nama]',
|
||||
'too short': 'terlalu pendek',
|
||||
'Unable to download because:': 'Tidak dapat memuat turun kerana:',
|
||||
'unable to parse csv file': 'tidak mampu mengurai file csv',
|
||||
'update all languages': 'mengemaskini semua bahasa',
|
||||
'Update:': 'Kemas kini:',
|
||||
'Upgrade': 'Menaik taraf',
|
||||
'Upload': 'Unggah',
|
||||
'Upload a package:': 'Unggah pakej:',
|
||||
'upload file:': 'unggah fail:',
|
||||
'upload plugin file:': 'unggah fail plugin:',
|
||||
'User %(id)s Logged-in': 'Pengguna %(id)s Masuk',
|
||||
'User %(id)s Logged-out': 'Pengguna %(id)s Keluar',
|
||||
'User %(id)s Password changed': 'Pengguna %(id)s Kata Laluan berubah',
|
||||
'User %(id)s Password reset': 'Pengguna %(id)s Kata Laluan telah direset',
|
||||
'User %(id)s Profile updated': 'Pengguna %(id)s Profil dikemaskini',
|
||||
'User %(id)s Registered': 'Pengguna %(id)s Didaftarkan',
|
||||
'value not allowed': 'data tidak benar',
|
||||
'Verify Password': 'Pengesahan Kata Laluan',
|
||||
'Version': 'Versi',
|
||||
'Versioning': 'Pembuatan Sejarah',
|
||||
'View': 'Lihat',
|
||||
'Views': 'Lihat',
|
||||
'views': 'Lihat',
|
||||
'Web Framework': 'Rangka Kerja Web',
|
||||
'web2py Recent Tweets': 'Tweet terbaru web2py',
|
||||
'Website': 'Laman Web',
|
||||
'Welcome': 'Selamat Datang',
|
||||
'Welcome to web2py!': 'Selamat Datang di web2py!',
|
||||
'You are successfully running web2py': 'Anda berjaya menjalankan web2py',
|
||||
'You can modify this application and adapt it to your needs': 'Anda boleh mengubah suai aplikasi ini dan menyesuaikan dengan keperluan anda',
|
||||
'You visited the url %s': 'Anda melawat url %s',
|
||||
}
|
||||
376
applications/welcome3/languages/nl.py
Normal file
@@ -0,0 +1,376 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'nl',
|
||||
'!langname!': 'Nederlands',
|
||||
'"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',
|
||||
'%(nrows)s records found': '%(nrows)s records gevonden',
|
||||
'%d days ago': '%d dagen geleden',
|
||||
'%d weeks ago': '%d weken gelden',
|
||||
'%s %%{row} deleted': '%s rijen verwijderd',
|
||||
'%s %%{row} updated': '%s rijen geupdate',
|
||||
'%s selected': '%s geselecteerd',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'(something like "it-it")': '(zoiets als "nl-nl")',
|
||||
'1 day ago': '1 dag geleden',
|
||||
'1 week ago': '1 week gelden',
|
||||
'<': '<',
|
||||
'<=': '<=',
|
||||
'=': '=',
|
||||
'>': '>',
|
||||
'>=': '>=',
|
||||
'A new version of web2py is available': 'Een nieuwe versie van web2py is beschikbaar',
|
||||
'A new version of web2py is available: %s': 'Een nieuwe versie van web2py is beschikbaar: %s',
|
||||
'About': 'Over',
|
||||
'about': 'over',
|
||||
'About application': 'Over applicatie',
|
||||
'Access Control': 'Toegangscontrole',
|
||||
'Add': 'Toevoegen',
|
||||
'additional code for your application': 'additionele code voor je applicatie',
|
||||
'admin disabled because no admin password': 'admin is uitgezet omdat er geen admin wachtwoord is',
|
||||
'admin disabled because not supported on google app engine': 'admin is uitgezet omdat dit niet ondersteund wordt op google app engine',
|
||||
'admin disabled because unable to access password file': 'admin is uitgezet omdat het wachtwoordbestand niet geopend kan worden',
|
||||
'Admin is disabled because insecure channel': 'Admin is uitgezet om het kanaal onveilig is',
|
||||
'Admin is disabled because unsecure channel': 'Admin is uitgezet om het kanaal onveilig is',
|
||||
'Administration': 'Administratie',
|
||||
'Administrative Interface': 'Administratieve Interface',
|
||||
'Administrator Password:': 'Administrator Wachtwoord',
|
||||
'Ajax Recipes': 'Ajax Recepten',
|
||||
'And': 'En',
|
||||
'and rename it (required):': 'en hernoem deze (vereist)',
|
||||
'and rename it:': 'en hernoem:',
|
||||
'appadmin': 'appadmin',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is uitgezet vanwege een onveilig kanaal',
|
||||
'application "%s" uninstalled': 'applicatie "%s" gedeïnstalleerd',
|
||||
'application compiled': 'applicatie gecompileerd',
|
||||
'application is compiled and cannot be designed': 'applicatie is gecompileerd en kan niet worden ontworpen',
|
||||
'Are you sure you want to delete file "%s"?': 'Weet je zeker dat je bestand "%s" wilt verwijderen?',
|
||||
'Are you sure you want to delete this object?': 'Weet je zeker dat je dit object wilt verwijderen?',
|
||||
'Are you sure you want to uninstall application "%s"?': 'Weet je zeker dat je applicatie "%s" wilt deïnstalleren?',
|
||||
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'LET OP: Login vereist een beveiligde (HTTPS) connectie of moet draaien op localhost.',
|
||||
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'LET OP: TESTEN IS NIET THREAD SAFE, PROBEER NIET GELIJKTIJDIG MEERDERE TESTS TE DOEN.',
|
||||
'ATTENTION: you cannot edit the running application!': 'LET OP: je kan de applicatie die nu draait niet editen!',
|
||||
'Authentication': 'Authenticatie',
|
||||
'Available Databases and Tables': 'Beschikbare databases en tabellen',
|
||||
'Back': 'Terug',
|
||||
'Buy this book': 'Koop dit boek',
|
||||
'Cache': 'Cache',
|
||||
'cache': 'cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'cache, errors and sessions cleaned': 'cache, errors en sessies geleegd',
|
||||
'Cannot be empty': 'Mag niet leeg zijn',
|
||||
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Kan niet compileren: er bevinden zich fouten in je app. Debug, corrigeer de fouten en probeer opnieuw.',
|
||||
'cannot create file': 'kan bestand niet maken',
|
||||
'cannot upload file "%(filename)s"': 'kan bestand "%(filename)s" niet uploaden',
|
||||
'Change Password': 'Wijzig wachtwoord',
|
||||
'Change password': 'Wijzig Wachtwoord',
|
||||
'change password': 'wijzig wachtwoord',
|
||||
'check all': 'vink alles aan',
|
||||
'Check to delete': 'Vink aan om te verwijderen',
|
||||
'clean': 'leeg',
|
||||
'Clear': 'Leeg',
|
||||
'Clear CACHE?': 'Leeg CACHE?',
|
||||
'Clear DISK': 'Leeg DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'click to check for upgrades': 'Klik om voor upgrades te controleren',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'compile': 'compileren',
|
||||
'compiled application removed': 'gecompileerde applicatie verwijderd',
|
||||
'Components and Plugins': 'Components en Plugins',
|
||||
'contains': 'bevat',
|
||||
'Controller': 'Controller',
|
||||
'Controllers': 'Controllers',
|
||||
'controllers': 'controllers',
|
||||
'Copyright': 'Copyright',
|
||||
'create file with filename:': 'maak bestand met de naam:',
|
||||
'Create new application': 'Maak nieuwe applicatie:',
|
||||
'create new application:': 'maak nieuwe applicatie',
|
||||
'Created By': 'Gemaakt Door',
|
||||
'Created On': 'Gemaakt Op',
|
||||
'crontab': 'crontab',
|
||||
'Current request': 'Huidige request',
|
||||
'Current response': 'Huidige response',
|
||||
'Current session': 'Huidige sessie',
|
||||
'currently saved or': 'op het moment opgeslagen of',
|
||||
'customize me!': 'pas me aan!',
|
||||
'data uploaded': 'data geupload',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'Database %s select',
|
||||
'database administration': 'database administratie',
|
||||
'Date and Time': 'Datum en Tijd',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'defines tables': 'definieer tabellen',
|
||||
'Delete': 'Verwijder',
|
||||
'delete': 'verwijder',
|
||||
'delete all checked': 'verwijder alle aangevinkten',
|
||||
'Delete:': 'Verwijder:',
|
||||
'Demo': 'Demo',
|
||||
'Deploy on Google App Engine': 'Deploy op Google App Engine',
|
||||
'Deployment Recipes': 'Deployment Recepten',
|
||||
'Description': 'Beschrijving',
|
||||
'design': 'design',
|
||||
'DESIGN': 'DESIGN',
|
||||
'Design for': 'Design voor',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Geleegd',
|
||||
'Documentation': 'Documentatie',
|
||||
"Don't know what to do?": 'Weet je niet wat je moet doen?',
|
||||
'done!': 'gereed!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'E-mail invalid': 'E-mail ongeldig',
|
||||
'edit': 'bewerk',
|
||||
'EDIT': 'BEWERK',
|
||||
'Edit': 'Bewerk',
|
||||
'Edit application': 'Bewerk applicatie',
|
||||
'edit controller': 'bewerk controller',
|
||||
'Edit current record': 'Bewerk huidig record',
|
||||
'Edit Profile': 'Bewerk Profiel',
|
||||
'edit profile': 'bewerk profiel',
|
||||
'Edit This App': 'Bewerk Deze App',
|
||||
'Editing file': 'Bewerk bestand',
|
||||
'Editing file "%s"': 'Bewerk bestand "%s"',
|
||||
'Email and SMS': 'E-mail en SMS',
|
||||
'enter a number between %(min)g and %(max)g': 'geef een getal tussen %(min)g en %(max)g',
|
||||
'enter an integer between %(min)g and %(max)g': 'geef een integer tussen %(min)g en %(max)g',
|
||||
'Error logs for "%(app)s"': 'Error logs voor "%(app)s"',
|
||||
'errors': 'errors',
|
||||
'Errors': 'Errors',
|
||||
'Export': 'Export',
|
||||
'export as csv file': 'exporteer als csv-bestand',
|
||||
'exposes': 'stelt bloot',
|
||||
'extends': 'extends',
|
||||
'failed to reload module': 'niet gelukt om module te herladen',
|
||||
'False': 'Onwaar',
|
||||
'FAQ': 'FAQ',
|
||||
'file "%(filename)s" created': 'bestand "%(filename)s" gemaakt',
|
||||
'file "%(filename)s" deleted': 'bestand "%(filename)s" verwijderd',
|
||||
'file "%(filename)s" uploaded': 'bestand "%(filename)s" geupload',
|
||||
'file "%(filename)s" was not deleted': 'bestand "%(filename)s" was niet verwijderd',
|
||||
'file "%s" of %s restored': 'bestand "%s" van %s hersteld',
|
||||
'file changed on disk': 'bestand aangepast op schijf',
|
||||
'file does not exist': 'bestand bestaat niet',
|
||||
'file saved on %(time)s': 'bestand bewaard op %(time)s',
|
||||
'file saved on %s': 'bestand bewaard op %s',
|
||||
'First name': 'Voornaam',
|
||||
'Forbidden': 'Verboden',
|
||||
'Forms and Validators': 'Formulieren en Validators',
|
||||
'Free Applications': 'Gratis Applicaties',
|
||||
'Functions with no doctests will result in [passed] tests.': 'Functies zonder doctests zullen resulteren in [passed] tests.',
|
||||
'Group %(group_id)s created': 'Groep %(group_id)s gemaakt',
|
||||
'Group ID': 'Groep ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Groep is uniek toegekend aan gebruiker %(id)s',
|
||||
'Groups': 'Groepen',
|
||||
'Hello World': 'Hallo Wereld',
|
||||
'help': 'help',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'Hoe ben je hier gekomen?',
|
||||
'htmledit': 'Bewerk HTML',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'includes': 'includes',
|
||||
'Index': 'Index',
|
||||
'insert new': 'voeg nieuwe',
|
||||
'insert new %s': 'voeg nieuwe %s',
|
||||
'Installed applications': 'Geïnstalleerde applicaties',
|
||||
'internal error': 'interne error',
|
||||
'Internal State': 'Interne State',
|
||||
'Introduction': 'Introductie',
|
||||
'Invalid action': 'Ongeldige actie',
|
||||
'Invalid email': 'Ongeldig emailadres',
|
||||
'invalid password': 'ongeldig wachtwoord',
|
||||
'Invalid password': 'Ongeldig wachtwoord',
|
||||
'Invalid Query': 'Ongeldige Query',
|
||||
'invalid request': 'ongeldige request',
|
||||
'invalid ticket': 'ongeldige ticket',
|
||||
'Is Active': 'Is Actief',
|
||||
'Key': 'Key',
|
||||
'language file "%(filename)s" created/updated': 'taalbestand "%(filename)s" gemaakt/geupdate',
|
||||
'Language files (static strings) updated': 'Taalbestanden (statische strings) geupdate',
|
||||
'languages': 'talen',
|
||||
'Languages': 'Talen',
|
||||
'languages updated': 'talen geupdate',
|
||||
'Last name': 'Achternaam',
|
||||
'Last saved on:': 'Laatst bewaard op:',
|
||||
'Layout': 'Layout',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'License for': 'Licentie voor',
|
||||
'Live Chat': 'Live Chat',
|
||||
'loading...': 'laden...',
|
||||
'Logged in': 'Ingelogd',
|
||||
'Logged out': 'Uitgelogd',
|
||||
'Login': 'Login',
|
||||
'login': 'login',
|
||||
'Login to the Administrative Interface': 'Inloggen op de Administratieve Interface',
|
||||
'logout': 'logout',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Wachtwoord Kwijt',
|
||||
'Lost password?': 'Wachtwoord kwijt?',
|
||||
'Main Menu': 'Hoofdmenu',
|
||||
'Manage Cache': 'Beheer Cache',
|
||||
'Menu Model': 'Menu Model',
|
||||
'merge': 'samenvoegen',
|
||||
'Models': 'Modellen',
|
||||
'models': 'modellen',
|
||||
'Modified By': 'Aangepast Door',
|
||||
'Modified On': 'Aangepast Op',
|
||||
'Modules': 'Modules',
|
||||
'modules': 'modules',
|
||||
'My Sites': 'Mijn Sites',
|
||||
'Name': 'Naam',
|
||||
'New': 'Nieuw',
|
||||
'new application "%s" created': 'nieuwe applicatie "%s" gemaakt',
|
||||
'New password': 'Nieuw wachtwoord',
|
||||
'New Record': 'Nieuw Record',
|
||||
'new record inserted': 'nieuw record ingevoegd',
|
||||
'next 100 rows': 'volgende 100 rijen',
|
||||
'NO': 'NEE',
|
||||
'No databases in this application': 'Geen database in deze applicatie',
|
||||
'Object or table name': 'Object of tabelnaam',
|
||||
'Old password': 'Oude wachtwoord',
|
||||
'Online examples': 'Online voorbeelden',
|
||||
'Or': 'Of',
|
||||
'or import from csv file': 'of importeer van csv-bestand',
|
||||
'or provide application url:': 'of geef een applicatie url:',
|
||||
'Origin': 'Bron',
|
||||
'Original/Translation': 'Oorspronkelijk/Vertaling',
|
||||
'Other Plugins': 'Andere Plugins',
|
||||
'Other Recipes': 'Andere Recepten',
|
||||
'Overview': 'Overzicht',
|
||||
'pack all': 'pack all',
|
||||
'pack compiled': 'pack compiled',
|
||||
'Password': 'Wachtwoord',
|
||||
"Password fields don't match": 'Wachtwoordvelden komen niet overeen',
|
||||
'Peeking at file': 'Naar bestand aan het gluren',
|
||||
'please input your password again': 'geef alstublieft nogmaals uw wachtwoord',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Inleiding',
|
||||
'previous 100 rows': 'vorige 100 rijen',
|
||||
'Profile': 'Profiel',
|
||||
'Python': 'Python',
|
||||
'Query': 'Query',
|
||||
'Query:': 'Query:',
|
||||
'Quick Examples': 'Snelle Voorbeelden',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Geleegd',
|
||||
'Recipes': 'Recepten',
|
||||
'Record': 'Record',
|
||||
'record does not exist': 'record bestaat niet',
|
||||
'Record ID': 'Record ID',
|
||||
'Record id': 'Record id',
|
||||
'register': 'registreer',
|
||||
'Register': 'Registreer',
|
||||
'Registration identifier': 'Registratie identifier',
|
||||
'Registration key': 'Registratie sleutel',
|
||||
'Registration successful': 'Registratie succesvol',
|
||||
'Remember me (for 30 days)': 'Onthoudt mij (voor 30 dagen)',
|
||||
'remove compiled': 'verwijder gecompileerde',
|
||||
'Request reset password': 'Vraag een wachtwoord reset aan',
|
||||
'Reset Password key': 'Reset Wachtwoord sleutel',
|
||||
'Resolve Conflict file': 'Los Conflictbestand op',
|
||||
'restore': 'herstel',
|
||||
'revert': 'herstel',
|
||||
'Role': 'Rol',
|
||||
'Rows in Table': 'Rijen in tabel',
|
||||
'Rows selected': 'Rijen geselecteerd',
|
||||
'save': 'bewaar',
|
||||
'Save profile': 'Bewaar profiel',
|
||||
'Saved file hash:': 'Opgeslagen file hash:',
|
||||
'Search': 'Zoek',
|
||||
'Semantic': 'Semantisch',
|
||||
'Services': 'Services',
|
||||
'session expired': 'sessie verlopen',
|
||||
'shell': 'shell',
|
||||
'site': 'site',
|
||||
'Size of cache:': 'Grootte van cache:',
|
||||
'some files could not be removed': 'sommige bestanden konden niet worden verwijderd',
|
||||
'starts with': 'begint met',
|
||||
'state': 'state',
|
||||
'static': 'statisch',
|
||||
'Static files': 'Statische bestanden',
|
||||
'Statistics': 'Statistieken',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Submit': 'Submit',
|
||||
'submit': 'submit',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Weet je zeker dat je dit object wilt verwijderen?',
|
||||
'Table': 'Tabel',
|
||||
'Table name': 'Tabelnaam',
|
||||
'test': 'test',
|
||||
'Testing application': 'Applicatie testen',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'De "query" is een conditie zoals "db.tabel1.veld1==\'waarde\'". Zoiets als "db.tabel1.veld1==db.tabel2.veld2" resulteert in een SQL JOIN.',
|
||||
'the application logic, each URL path is mapped in one exposed function in the controller': 'the applicatie logica, elk URL pad is gemapped in een blootgestelde functie in de controller',
|
||||
'The Core': 'De Core',
|
||||
'the data representation, define database tables and sets': 'de data representatie, definieert database tabellen en sets',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'De output van het bestand is een dictionary die gerenderd werd door de view %s',
|
||||
'the presentations layer, views are also known as templates': 'de presentatie laag, views zijn ook bekend als templates',
|
||||
'The Views': 'De Views',
|
||||
'There are no controllers': 'Er zijn geen controllers',
|
||||
'There are no models': 'Er zijn geen modellen',
|
||||
'There are no modules': 'Er zijn geen modules',
|
||||
'There are no static files': 'Er zijn geen statische bestanden',
|
||||
'There are no translators, only default language is supported': 'Er zijn geen vertalingen, alleen de standaard taal wordt ondersteund.',
|
||||
'There are no views': 'Er zijn geen views',
|
||||
'these files are served without processing, your images go here': 'Deze bestanden worden geserveerd zonder verdere verwerking, je afbeeldingen horen hier',
|
||||
'This App': 'Deze App',
|
||||
'This is a copy of the scaffolding application': 'Dit is een kopie van de steiger-applicatie',
|
||||
'This is the %(filename)s template': 'Dit is de %(filename)s template',
|
||||
'Ticket': 'Ticket',
|
||||
'Time in Cache (h:m:s)': 'Tijd in Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp (timestamp)',
|
||||
'to previous version.': 'naar vorige versie.',
|
||||
'too short': 'te kort',
|
||||
'translation strings for the application': 'vertaalstrings voor de applicatie',
|
||||
'True': 'Waar',
|
||||
'try': 'probeer',
|
||||
'try something like': 'probeer zoiets als',
|
||||
'Twitter': 'Twitter',
|
||||
'Unable to check for upgrades': 'Niet mogelijk om te controleren voor upgrades',
|
||||
'unable to create application "%s"': 'niet mogelijk om applicatie "%s" te maken',
|
||||
'unable to delete file "%(filename)s"': 'niet mogelijk om bestand "%(filename)s" te verwijderen',
|
||||
'Unable to download': 'Niet mogelijk om te downloaden',
|
||||
'Unable to download app': 'Niet mogelijk om app te downloaden',
|
||||
'unable to parse csv file': 'niet mogelijk om csv-bestand te parsen',
|
||||
'unable to uninstall "%s"': 'niet mogelijk om "%s" te deïnstalleren',
|
||||
'uncheck all': 'vink alles uit',
|
||||
'uninstall': ' deïnstalleer',
|
||||
'update': 'update',
|
||||
'update all languages': 'update alle talen',
|
||||
'Update:': 'Update:',
|
||||
'upload application:': 'upload applicatie:',
|
||||
'Upload existing application': 'Upload bestaande applicatie',
|
||||
'upload file:': 'upload bestand',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Gebruik (...)&(...) voor AND, (...)|(...) voor OR, en ~(...) voor NOT om meer complexe queries te maken.',
|
||||
'User %(id)s Logged-in': 'Gebruiker %(id)s Logged-in',
|
||||
'User %(id)s Logged-out': 'Gebruiker %(id)s Logged-out',
|
||||
'User %(id)s Password changed': 'Wachtwoord van gebruiker %(id)s is veranderd',
|
||||
'User %(id)s Password reset': 'Wachtwoord van gebruiker %(id)s is gereset',
|
||||
'User %(id)s Profile updated': 'Profiel van Gebruiker %(id)s geupdate',
|
||||
'User %(id)s Registered': 'Gebruiker %(id)s Geregistreerd',
|
||||
'User ID': 'User ID',
|
||||
'value already in database or empty': 'waarde al in database of leeg',
|
||||
'Verify Password': 'Verifieer Wachtwoord',
|
||||
'versioning': 'versionering',
|
||||
'Videos': 'Videos',
|
||||
'View': 'View',
|
||||
'view': 'view',
|
||||
'Views': 'Vieuws',
|
||||
'views': 'vieuws',
|
||||
'web2py is up to date': 'web2py is up to date',
|
||||
'web2py Recent Tweets': 'web2py Recente Tweets',
|
||||
'Welcome': 'Welkom',
|
||||
'Welcome %s': 'Welkom %s',
|
||||
'Welcome to web2py': 'Welkom bij web2py',
|
||||
'Welcome to web2py!': 'Welkom bij web2py!',
|
||||
'Which called the function %s located in the file %s': 'Die functie %s aanriep en zich bevindt in het bestand %s',
|
||||
'YES': 'JA',
|
||||
'You are successfully running web2py': 'Je draait web2py succesvol',
|
||||
'You can modify this application and adapt it to your needs': 'Je kan deze applicatie aanpassen naar je eigen behoeften',
|
||||
'You visited the url %s': 'Je bezocht de url %s',
|
||||
}
|
||||
171
applications/welcome3/languages/pl.py
Normal file
@@ -0,0 +1,171 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'pl',
|
||||
'!langname!': 'Polska',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Uaktualnij" jest dodatkowym wyrażeniem postaci "pole1=\'nowawartość\'". Nie możesz uaktualnić lub usunąć wyników z JOIN:',
|
||||
'%s %%{row} deleted': 'Wierszy usuniętych: %s',
|
||||
'%s %%{row} updated': 'Wierszy uaktualnionych: %s',
|
||||
'%s selected': '%s wybranych',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': 'Kliknij aby przejść do panelu administracyjnego',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'appadmin is disabled because insecure channel': 'administracja aplikacji wyłączona z powodu braku bezpiecznego połączenia',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Authentication': 'Uwierzytelnienie',
|
||||
'Available Databases and Tables': 'Dostępne bazy danych i tabele',
|
||||
'Buy this book': 'Buy this book',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Nie może być puste',
|
||||
'Change Password': 'Zmień hasło',
|
||||
'change password': 'change password',
|
||||
'Check to delete': 'Zaznacz aby usunąć',
|
||||
'Check to delete:': 'Zaznacz aby usunąć:',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Client IP': 'IP klienta',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': 'Kontroler',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktualne żądanie',
|
||||
'Current response': 'Aktualna odpowiedź',
|
||||
'Current session': 'Aktualna sesja',
|
||||
'customize me!': 'dostosuj mnie!',
|
||||
'data uploaded': 'dane wysłane',
|
||||
'Database': 'baza danych',
|
||||
'Database %s select': 'wybór z bazy danych %s',
|
||||
'db': 'baza danych',
|
||||
'DB Model': 'Model bazy danych',
|
||||
'Delete:': 'Usuń:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Opis',
|
||||
'design': 'projektuj',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'zrobione!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'Adres e-mail',
|
||||
'Edit': 'Edycja',
|
||||
'Edit current record': 'Edytuj obecny rekord',
|
||||
'edit profile': 'edit profile',
|
||||
'Edit Profile': 'Edytuj profil',
|
||||
'Edit This App': 'Edytuj tę aplikację',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'eksportuj jako plik csv',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Imię',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Funkcja wyłączona',
|
||||
'Group ID': 'ID grupy',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Witaj Świecie',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Importuj/eksportuj',
|
||||
'Index': 'Indeks',
|
||||
'insert new': 'wstaw nowy rekord tabeli',
|
||||
'insert new %s': 'wstaw nowy rekord do tabeli %s',
|
||||
'Internal State': 'Stan wewnętrzny',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Błędny adres email',
|
||||
'Invalid Query': 'Błędne zapytanie',
|
||||
'invalid request': 'Błędne żądanie',
|
||||
'Key': 'Key',
|
||||
'Last name': 'Nazwisko',
|
||||
'Layout': 'Układ',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'login': 'login',
|
||||
'Login': 'Zaloguj',
|
||||
'logout': 'logout',
|
||||
'Logout': 'Wyloguj',
|
||||
'Lost Password': 'Przypomnij hasło',
|
||||
'Main Menu': 'Menu główne',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Model menu',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Nazwa',
|
||||
'New Record': 'Nowy rekord',
|
||||
'new record inserted': 'nowy rekord został wstawiony',
|
||||
'next 100 rows': 'następne 100 wierszy',
|
||||
'No databases in this application': 'Brak baz danych w tej aplikacji',
|
||||
'Online examples': 'Kliknij aby przejść do interaktywnych przykładów',
|
||||
'or import from csv file': 'lub zaimportuj z pliku csv',
|
||||
'Origin': 'Źródło',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Hasło',
|
||||
"Password fields don't match": 'Pola hasła nie są zgodne ze sobą',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Zasilane przez',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': 'poprzednie 100 wierszy',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Zapytanie:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'rekord',
|
||||
'record does not exist': 'rekord nie istnieje',
|
||||
'Record ID': 'ID rekordu',
|
||||
'Record id': 'id rekordu',
|
||||
'Register': 'Zarejestruj',
|
||||
'register': 'register',
|
||||
'Registration key': 'Klucz rejestracji',
|
||||
'Role': 'Rola',
|
||||
'Rows in Table': 'Wiersze w tabeli',
|
||||
'Rows selected': 'Wybrane wiersze',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'stan',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Arkusz stylów',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Wyślij',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Czy na pewno chcesz usunąć ten obiekt?',
|
||||
'Table': 'tabela',
|
||||
'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ść\'". Takie coś jak "db.tabela1.pole1==db.tabela2.pole2" oznacza SQL JOIN.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': 'The Views',
|
||||
'This App': 'This App',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Znacznik czasu',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'nie można sparsować pliku csv',
|
||||
'Update:': 'Uaktualnij:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Użyj (...)&(...) jako AND, (...)|(...) jako OR oraz ~(...) jako NOT do tworzenia bardziej skomplikowanych zapytań.',
|
||||
'User %(id)s Registered': 'Użytkownik %(id)s został zarejestrowany',
|
||||
'User ID': 'ID użytkownika',
|
||||
'Verify Password': 'Potwierdź hasło',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Widok',
|
||||
'Welcome %s': 'Welcome %s',
|
||||
'Welcome to web2py': 'Witaj w web2py',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'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 %s': 'You visited the url %s',
|
||||
}
|
||||
20
applications/welcome3/languages/plural-cs.py
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env python
|
||||
{
|
||||
# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
|
||||
'vteřina': ['vteřiny', 'vteřin'],
|
||||
'vteřinou': ['vteřinami', 'vteřinami'],
|
||||
'minuta': ['minuty', 'minut'],
|
||||
'minutou': ['minutami', 'minutami'],
|
||||
'hodina': ['hodiny','hodin'],
|
||||
'hodinou': ['hodinami','hodinami'],
|
||||
'den': ['dny','dnů'],
|
||||
'dnem': ['dny','dny'],
|
||||
'týden': ['týdny','týdnů'],
|
||||
'týdnem': ['týdny','týdny'],
|
||||
'měsíc': ['měsíce','měsíců'],
|
||||
'měsícem': ['měsíci','měsíci'],
|
||||
'rok': ['roky','let'],
|
||||
'rokem': ['roky','lety'],
|
||||
'záznam': ['záznamy', 'záznamů'],
|
||||
'soubor': ['soubory', 'souborů']
|
||||
}
|
||||
15
applications/welcome3/languages/plural-en.py
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env python
|
||||
{
|
||||
# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
|
||||
'account': ['accounts'],
|
||||
'book': ['books'],
|
||||
'is': ['are'],
|
||||
'man': ['men'],
|
||||
'miss': ['misses'],
|
||||
'person': ['people'],
|
||||
'quark': ['quarks'],
|
||||
'shop': ['shops'],
|
||||
'this': ['these'],
|
||||
'was': ['were'],
|
||||
'woman': ['women'],
|
||||
}
|
||||
8
applications/welcome3/languages/plural-es.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# coding: utf-8
|
||||
{
|
||||
# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
|
||||
'fila': ['filas'],
|
||||
'eliminada': ['eliminadas'],
|
||||
'actualizada': ['actualizadas'],
|
||||
'seleccionado': ['seleccionados'],
|
||||
}
|
||||
16
applications/welcome3/languages/plural-ru.py
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env python
|
||||
{
|
||||
# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
|
||||
'выбрана': ['выбраны','выбрано'],
|
||||
'запись': ['записи','записей'],
|
||||
'изменена': ['изменены','изменено'],
|
||||
'строка': ['строки','строк'],
|
||||
'удалена': ['удалены','удалено'],
|
||||
'день': ['дня', 'дней'],
|
||||
'месяц': ['месяца','месяцев'],
|
||||
'неделю': ['недели','недель'],
|
||||
'год': ['года','лет'],
|
||||
'час': ['часа','часов'],
|
||||
'минуту': ['минуты','минут'],
|
||||
'секунду': ['секунды','секунд'],
|
||||
}
|
||||
17
applications/welcome3/languages/plural-uk.py
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env python
|
||||
{
|
||||
# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
|
||||
'байт': ['байти','байтів'],
|
||||
'годину': ['години','годин'],
|
||||
'день': ['дні','днів'],
|
||||
'елемент': ['елементи','елементів'],
|
||||
'запис': ['записи','записів'],
|
||||
'місяць': ['місяці','місяців'],
|
||||
'поцілювання': ['поцілювання','поцілювань'],
|
||||
'рядок': ['рядки','рядків'],
|
||||
'рік': ['роки','років'],
|
||||
'секунду': ['секунди','секунд'],
|
||||
'схибнення': ['схибнення','схибнень'],
|
||||
'тиждень': ['тижні','тижнів'],
|
||||
'хвилину': ['хвилини','хвилин'],
|
||||
}
|
||||
176
applications/welcome3/languages/pt-br.py
Normal file
@@ -0,0 +1,176 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'pt-br',
|
||||
'!langname!': 'Português (do Brasil)',
|
||||
'"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',
|
||||
'%s %%{row} deleted': '%s linhas apagadas',
|
||||
'%s %%{row} updated': '%s linhas atualizadas',
|
||||
'%s selected': '%s selecionado',
|
||||
'%Y-%m-%d': '%d-%m-%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
|
||||
'About': 'Sobre',
|
||||
'Access Control': 'Controle de Acesso',
|
||||
'Administrative Interface': 'Interface Administrativa',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ocorreu um erro, por favor [[reload %s]] a página',
|
||||
'Administrative interface': 'Interface administrativa',
|
||||
'Ajax Recipes': 'Receitas de Ajax',
|
||||
'appadmin is disabled because insecure channel': 'Administração desativada porque o canal não é seguro',
|
||||
'Are you sure you want to delete this object?': 'Você está certo que deseja apagar este objeto?',
|
||||
'Available Databases and Tables': 'Bancos de dados e tabelas disponíveis',
|
||||
'Buy this book': 'Compre o livro',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Chaves de cache',
|
||||
'Cannot be empty': 'Não pode ser vazio',
|
||||
'change password': 'modificar senha',
|
||||
'Check to delete': 'Marque para apagar',
|
||||
'Clear CACHE?': 'Limpar CACHE?',
|
||||
'Clear DISK': 'Limpar DISCO',
|
||||
'Clear RAM': 'Limpar memória RAM',
|
||||
'Client IP': 'IP do cliente',
|
||||
'Community': 'Comunidade',
|
||||
'Components and Plugins': 'Componentes e Plugins',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Requisição atual',
|
||||
'Current response': 'Resposta atual',
|
||||
'Current session': 'Sessão atual',
|
||||
'customize me!': 'Personalize-me!',
|
||||
'data uploaded': 'dados enviados',
|
||||
'Database': 'banco de dados',
|
||||
'Database %s select': 'Selecionar banco de dados %s',
|
||||
'db': 'bd',
|
||||
'DB Model': 'Modelo BD',
|
||||
'Delete:': 'Apagar:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Receitas de deploy',
|
||||
'Description': 'Descrição',
|
||||
'design': 'projeto',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Chaves do Cache de Disco',
|
||||
'Disk Cleared': 'Disco Limpo',
|
||||
'Documentation': 'Documentação',
|
||||
"Don't know what to do?": "Não sabe o que fazer?",
|
||||
'done!': 'concluído!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Editar',
|
||||
'Edit current record': 'Editar o registro atual',
|
||||
'edit profile': 'editar perfil',
|
||||
'Edit This App': 'Editar esta aplicação',
|
||||
'Email and SMS': 'Email e SMS',
|
||||
'Errors': 'Erros',
|
||||
'Enter an integer between %(min)g and %(max)g': 'Informe um valor inteiro entre %(min)g e %(max)g',
|
||||
'export as csv file': 'exportar como um arquivo csv',
|
||||
'FAQ': 'Perguntas frequentes',
|
||||
'First name': 'Nome',
|
||||
'Forms and Validators': 'Formulários e Validadores',
|
||||
'Free Applications': 'Aplicações gratuitas',
|
||||
'Group ID': 'ID do Grupo',
|
||||
'Groups': 'Grupos',
|
||||
'Hello World': 'Olá Mundo',
|
||||
'Home': 'Principal',
|
||||
'How did you get here?': 'Como você chegou aqui?',
|
||||
'import': 'importar',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Index': 'Início',
|
||||
'insert new': 'inserir novo',
|
||||
'insert new %s': 'inserir novo %s',
|
||||
'Internal State': 'Estado Interno',
|
||||
'Introduction': 'Introdução',
|
||||
'Invalid email': 'Email inválido',
|
||||
'Invalid Query': 'Consulta Inválida',
|
||||
'invalid request': 'requisição inválida',
|
||||
'Key': 'Chave',
|
||||
'Last name': 'Sobrenome',
|
||||
'Layout': 'Layout',
|
||||
'Layout Plugins': 'Plugins de Layout',
|
||||
'Layouts': 'Layouts',
|
||||
'Live chat': 'Chat ao vivo',
|
||||
'Live Chat': 'Chat ao vivo',
|
||||
'login': 'Entrar',
|
||||
'Login': 'Autentique-se',
|
||||
'logout': 'Sair',
|
||||
'Lost Password': 'Esqueceu sua senha?',
|
||||
'lost password?': 'esqueceu sua senha?',
|
||||
'Main Menu': 'Menu Principal',
|
||||
'Manage Cache': 'Gerenciar Cache',
|
||||
'Menu Model': 'Modelo de Menu',
|
||||
'My Sites': 'Meus sites',
|
||||
'Name': 'Nome',
|
||||
'New Record': 'Novo Registro',
|
||||
'new record inserted': 'novo registro inserido',
|
||||
'next 100 rows': 'próximas 100 linhas',
|
||||
'No databases in this application': 'Não há bancos de dados nesta aplicação',
|
||||
'Object or table name': 'Nome do objeto do da tabela',
|
||||
'Online examples': 'Exemplos online',
|
||||
'or import from csv file': 'ou importar de um arquivo csv',
|
||||
'Origin': 'Origem',
|
||||
'Other Plugins': 'Outros Plugins',
|
||||
'Other Recipes': 'Outras Receitas',
|
||||
'Overview': 'Visão Geral',
|
||||
'Password': 'Senha',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Desenvolvido com',
|
||||
'Preface': 'Prefácio',
|
||||
'previous 100 rows': '100 linhas anteriores',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Consulta:',
|
||||
'Quick Examples': 'Exemplos rápidos',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Receitas',
|
||||
'Record': 'Registro',
|
||||
'record does not exist': 'registro não existe',
|
||||
'Record ID': 'ID do Registro',
|
||||
'Record id': 'id do registro',
|
||||
'Register': 'Registre-se',
|
||||
'register': 'Registre-se',
|
||||
'Registration key': 'Chave de registro',
|
||||
'Reset Password key': 'Resetar chave de senha',
|
||||
'Resources': 'Recursos',
|
||||
'Role': 'Papel',
|
||||
'Registration identifier': 'Idenficador de registro',
|
||||
'Rows in Table': 'Linhas na tabela',
|
||||
'Rows selected': 'Linhas selecionadas',
|
||||
'Semantic': 'Semântico',
|
||||
'Services': 'Serviço',
|
||||
'Size of cache:': 'Tamanho do cache:',
|
||||
'state': 'estado',
|
||||
'Statistics': 'Estatísticas',
|
||||
'Stylesheet': 'Folha de estilo',
|
||||
'submit': 'enviar',
|
||||
'Support': 'Suporte',
|
||||
'Sure you want to delete this object?': 'Está certo(a) que deseja apagar este objeto?',
|
||||
'Table': 'Tabela',
|
||||
'Table name': 'Nome da tabela',
|
||||
'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 output of the file is a dictionary that was rendered by the view %s': 'A saída do arquivo é um dicionário que foi apresentado pela visão %s',
|
||||
'The Views': 'As views',
|
||||
'This App': 'Esta aplicação',
|
||||
'This email already has an account': 'Este email já tem uma conta',
|
||||
'This is a copy of the scaffolding application': 'Isto é uma cópia da aplicação modelo',
|
||||
'Time in Cache (h:m:s)': 'Tempo em Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'não foi possível analisar arquivo csv',
|
||||
'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': 'ID do Usuário',
|
||||
'User Voice': 'Opinião dos usuários',
|
||||
'Videos': 'Vídeos',
|
||||
'View': 'Visualização',
|
||||
'Web2py': 'Web2py',
|
||||
'Welcome': 'Bem-vindo',
|
||||
'Welcome %s': 'Bem-vindo %s',
|
||||
'Welcome to web2py': 'Bem-vindo ao web2py',
|
||||
'Welcome to web2py!': 'Bem-vindo ao web2py!',
|
||||
'Which called the function %s located in the file %s': 'Que chamou a função %s localizada no arquivo %s',
|
||||
'You are successfully running web2py': 'Você está executando o web2py com sucesso',
|
||||
'You are successfully running web2py.': 'Você está executando o web2py com sucesso.',
|
||||
'You can modify this application and adapt it to your needs': 'Você pode modificar esta aplicação e adaptá-la às suas necessidades',
|
||||
'You visited the url %s': 'Você acessou a url %s',
|
||||
'Working...': 'Trabalhando...',
|
||||
}
|
||||
184
applications/welcome3/languages/pt.py
Normal file
@@ -0,0 +1,184 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'pt',
|
||||
'!langname!': 'Português',
|
||||
'"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',
|
||||
'%s %%{row} deleted': '%s linhas eliminadas',
|
||||
'%s %%{row} updated': '%s linhas actualizadas',
|
||||
'%s selected': '%s seleccionado(s)',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': 'Painel administrativo',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'appadmin is disabled because insecure channel': 'appadmin está desactivada pois o canal é inseguro',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'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',
|
||||
'Buy this book': 'Buy this book',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'não pode ser vazio',
|
||||
'Category Create': 'Category Create',
|
||||
'Category Select': 'Category Select',
|
||||
'change password': 'alterar palavra-chave',
|
||||
'Check to delete': 'seleccione para eliminar',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Comment Create': 'Comment Create',
|
||||
'Comment Select': 'Comment Select',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Content': 'Content',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Direitos de cópia',
|
||||
'create new category': 'create new category',
|
||||
'create new comment': 'create new comment',
|
||||
'create new post': 'create new post',
|
||||
'Created By': 'Created By',
|
||||
'Created On': 'Created On',
|
||||
'Current request': 'pedido currente',
|
||||
'Current response': 'resposta currente',
|
||||
'Current session': 'sessão currente',
|
||||
'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',
|
||||
'DB Model': 'Modelo de BD',
|
||||
'Delete:': 'Eliminar:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'design': 'design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'concluído!',
|
||||
'Download': 'Download',
|
||||
'Edit': 'Editar',
|
||||
'edit category': 'edit category',
|
||||
'edit comment': 'edit comment',
|
||||
'Edit current record': 'Edição de registo currente',
|
||||
'edit post': 'edit post',
|
||||
'edit profile': 'Editar perfil',
|
||||
'Edit This App': 'Edite esta aplicação',
|
||||
'Email': 'Email',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'exportar como ficheiro csv',
|
||||
'FAQ': 'FAQ',
|
||||
'First Name': 'First Name',
|
||||
'For %s #%s': 'For %s #%s',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Olá Mundo',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Index': 'Índice',
|
||||
'insert new': 'inserir novo',
|
||||
'insert new %s': 'inserir novo %s',
|
||||
'Internal State': 'Estado interno',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid Query': 'Consulta Inválida',
|
||||
'invalid request': 'Pedido Inválido',
|
||||
'Key': 'Key',
|
||||
'Last Name': 'Last Name',
|
||||
'Layout': 'Esboço',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'login': 'login',
|
||||
'logout': 'logout',
|
||||
'Lost Password': 'Lost Password',
|
||||
'Main Menu': 'Menu Principal',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Menu do Modelo',
|
||||
'Modified By': 'Modified By',
|
||||
'Modified On': 'Modified On',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'New Record': 'Novo Registo',
|
||||
'new record inserted': 'novo registo inserido',
|
||||
'next 100 rows': 'próximas 100 linhas',
|
||||
'No Data': 'No Data',
|
||||
'No databases in this application': 'Não há bases de dados nesta aplicação',
|
||||
'Online examples': 'Exemplos online',
|
||||
'or import from csv file': 'ou importe a partir de ficheiro csv',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
'Plugins': 'Plugins',
|
||||
'Post Create': 'Post Create',
|
||||
'Post Select': 'Post Select',
|
||||
'Powered by': 'Suportado por',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': '100 linhas anteriores',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Interrogação:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'registo',
|
||||
'record does not exist': 'registo inexistente',
|
||||
'Record id': 'id de registo',
|
||||
'Register': 'Register',
|
||||
'register': 'register',
|
||||
'Replyto Reference Post': 'Replyto Reference Post',
|
||||
'Rows in Table': 'Linhas numa tabela',
|
||||
'Rows selected': 'Linhas seleccionadas',
|
||||
'search category': 'search category',
|
||||
'search comment': 'search comment',
|
||||
'search post': 'search post',
|
||||
'select category': 'select category',
|
||||
'select comment': 'select comment',
|
||||
'select post': 'select post',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'show category': 'show category',
|
||||
'show comment': 'show comment',
|
||||
'show post': 'show post',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'estado',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Folha de estilo',
|
||||
'submit': 'submit',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Tem a certeza que deseja eliminar este objecto?',
|
||||
'Table': 'tabela',
|
||||
'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.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': 'The Views',
|
||||
'This App': 'This App',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Title': 'Title',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'não foi possível carregar ficheiro csv',
|
||||
'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',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Vista',
|
||||
'Welcome %s': 'Bem-vindo(a) %s',
|
||||
'Welcome to Gluonization': 'Bem vindo ao Web2py',
|
||||
'Welcome to web2py': 'Bem-vindo(a) ao web2py',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'When': 'When',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'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 %s': 'You visited the url %s',
|
||||
}
|
||||
373
applications/welcome3/languages/ro.py
Normal file
@@ -0,0 +1,373 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!=': '!=',
|
||||
'!langcode!': 'ro',
|
||||
'!langname!': 'Română',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" (actualizează) este o expresie opțională precum "câmp1=\'valoare_nouă\'". Nu puteți actualiza sau șterge rezultatele unui JOIN',
|
||||
'%(nrows)s records found': '%(nrows)s înregistrări găsite',
|
||||
'%d days ago': '%d days ago',
|
||||
'%d weeks ago': '%d weeks ago',
|
||||
'%s %%{row} deleted': '%s linii șterse',
|
||||
'%s %%{row} updated': '%s linii actualizate',
|
||||
'%s selected': '%s selectat(e)',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'(something like "it-it")': '(ceva ce seamănă cu "it-it")',
|
||||
'1 day ago': '1 day ago',
|
||||
'1 week ago': '1 week ago',
|
||||
'<': '<',
|
||||
'<=': '<=',
|
||||
'=': '=',
|
||||
'>': '>',
|
||||
'>=': '>=',
|
||||
'A new version of web2py is available': 'O nouă versiune de web2py este disponibilă',
|
||||
'A new version of web2py is available: %s': 'O nouă versiune de web2py este disponibilă: %s',
|
||||
'About': 'Despre',
|
||||
'about': 'despre',
|
||||
'About application': 'Despre aplicație',
|
||||
'Access Control': 'Control acces',
|
||||
'Add': 'Adaugă',
|
||||
'additional code for your application': 'cod suplimentar pentru aplicația dvs.',
|
||||
'admin disabled because no admin password': 'administrare dezactivată deoarece parola de administrator nu a fost furnizată',
|
||||
'admin disabled because not supported on google app engine': 'administrare dezactivată deoarece funcționalitatea nu e suportat pe Google App Engine',
|
||||
'admin disabled because unable to access password file': 'administrare dezactivată deoarece nu există acces la fișierul cu parole',
|
||||
'Admin is disabled because insecure channel': 'Adminstrarea este dezactivată deoarece conexiunea nu este sigură',
|
||||
'Admin is disabled because unsecure channel': 'Administrarea este dezactivată deoarece conexiunea nu este securizată',
|
||||
'Administration': 'Administrare',
|
||||
'Administrative Interface': 'Interfață administrare',
|
||||
'Administrator Password:': 'Parolă administrator:',
|
||||
'Ajax Recipes': 'Rețete Ajax',
|
||||
'And': 'Și',
|
||||
'and rename it (required):': 'și renumiți (obligatoriu):',
|
||||
'and rename it:': ' și renumiți:',
|
||||
'appadmin': 'appadmin',
|
||||
'appadmin is disabled because insecure channel': 'appadmin dezactivat deoarece conexiunea nu e sigură',
|
||||
'application "%s" uninstalled': 'aplicația "%s" a fost dezinstalată',
|
||||
'application compiled': 'aplicația a fost compilată',
|
||||
'application is compiled and cannot be designed': 'aplicația este compilată și nu poate fi editată',
|
||||
'Are you sure you want to delete file "%s"?': 'Sigur ștergeți fișierul "%s"?',
|
||||
'Are you sure you want to delete this object?': 'Sigur ștergeți acest obiect?',
|
||||
'Are you sure you want to uninstall application "%s"': 'Sigur dezinstalați aplicația "%s"',
|
||||
'Are you sure you want to uninstall application "%s"?': 'Sigur dezinstalați aplicația "%s"?',
|
||||
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENȚIE: Nu vă puteți conecta decât utilizând o conexiune securizată (HTTPS) sau rulând aplicația pe computerul local.',
|
||||
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENȚIE: Nu puteți efectua mai multe teste o dată deoarece lansarea în execuție a mai multor subpocese nu este sigură.',
|
||||
'ATTENTION: you cannot edit the running application!': 'ATENȚIE: nu puteți edita o aplicație în curs de execuție!',
|
||||
'Authentication': 'Autentificare',
|
||||
'Available Databases and Tables': 'Baze de date și tabele disponibile',
|
||||
'Back': 'Înapoi',
|
||||
'Buy this book': 'Cumpără această carte',
|
||||
'Cache': 'Cache',
|
||||
'cache': 'cache',
|
||||
'Cache Keys': 'Chei cache',
|
||||
'cache, errors and sessions cleaned': 'cache, erori și sesiuni golite',
|
||||
'Cannot be empty': 'Nu poate fi vid',
|
||||
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Compilare imposibilă: aplicația conține erori. Debogați aplicația și încercați din nou.',
|
||||
'cannot create file': 'fișier imposibil de creat',
|
||||
'cannot upload file "%(filename)s"': 'imposibil de încărcat fișierul "%(filename)s"',
|
||||
'Change Password': 'Schimbare parolă',
|
||||
'Change password': 'Schimbare parolă',
|
||||
'change password': 'schimbare parolă',
|
||||
'check all': 'coșați tot',
|
||||
'Check to delete': 'Coșați pentru a șterge',
|
||||
'clean': 'golire',
|
||||
'Clear': 'Golește',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'click to check for upgrades': 'Clic pentru a verifica dacă există upgrade-uri',
|
||||
'Client IP': 'IP client',
|
||||
'Community': 'Comunitate',
|
||||
'compile': 'compilare',
|
||||
'compiled application removed': 'aplicația compilată a fost ștearsă',
|
||||
'Components and Plugins': 'Componente și plugin-uri',
|
||||
'contains': 'conține',
|
||||
'Controller': 'Controlor',
|
||||
'Controllers': 'Controlori',
|
||||
'controllers': 'controlori',
|
||||
'Copyright': 'Drepturi de autor',
|
||||
'create file with filename:': 'crează fișier cu numele:',
|
||||
'Create new application': 'Creați aplicație nouă',
|
||||
'create new application:': 'crează aplicație nouă:',
|
||||
'crontab': 'crontab',
|
||||
'Current request': 'Cerere curentă',
|
||||
'Current response': 'Răspuns curent',
|
||||
'Current session': 'Sesiune curentă',
|
||||
'currently saved or': 'în prezent salvat sau',
|
||||
'customize me!': 'Personalizează-mă!',
|
||||
'data uploaded': 'date încărcate',
|
||||
'Database': 'bază de date',
|
||||
'Database %s select': 'selectare bază de date %s',
|
||||
'database administration': 'administrare bază de date',
|
||||
'Date and Time': 'Data și ora',
|
||||
'db': 'db',
|
||||
'DB Model': 'Model bază de date',
|
||||
'defines tables': 'definire tabele',
|
||||
'Delete': 'Șterge',
|
||||
'delete': 'șterge',
|
||||
'delete all checked': 'șterge tot ce e coșat',
|
||||
'Delete:': 'Șterge:',
|
||||
'Demo': 'Demo',
|
||||
'Deploy on Google App Engine': 'Instalare pe Google App Engine',
|
||||
'Deployment Recipes': 'Rețete de instalare',
|
||||
'Description': 'Descriere',
|
||||
'design': 'design',
|
||||
'DESIGN': 'DESIGN',
|
||||
'Design for': 'Design pentru',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Chei cache de disc',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentație',
|
||||
"Don't know what to do?": 'Nu știți ce să faceți?',
|
||||
'done!': 'gata!',
|
||||
'Download': 'Descărcare',
|
||||
'E-mail': 'E-mail',
|
||||
'E-mail invalid': 'E-mail invalid',
|
||||
'edit': 'editare',
|
||||
'EDIT': 'EDITARE',
|
||||
'Edit': 'Editare',
|
||||
'Edit application': 'Editare aplicație',
|
||||
'edit controller': 'editare controlor',
|
||||
'Edit current record': 'Editare înregistrare curentă',
|
||||
'Edit Profile': 'Editare profil',
|
||||
'edit profile': 'editare profil',
|
||||
'Edit This App': 'Editați această aplicație',
|
||||
'Editing file': 'Editare fișier',
|
||||
'Editing file "%s"': 'Editare fișier "%s"',
|
||||
'Email and SMS': 'E-mail și SMS',
|
||||
'enter a number between %(min)g and %(max)g': 'introduceți un număr între %(min)g și %(max)g',
|
||||
'enter an integer between %(min)g and %(max)g': 'introduceți un întreg între %(min)g și %(max)g',
|
||||
'Error logs for "%(app)s"': 'Log erori pentru "%(app)s"',
|
||||
'errors': 'erori',
|
||||
'Errors': 'Erori',
|
||||
'Export': 'Export',
|
||||
'export as csv file': 'exportă ca fișier csv',
|
||||
'exposes': 'expune',
|
||||
'extends': 'extinde',
|
||||
'failed to reload module': 'reîncarcare modul nereușită',
|
||||
'False': 'Neadevărat',
|
||||
'FAQ': 'Întrebări frecvente',
|
||||
'file "%(filename)s" created': 'fișier "%(filename)s" creat',
|
||||
'file "%(filename)s" deleted': 'fișier "%(filename)s" șters',
|
||||
'file "%(filename)s" uploaded': 'fișier "%(filename)s" încărcat',
|
||||
'file "%(filename)s" was not deleted': 'fișierul "%(filename)s" n-a fost șters',
|
||||
'file "%s" of %s restored': 'fișier "%s" de %s restaurat',
|
||||
'file changed on disk': 'fișier modificat pe disc',
|
||||
'file does not exist': 'fișier inexistent',
|
||||
'file saved on %(time)s': 'fișier salvat %(time)s',
|
||||
'file saved on %s': 'fișier salvat pe %s',
|
||||
'First name': 'Prenume',
|
||||
'Forbidden': 'Interzis',
|
||||
'Forms and Validators': 'Formulare și validatori',
|
||||
'Free Applications': 'Aplicații gratuite',
|
||||
'Functions with no doctests will result in [passed] tests.': 'Funcțiile fără doctests vor genera teste [trecute].',
|
||||
'Group %(group_id)s created': 'Grup %(group_id)s creat',
|
||||
'Group ID': 'ID grup',
|
||||
'Group uniquely assigned to user %(id)s': 'Grup asociat în mod unic utilizatorului %(id)s',
|
||||
'Groups': 'Grupuri',
|
||||
'Hello World': 'Salutare lume',
|
||||
'help': 'ajutor',
|
||||
'Home': 'Acasă',
|
||||
'How did you get here?': 'Cum ați ajuns aici?',
|
||||
'htmledit': 'editare html',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'includes': 'include',
|
||||
'Index': 'Index',
|
||||
'insert new': 'adaugă nou',
|
||||
'insert new %s': 'adaugă nou %s',
|
||||
'Installed applications': 'Aplicații instalate',
|
||||
'internal error': 'eroare internă',
|
||||
'Internal State': 'Stare internă',
|
||||
'Introduction': 'Introducere',
|
||||
'Invalid action': 'Acțiune invalidă',
|
||||
'Invalid email': 'E-mail invalid',
|
||||
'invalid password': 'parolă invalidă',
|
||||
'Invalid password': 'Parolă invalidă',
|
||||
'Invalid Query': 'Interogare invalidă',
|
||||
'invalid request': 'cerere invalidă',
|
||||
'invalid ticket': 'tichet invalid',
|
||||
'Key': 'Key',
|
||||
'language file "%(filename)s" created/updated': 'fișier de limbă "%(filename)s" creat/actualizat',
|
||||
'Language files (static strings) updated': 'Fișierele de limbă (șirurile statice de caractere) actualizate',
|
||||
'languages': 'limbi',
|
||||
'Languages': 'Limbi',
|
||||
'languages updated': 'limbi actualizate',
|
||||
'Last name': 'Nume',
|
||||
'Last saved on:': 'Ultima salvare:',
|
||||
'Layout': 'Șablon',
|
||||
'Layout Plugins': 'Șablon plugin-uri',
|
||||
'Layouts': 'Șabloane',
|
||||
'License for': 'Licență pentru',
|
||||
'Live Chat': 'Chat live',
|
||||
'loading...': 'încarc...',
|
||||
'Logged in': 'Logat',
|
||||
'Logged out': 'Delogat',
|
||||
'Login': 'Autentificare',
|
||||
'login': 'autentificare',
|
||||
'Login to the Administrative Interface': 'Logare interfață de administrare',
|
||||
'logout': 'ieșire',
|
||||
'Logout': 'Ieșire',
|
||||
'Lost Password': 'Parolă pierdută',
|
||||
'Lost password?': 'Parolă pierdută?',
|
||||
'Main Menu': 'Meniu principal',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Model meniu',
|
||||
'merge': 'unește',
|
||||
'Models': 'Modele',
|
||||
'models': 'modele',
|
||||
'Modules': 'Module',
|
||||
'modules': 'module',
|
||||
'My Sites': 'Site-urile mele',
|
||||
'Name': 'Nume',
|
||||
'New': 'Nou',
|
||||
'new application "%s" created': 'aplicația nouă "%s" a fost creată',
|
||||
'New password': 'Parola nouă',
|
||||
'New Record': 'Înregistrare nouă',
|
||||
'new record inserted': 'înregistrare nouă adăugată',
|
||||
'next 100 rows': 'următoarele 100 de linii',
|
||||
'NO': 'NU',
|
||||
'No databases in this application': 'Aplicație fără bază de date',
|
||||
'Object or table name': 'Obiect sau nume de tabel',
|
||||
'Old password': 'Parola veche',
|
||||
'Online examples': 'Exemple online',
|
||||
'Or': 'Sau',
|
||||
'or import from csv file': 'sau importă din fișier csv',
|
||||
'or provide application url:': 'sau furnizează adresă url:',
|
||||
'Origin': 'Origine',
|
||||
'Original/Translation': 'Original/Traducere',
|
||||
'Other Plugins': 'Alte plugin-uri',
|
||||
'Other Recipes': 'Alte rețete',
|
||||
'Overview': 'Prezentare de ansamblu',
|
||||
'pack all': 'împachetează toate',
|
||||
'pack compiled': 'pachet compilat',
|
||||
'Password': 'Parola',
|
||||
"Password fields don't match": 'Câmpurile de parolă nu se potrivesc',
|
||||
'Peeking at file': 'Vizualizare fișier',
|
||||
'please input your password again': 'introduceți parola din nou',
|
||||
'Plugins': 'Plugin-uri',
|
||||
'Powered by': 'Pus în mișcare de',
|
||||
'Preface': 'Prefață',
|
||||
'previous 100 rows': '100 de linii anterioare',
|
||||
'Profile': 'Profil',
|
||||
'Python': 'Python',
|
||||
'Query': 'Interogare',
|
||||
'Query:': 'Interogare:',
|
||||
'Quick Examples': 'Exemple rapide',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Chei cache RAM',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Rețete',
|
||||
'Record': 'înregistrare',
|
||||
'record does not exist': 'înregistrare inexistentă',
|
||||
'Record ID': 'ID înregistrare',
|
||||
'Record id': 'id înregistrare',
|
||||
'register': 'înregistrare',
|
||||
'Register': 'Înregistrare',
|
||||
'Registration identifier': 'Identificator de autentificare',
|
||||
'Registration key': 'Cheie înregistrare',
|
||||
'Registration successful': 'Autentificare reușită',
|
||||
'Remember me (for 30 days)': 'Ține-mă minte (timp de 30 de zile)',
|
||||
'remove compiled': 'șterge compilate',
|
||||
'Request reset password': 'Cerere resetare parolă',
|
||||
'Reset Password key': 'Cheie restare parolă',
|
||||
'Resolve Conflict file': 'Fișier rezolvare conflict',
|
||||
'restore': 'restaurare',
|
||||
'revert': 'revenire',
|
||||
'Role': 'Rol',
|
||||
'Rows in Table': 'Linii în tabel',
|
||||
'Rows selected': 'Linii selectate',
|
||||
'save': 'salvare',
|
||||
'Save profile': 'Salvează profil',
|
||||
'Saved file hash:': 'Hash fișier salvat:',
|
||||
'Search': 'Căutare',
|
||||
'Semantic': 'Semantică',
|
||||
'Services': 'Servicii',
|
||||
'session expired': 'sesiune expirată',
|
||||
'shell': 'line de commandă',
|
||||
'site': 'site',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'some files could not be removed': 'anumite fișiere n-au putut fi șterse',
|
||||
'starts with': 'începe cu',
|
||||
'state': 'stare',
|
||||
'static': 'static',
|
||||
'Static files': 'Fișiere statice',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Foaie de stiluri',
|
||||
'Submit': 'Înregistrează',
|
||||
'submit': 'submit',
|
||||
'Support': 'Suport',
|
||||
'Sure you want to delete this object?': 'Sigur ștergeți acest obiect?',
|
||||
'Table': 'tabel',
|
||||
'Table name': 'Nume tabel',
|
||||
'test': 'test',
|
||||
'Testing application': 'Testare aplicație',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Interogarea (query)" este o condiție de tipul "db.tabel1.câmp1==\'valoare\'". Ceva de genul "db.tabel1.câmp1==db.tabel2.câmp2" generează un JOIN SQL.',
|
||||
'the application logic, each URL path is mapped in one exposed function in the controller': 'logica aplicației, fiecare rută URL este mapată într-o funcție expusă de controlor',
|
||||
'The Core': 'Nucleul',
|
||||
'the data representation, define database tables and sets': 'reprezentarea datelor, definește tabelele bazei de date și seturile (de date)',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'Fișierul produce un dicționar care a fost prelucrat de vederea %s',
|
||||
'the presentations layer, views are also known as templates': 'nivelul de prezentare, vederile sunt de asemenea numite și șabloane',
|
||||
'The Views': 'Vederile',
|
||||
'There are no controllers': 'Nu există controlori',
|
||||
'There are no models': 'Nu există modele',
|
||||
'There are no modules': 'Nu există module',
|
||||
'There are no static files': 'Nu există fișiere statice',
|
||||
'There are no translators, only default language is supported': 'Nu există traduceri, doar limba implicită este suportată',
|
||||
'There are no views': 'Nu există vederi',
|
||||
'these files are served without processing, your images go here': 'aceste fișiere sunt servite fără procesare, imaginea se plasează acolo',
|
||||
'This App': 'Această aplicație',
|
||||
'This is a copy of the scaffolding application': 'Aceasta este o copie a aplicației schelet',
|
||||
'This is the %(filename)s template': 'Aceasta este șablonul fișierului %(filename)s',
|
||||
'Ticket': 'Tichet',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Moment în timp (timestamp)',
|
||||
'to previous version.': 'la versiunea anterioară.',
|
||||
'too short': 'prea scurt',
|
||||
'translation strings for the application': 'șiruri de caractere folosite la traducerea aplicației',
|
||||
'True': 'Adevărat',
|
||||
'try': 'încearcă',
|
||||
'try something like': 'încearcă ceva de genul',
|
||||
'Twitter': 'Twitter',
|
||||
'Unable to check for upgrades': 'Imposibil de verificat dacă există actualizări',
|
||||
'unable to create application "%s"': 'imposibil de creat aplicația "%s"',
|
||||
'unable to delete file "%(filename)s"': 'imposibil de șters fișierul "%(filename)s"',
|
||||
'Unable to download': 'Imposibil de descărcat',
|
||||
'Unable to download app': 'Imposibil de descărcat aplicația',
|
||||
'unable to parse csv file': 'imposibil de analizat fișierul csv',
|
||||
'unable to uninstall "%s"': 'imposibil de dezinstalat "%s"',
|
||||
'uncheck all': 'decoșează tot',
|
||||
'uninstall': 'dezinstalează',
|
||||
'update': 'actualizează',
|
||||
'update all languages': 'actualizează toate limbile',
|
||||
'Update:': 'Actualizare:',
|
||||
'upload application:': 'incarcă aplicația:',
|
||||
'Upload existing application': 'Încarcă aplicația existentă',
|
||||
'upload file:': 'încarcă fișier:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Folosiți (...)&(...) pentru AND, (...)|(...) pentru OR, și ~(...) pentru NOT, pentru a crea interogări complexe.',
|
||||
'User %(id)s Logged-in': 'Utilizator %(id)s autentificat',
|
||||
'User %(id)s Logged-out': 'Utilizator %(id)s delogat',
|
||||
'User %(id)s Password changed': 'Parola utilizatorului %(id)s a fost schimbată',
|
||||
'User %(id)s Password reset': 'Resetare parola utilizator %(id)s',
|
||||
'User %(id)s Profile updated': 'Profil utilizator %(id)s actualizat',
|
||||
'User %(id)s Registered': 'Utilizator %(id)s înregistrat',
|
||||
'User ID': 'ID utilizator',
|
||||
'value already in database or empty': 'Valoare existentă în baza de date sau vidă',
|
||||
'Verify Password': 'Verifică parola',
|
||||
'versioning': 'versiuni',
|
||||
'Videos': 'Video-uri',
|
||||
'View': 'Vedere',
|
||||
'view': 'vedere',
|
||||
'Views': 'Vederi',
|
||||
'views': 'vederi',
|
||||
'web2py is up to date': 'web2py este la zi',
|
||||
'web2py Recent Tweets': 'Ultimele tweet-uri web2py',
|
||||
'Welcome': 'Bine ați venit',
|
||||
'Welcome %s': 'Bine ați venit %s',
|
||||
'Welcome to web2py': 'Bun venit la web2py',
|
||||
'Welcome to web2py!': 'Bun venit la web2py!',
|
||||
'Which called the function %s located in the file %s': 'Care a apelat funcția %s prezentă în fișierul %s',
|
||||
'YES': 'DA',
|
||||
'You are successfully running web2py': 'Rulați cu succes web2py',
|
||||
'You can modify this application and adapt it to your needs': 'Puteți modifica și adapta aplicația nevoilor dvs.',
|
||||
'You visited the url %s': 'Ați vizitat adresa %s',
|
||||
}
|
||||
195
applications/welcome3/languages/ru.py
Normal file
@@ -0,0 +1,195 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'ru',
|
||||
'!langname!': 'Русский',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Изменить" - необязательное выражение вида "field1=\'новое значение\'". Результаты операции JOIN нельзя изменить или удалить.',
|
||||
'%d days ago': '%d %%{день} тому',
|
||||
'%d hours ago': '%d %%{час} тому',
|
||||
'%d minutes ago': '%d %%{минуту} тому',
|
||||
'%d months ago': '%d %%{месяц} тому',
|
||||
'%d seconds ago': '%d %%{секунду} тому',
|
||||
'%d weeks ago': '%d %%{неделю} тому',
|
||||
'%d years ago': '%d %%{год} тому',
|
||||
'%s %%{row} deleted': '%%{!удалена[0]} %s %%{строка[0]}',
|
||||
'%s %%{row} updated': '%%{!изменена[0]} %s %%{строка[0]}',
|
||||
'%s selected': '%%{!выбрана[0]} %s %%{запись[0]}',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'1 day ago': '1 день тому',
|
||||
'1 hour ago': '1 час тому',
|
||||
'1 minute ago': '1 минуту тому',
|
||||
'1 month ago': '1 месяц тому',
|
||||
'1 second ago': '1 секунду тому',
|
||||
'1 week ago': '1 неделю тому',
|
||||
'1 year ago': '1 год тому',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': 'административный интерфейс',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
|
||||
'Are you sure you want to delete this object?': 'Вы уверены, что хотите удалить этот объект?',
|
||||
'Available Databases and Tables': 'Базы данных и таблицы',
|
||||
'Buy this book': 'Buy this book',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Пустое значение недопустимо',
|
||||
'Change Password': 'Смените пароль',
|
||||
'Check to delete': 'Удалить',
|
||||
'Check to delete:': 'Удалить:',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Текущий запрос',
|
||||
'Current response': 'Текущий ответ',
|
||||
'Current session': 'Текущая сессия',
|
||||
'customize me!': 'настройте внешний вид!',
|
||||
'data uploaded': 'данные загружены',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'выбор базы данных %s',
|
||||
'db': 'БД',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Удалить:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Описание',
|
||||
'design': 'дизайн',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'готово!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Редактировать текущую запись',
|
||||
'Edit Profile': 'Редактировать профиль',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'экспорт в csv-файл',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Имя',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Group ID': 'Group ID',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Заработало!',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Импорт/экспорт',
|
||||
'insert new': 'добавить',
|
||||
'insert new %s': 'добавить %s',
|
||||
'Internal State': 'Внутренне состояние',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Неверный email',
|
||||
'Invalid login': 'Неверный логин',
|
||||
'Invalid password': 'Неверный пароль',
|
||||
'Invalid Query': 'Неверный запрос',
|
||||
'invalid request': 'неверный запрос',
|
||||
'Key': 'Key',
|
||||
'Last name': 'Фамилия',
|
||||
'Layout': 'Layout',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Logged in': 'Вход выполнен',
|
||||
'Logged out': 'Выход выполнен',
|
||||
'login': 'вход',
|
||||
'Login': 'Вход',
|
||||
'logout': 'выход',
|
||||
'Logout': 'Выход',
|
||||
'Lost Password': 'Забыли пароль?',
|
||||
'Lost password?': 'Lost password?',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'New password': 'Новый пароль',
|
||||
'New Record': 'Новая запись',
|
||||
'new record inserted': 'новая запись добавлена',
|
||||
'next 100 rows': 'следующие 100 строк',
|
||||
'No databases in this application': 'В приложении нет баз данных',
|
||||
'now': 'сейчас',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Старый пароль',
|
||||
'Online examples': 'примеры он-лайн',
|
||||
'or import from csv file': 'или импорт из csv-файла',
|
||||
'Origin': 'Происхождение',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Пароль',
|
||||
'password': 'пароль',
|
||||
"Password fields don't match": 'Пароли не совпадают',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': 'предыдущие 100 строк',
|
||||
'profile': 'профиль',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Запрос:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'Record',
|
||||
'record does not exist': 'запись не найдена',
|
||||
'Record ID': 'ID записи',
|
||||
'Record id': 'id записи',
|
||||
'Register': 'Зарегистрироваться',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration key': 'Ключ регистрации',
|
||||
'Remember me (for 30 days)': 'Запомнить меня (на 30 дней)',
|
||||
'Reset Password key': 'Сбросить ключ пароля',
|
||||
'Role': 'Роль',
|
||||
'Rows in Table': 'Строк в таблице',
|
||||
'Rows selected': 'Выделено строк',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'состояние',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Отправить',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Подтвердите удаление объекта',
|
||||
'Table': 'таблица',
|
||||
'Table name': 'Имя таблицы',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Запрос" - это условие вида "db.table1.field1==\'значение\'". Выражение вида "db.table1.field1==db.table2.field2" формирует SQL JOIN.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': 'The Views',
|
||||
'This App': 'This App',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Отметка времени',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'нечитаемый csv-файл',
|
||||
'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': 'Повторите пароль',
|
||||
'Videos': 'Videos',
|
||||
'View': 'View',
|
||||
'Welcome': 'Welcome',
|
||||
'Welcome to web2py': 'Добро пожаловать в web2py',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'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 %s': 'You visited the url %s',
|
||||
}
|
||||
171
applications/welcome3/languages/sk.py
Normal file
@@ -0,0 +1,171 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'sk',
|
||||
'!langname!': 'Slovenský',
|
||||
'"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',
|
||||
'%s %%{row} deleted': '%s zmazaných záznamov',
|
||||
'%s %%{row} updated': '%s upravených záznamov',
|
||||
'%s selected': '%s označených',
|
||||
'%Y-%m-%d': '%d.%m.%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d.%m.%Y %H:%M:%S',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': 'pre administrátorské rozhranie kliknite sem',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'appadmin is disabled because insecure channel': 'appadmin je zakázaný bez zabezpečeného spojenia',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Available Databases and Tables': 'Dostupné databázy a tabuľky',
|
||||
'Buy this book': 'Buy this book',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Nemôže byť prázdne',
|
||||
'Check to delete': 'Označiť na zmazanie',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktuálna požiadavka',
|
||||
'Current response': 'Aktuálna odpoveď',
|
||||
'Current session': 'Aktuálne sedenie',
|
||||
'customize me!': 'prispôsob ma!',
|
||||
'data uploaded': 'údaje naplnené',
|
||||
'Database': 'databáza',
|
||||
'Database %s select': 'databáza %s výber',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Zmazať:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Popis',
|
||||
'design': 'návrh',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Dokumentácia',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'hotovo!',
|
||||
'Download': 'Download',
|
||||
'Edit': 'Upraviť',
|
||||
'Edit current record': 'Upraviť aktuálny záznam',
|
||||
'Edit Profile': 'Upraviť profil',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'exportovať do csv súboru',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Krstné meno',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Group ID': 'ID skupiny',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Ahoj svet',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Index': 'Index',
|
||||
'insert new': 'vložiť nový záznam ',
|
||||
'insert new %s': 'vložiť nový záznam %s',
|
||||
'Internal State': 'Vnútorný stav',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Neplatný email',
|
||||
'Invalid password': 'Nesprávne heslo',
|
||||
'Invalid Query': 'Neplatná otázka',
|
||||
'invalid request': 'Neplatná požiadavka',
|
||||
'Key': 'Key',
|
||||
'Last name': 'Priezvisko',
|
||||
'Layout': 'Layout',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Logged in': 'Prihlásený',
|
||||
'Logged out': 'Odhlásený',
|
||||
'login': 'prihlásiť',
|
||||
'logout': 'odhlásiť',
|
||||
'Lost Password': 'Stratené heslo?',
|
||||
'lost password?': 'stratené heslo?',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Meno',
|
||||
'New password': 'Nové heslo',
|
||||
'New Record': 'Nový záznam',
|
||||
'new record inserted': 'nový záznam bol vložený',
|
||||
'next 100 rows': 'ďalších 100 riadkov',
|
||||
'No databases in this application': 'V tejto aplikácii nie sú databázy',
|
||||
'Old password': 'Staré heslo',
|
||||
'Online examples': 'pre online príklady kliknite sem',
|
||||
'or import from csv file': 'alebo naimportovať z csv súboru',
|
||||
'Origin': 'Pôvod',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'password': 'heslo',
|
||||
'Password': 'Heslo',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': 'predchádzajúcich 100 riadkov',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Otázka:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'záznam',
|
||||
'record does not exist': 'záznam neexistuje',
|
||||
'Record ID': 'ID záznamu',
|
||||
'Record id': 'id záznamu',
|
||||
'Register': 'Zaregistrovať sa',
|
||||
'register': 'registrovať',
|
||||
'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',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'stav',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Odoslať',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Ste si istí, že chcete zmazať tento objekt?',
|
||||
'Table': 'tabuľka',
|
||||
'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 Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'Výstup zo súboru je slovník, ktorý bol zobrazený vo view %s',
|
||||
'The Views': 'The Views',
|
||||
'This App': 'This App',
|
||||
'This is a copy of the scaffolding application': 'Toto je kópia skeletu aplikácie',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Časová pečiatka',
|
||||
'Twitter': 'Twitter',
|
||||
'unable to parse csv file': 'nedá sa načítať csv súbor',
|
||||
'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',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Zobraziť',
|
||||
'Welcome to web2py': 'Vitajte vo web2py',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Ktorý zavolal funkciu %s nachádzajúci sa v súbore %s',
|
||||
'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 %s': 'Navštívili ste URL %s',
|
||||
}
|
||||
166
applications/welcome3/languages/tr.py
Normal file
@@ -0,0 +1,166 @@
|
||||
# coding: utf-8
|
||||
{
|
||||
'!langcode!': 'tr',
|
||||
'!langname!': 'Türkçe',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"güncelle" ("update") "field1=\'yenideğer\'" gibi isteğe bağlı bir ifadedir. JON sonucu güncelleyemez veya silemzsiniz.',
|
||||
'%s %%(shop)': '%s %%(shop)',
|
||||
'%s %%(shop[0])': '%s %%(shop[0])',
|
||||
'%s %%{quark[0]}': '%s %%{quark[0]}',
|
||||
'%s %%{shop[0]}': '%s %%{shop[0]}',
|
||||
'%s %%{shop}': '%s %%{shop}',
|
||||
'%s selected': '%s selected',
|
||||
'%Y-%m-%d': '%d-%m-%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
|
||||
'@markmin\x01**Hello World**': '**Merhaba Dünya**',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Bir hata oluştu, lütfen sayfayı [[yenileyin yükleyin %s]] ',
|
||||
'About': 'Hakkında',
|
||||
'Access Control': 'Erişim Denetimi',
|
||||
'Administrative Interface': 'Yönetim Arayüzü',
|
||||
'Ajax Recipes': 'Ajax Tarifleri',
|
||||
'An error occured, please %s the page': 'Bir hata meydana geldi, lütfen sayfayı %s',
|
||||
'Apply changes': 'Değişiklikleri uygula',
|
||||
'Are you sure you want to delete this object?': 'Bu nesneyi silmek istediğinden emin misin?',
|
||||
'Available Databases and Tables': 'Kullanılabilir Varitabanları ve Tablolar',
|
||||
'Buy this book': 'Bu kitabı satın alın',
|
||||
'cache': 'zula',
|
||||
'Cannot be empty': 'Boş bırakılamaz',
|
||||
'Change password': 'Parolayı değiştir',
|
||||
'Check to delete': 'Silmek için denetle',
|
||||
'Client IP': 'İstemci IP',
|
||||
'Community': 'Topluluk',
|
||||
'Components and Plugins': 'Bileşenler ve Eklentiler',
|
||||
'Controller': 'Denetçi',
|
||||
'Copyright': 'Telif',
|
||||
'Created By': 'Tasarlayan',
|
||||
'Created On': 'Oluşturma tarihi',
|
||||
'customize me!': 'burayı değiştir!',
|
||||
'Database': 'Veritabanı',
|
||||
'Database %s select': '%s veritabanı seç',
|
||||
'Database Administration (appadmin)': 'Veritabanı Yönetimi (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Modeli',
|
||||
'Delete:': 'Sil:',
|
||||
'Demo': 'Tanıtım',
|
||||
'Deployment Recipes': 'Yayınlama tarifleri',
|
||||
'Description': 'Açıklama',
|
||||
'design': 'tasarım',
|
||||
'Documentation': 'Kitap',
|
||||
"Don't know what to do?": 'Neleri nasıl yapacağını bilmiyor musun?',
|
||||
'Download': 'İndir',
|
||||
'E-mail': 'E-posta',
|
||||
'Email and SMS': 'E-posta ve kısa mesaj (SMS)',
|
||||
'enter a value': 'bir değer giriniz',
|
||||
'enter an integer between %(min)g and %(max)g': '%(min)g ve %(max)g arasında bir sayı girin',
|
||||
'enter date and time as %(format)s': 'tarih ve saati %(format)s biçiminde girin',
|
||||
'Errors': 'Hatalar',
|
||||
'Errors in form, please check it out.': 'Formda hatalar var, lütfen kontrol edin.',
|
||||
'export as csv file': 'csv dosyası olarak dışa aktar',
|
||||
'FAQ': 'SSS',
|
||||
'First name': 'Ad',
|
||||
'Forgot username?': 'Kullanıcı adını mı unuttun?',
|
||||
'Forms and Validators': 'Biçimler ve Doğrulayıcılar',
|
||||
'Free Applications': 'Ücretsiz uygulamalar',
|
||||
'Giriş': 'Giriş',
|
||||
'Graph Model': 'Grafik Modeli',
|
||||
'Group %(group_id)s created': '%(group_id)s takımı oluşturuldu',
|
||||
'Group ID': 'Takım ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Grup özgün olarak %(id)s kullanıcılara atandı',
|
||||
'Groups': 'Gruplar',
|
||||
'Hello World': 'Merhaba Dünya',
|
||||
'Hello World ## comment': 'Merhaba Dünya ## yorum ',
|
||||
'Hello World## comment': 'Merhaba Dünya## yorum ',
|
||||
'Home': 'Anasayfa',
|
||||
'How did you get here?': 'Bu sayfayı görüntüleme uğruna neler mi oldu?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Dışa/İçe Aktar',
|
||||
'Introduction': 'Giriş',
|
||||
'Invalid email': 'Yanlış eposta',
|
||||
'Is Active': 'Etkin',
|
||||
'Kayıt ol': 'Kayıt ol',
|
||||
'Last name': 'Soyad',
|
||||
'Layout': 'Şablon',
|
||||
'Layout Plugins': 'Şablon Eklentileri',
|
||||
'Layouts': 'Şablonlar',
|
||||
'Live Chat': 'Canlı Sohbet',
|
||||
'Logged in': 'Giriş yapıldı',
|
||||
'Logged out': 'Çıkış yapıldı',
|
||||
'Login': 'Giriş',
|
||||
'Logout': 'Terket',
|
||||
'Lost Password': 'Şifremi unuttum',
|
||||
'Lost password?': 'Şifrenizimi unuttunuz?',
|
||||
'Menu Model': 'Model Menü',
|
||||
'Modified By': 'Değiştiren',
|
||||
'Modified On': 'Değiştirilme tarihi',
|
||||
'My Sites': 'Sitelerim',
|
||||
'Name': 'İsim',
|
||||
'New password': 'Yeni parola',
|
||||
'New Record': 'Yeni Kayıt',
|
||||
'Object or table name': 'Nesne ya da tablo adı',
|
||||
'Old password': 'Eski parola',
|
||||
'Online examples': 'Canlı örnekler',
|
||||
'or import from csv file': 'veya csv dosyasından içe aktar',
|
||||
'Origin': 'Asıl',
|
||||
'Other Plugins': 'Diğer eklentiler',
|
||||
'Other Recipes': 'Diğer Tarifler',
|
||||
'Overview': 'Göz gezdir',
|
||||
'Password': 'Parola',
|
||||
"Password fields don't match": 'Parolalar uyuşmuyor',
|
||||
'please input your password again': 'lütfen parolanızı tekrar girin',
|
||||
'Plugins': 'Eklentiler',
|
||||
'Powered by': 'Yazılım Temeli',
|
||||
'Preface': 'Önzös',
|
||||
'Profile': 'Profil',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Sorgu:',
|
||||
'Quick Examples': 'Hızlı Örnekler',
|
||||
'Recipes': 'Tarifeler',
|
||||
'Record ID': 'Kayıt ID',
|
||||
'Register': 'Kayıt ol',
|
||||
'Registration identifier': 'Kayıt belirleyicisi',
|
||||
'Registration key': 'Kayıt anahtarı',
|
||||
'Registration successful': 'Kayıt başarılı',
|
||||
'reload': 'yeniden yükle',
|
||||
'Remember me (for 30 days)': 'Beni hatırla (30 gün)',
|
||||
'Request reset password': 'Parolanı sıfırla',
|
||||
'Reset Password key': 'Parola anahtarını sıfırla',
|
||||
'Role': 'Rol',
|
||||
'Rows in Table': 'Tablodaki Satırlar',
|
||||
'Save model as...': 'Modeli farklı kaydet...',
|
||||
'Semantic': 'Anlamsal',
|
||||
'Services': 'Hizmetler',
|
||||
'state': 'durum',
|
||||
'Stylesheet': 'Stil Şablonu',
|
||||
'submit': 'gönder',
|
||||
'Submit': 'Gönder',
|
||||
'Support': 'Destek',
|
||||
'Table': 'Tablo',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"sorgulama" "db.table1.field1==\'değer\'" şeklinde bir durumu ifade eder. SQL birleştirmede (JOIN) "db.table1.field1==db.table2.field2" şeklindedir.',
|
||||
'The Core': 'Çekirdek',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'Son olarak fonksiyonların vs. işlenip %s dosyasıyla tasarıma yedirilmesiyle sayfayı görüntüledin',
|
||||
'The Views': 'Görünümler',
|
||||
'This App': 'Bu Uygulama',
|
||||
'This email already has an account': 'Bu e-postaya ait bir hesap zaten var',
|
||||
'Timestamp': 'Zaman damgası',
|
||||
'Twitter': 'Twitter',
|
||||
'Update:': 'Güncelle:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Karmaşık sorgularda Ve (AND) için (...)&(...) kullanın, Veya (OR) için (...)|(...) kullanın ve DEĞİL (NOT) için ~(...) kullanın. ',
|
||||
'User %(id)s Logged-in': '%(id)s Giriş yaptı',
|
||||
'User %(id)s Logged-out': '%(id)s çıkış yaptı',
|
||||
'User %(id)s Password reset': 'Kullanıc %(id)s Parolasını sıfırla',
|
||||
'User %(id)s Registered': '%(id)s Kayıt oldu',
|
||||
'User ID': 'Kullanıcı ID',
|
||||
'value already in database or empty': 'değer boş ya da veritabanında zaten mevcut',
|
||||
'Verify Password': 'Parolanı Onayla',
|
||||
'Videos': 'Videolar',
|
||||
'View': 'Görünüm',
|
||||
'Welcome': 'Hoşgeldin',
|
||||
'Welcome to web2py!': "web2py'ye hoşgeldiniz!",
|
||||
'Which called the function %s located in the file %s': 'Bu ziyaretle %s fonksiyonunu %s dosyasından çağırmış oldun ',
|
||||
'Working...': 'Çalışıyor...',
|
||||
'You are successfully running web2py': 'web2py çatısını çalıştırmayı başardın',
|
||||
'You can modify this application and adapt it to your needs': 'Artık uygulamayı istediğin gibi düzenleyebilirsin!',
|
||||
'You visited the url %s': '%s adresini ziyaret ettin',
|
||||
'invalid controller': 'geçersiz denetleyici',
|
||||
}
|
||||
|
||||
227
applications/welcome3/languages/uk.py
Normal file
@@ -0,0 +1,227 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'uk',
|
||||
'!langname!': 'Українська',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Оновити" це додатковий вираз, такий, як "field1=\'нове_значення\'". Ви не можете змінювати або вилучати дані об\'єднаних таблиць.',
|
||||
'%d days ago': '%d %%{день} тому',
|
||||
'%d hours ago': '%d %%{годину} тому',
|
||||
'%d minutes ago': '%d %%{хвилину} тому',
|
||||
'%d months ago': '%d %%{місяць} тому',
|
||||
'%d secods ago': '%d %%{секунду} тому',
|
||||
'%d weeks ago': '%d %%{тиждень} тому',
|
||||
'%d years ago': '%d %%{рік} тому',
|
||||
'%s %%{row} deleted': 'Вилучено %s %%{рядок}',
|
||||
'%s %%{row} updated': 'Змінено %s %%{рядок}',
|
||||
'%s selected': 'Вибрано %s %%{запис}',
|
||||
'%Y-%m-%d': '%Y/%m/%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y/%m/%d %H:%M:%S',
|
||||
'1 day ago': '1 день тому',
|
||||
'1 hour ago': '1 годину тому',
|
||||
'1 minute ago': '1 хвилину тому',
|
||||
'1 month ago': '1 місяць тому',
|
||||
'1 second ago': '1 секунду тому',
|
||||
'1 week ago': '1 тиждень тому',
|
||||
'1 year ago': '1 рік тому',
|
||||
'@markmin\x01(**%.0d MB**)': '(**``%.0d``:red МБ**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{елемент(items)}, **%(bytes)s** %%{байт(bytes)}',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**нема в наявності**``:red (потребує Пітонівської бібліотеки [[guppy [посилання відкриється у новому вікні] http://pypi.python.org/pypi/guppy/ popup]])',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Сталась помилка, будь-ласка [[перевантажте %s]] сторінку',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': "Час життя об'єктів в КЕШІ сягає **%(hours)02d** %%{годину(hours)} **%(min)02d** %%{хвилину(min)} та **%(sec)02d** %%{секунду(sec)}.",
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': "Час життя об'єктів в ДИСКОВОМУ КЕШІ сягає **%(hours)02d** %%{годину(hours)} **%(min)02d** %%{хвилину(min)} та **%(sec)02d** %%{секунду(sec)}.",
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Оцінка поцілювання: **%(ratio)s%%** (**%(hits)s** %%{поцілювання(hits)} та **%(misses)s** %%{схибнення(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Кількість входжень: ``**%s**``:red',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': "Час життя об'єктів в ОЗП-КЕШІ сягає **%(hours)02d** %%{годину(hours)} **%(min)02d** %%{хвилину(min)} та **%(sec)02d** %%{секунду(sec)}.",
|
||||
'About': 'Про додаток',
|
||||
'Access Control': 'Контроль доступу',
|
||||
'Administrative Interface': 'Адміністративний інтерфейс',
|
||||
'Ajax Recipes': 'Рецепти для Ajax',
|
||||
'appadmin is disabled because insecure channel': 'використовується незахищенний канал (HTTP). Appadmin вимкнено',
|
||||
'Are you sure you want to delete this object?': "Ви впевнені, що хочете вилучити цей об'єкт?",
|
||||
'Available Databases and Tables': 'Доступні бази даних та таблиці',
|
||||
'Buy this book': 'Купити книжку',
|
||||
'cache': 'кеш',
|
||||
'Cache': 'Кеш',
|
||||
'Cache Keys': 'Ключі кешу',
|
||||
'Cannot be empty': 'Порожнє значення неприпустиме',
|
||||
'Change password': 'Змінити пароль',
|
||||
'Check to delete': 'Позначити для вилучення',
|
||||
'Check to delete:': 'Позначте для вилучення:',
|
||||
'Clear CACHE?': 'Очистити ВЕСЬ кеш?',
|
||||
'Clear DISK': 'Очистити ДИСКОВИЙ кеш',
|
||||
'Clear RAM': "Очистити кеш В ПАМ'ЯТІ",
|
||||
'Client IP': 'IP клієнта',
|
||||
'Community': 'Спільнота',
|
||||
'Components and Plugins': 'Компоненти та втулки',
|
||||
'Controller': 'Контролер',
|
||||
'Copyright': 'Правовласник',
|
||||
'Created By': 'Створив(ла)',
|
||||
'Created On': 'Створено в',
|
||||
'Current request': 'Поточний запит (current request)',
|
||||
'Current response': 'Поточна відповідь (current response)',
|
||||
'Current session': 'Поточна сесія (current session)',
|
||||
'customize me!': 'причепуріть мене!',
|
||||
'data uploaded': 'дані завантажено',
|
||||
'Database': 'База даних',
|
||||
'Database %s select': 'Вибірка з бази даних %s',
|
||||
'Database Administration (appadmin)': 'Адміністрування Бази Даних (appadmin)',
|
||||
'db': 'база даних',
|
||||
'DB Model': 'Модель БД',
|
||||
'Delete:': 'Вилучити:',
|
||||
'Demo': 'Демо',
|
||||
'Deployment Recipes': 'Способи розгортання',
|
||||
'Description': 'Опис',
|
||||
'design': 'налаштування',
|
||||
'DISK': 'ДИСК',
|
||||
'Disk Cache Keys': 'Ключі дискового кешу',
|
||||
'Disk Cleared': 'Дисковий кеш очищено',
|
||||
'Documentation': 'Документація',
|
||||
"Don't know what to do?": 'Не знаєте що робити далі?',
|
||||
'done!': 'зроблено!',
|
||||
'Download': 'Завантажити',
|
||||
'E-mail': 'Ел.пошта',
|
||||
'edit': 'редагувати',
|
||||
'Edit current record': 'Редагувати поточний запис',
|
||||
'Edit Page': 'Редагувати сторінку',
|
||||
'Email and SMS': 'Ел.пошта та SMS',
|
||||
'enter a value': 'введіть значення',
|
||||
'enter an integer between %(min)g and %(max)g': 'введіть ціле число між %(min)g та %(max)g',
|
||||
'Error!': 'Помилка!',
|
||||
'Errors': 'Помилки',
|
||||
'Errors in form, please check it out.': 'У формі є помилка. Виправте її, будь-ласка.',
|
||||
'export as csv file': 'експортувати як файл csv',
|
||||
'FAQ': 'ЧаПи (FAQ)',
|
||||
'First name': "Ім'я",
|
||||
'Forgot username?': "Забули ім'я користувача?",
|
||||
'Forms and Validators': 'Форми та коректність даних',
|
||||
'Free Applications': 'Вільні додатки',
|
||||
'Graph Model': 'Графова Модель',
|
||||
'Group %(group_id)s created': 'Групу %(group_id)s створено',
|
||||
'Group ID': 'Ідентифікатор групи',
|
||||
'Group uniquely assigned to user %(id)s': "Група унікально зв'язана з користувачем %(id)s",
|
||||
'Groups': 'Групи',
|
||||
'Hello World': 'Привіт, світ!',
|
||||
'Home': 'Початок',
|
||||
'How did you get here?': 'Як цього було досягнуто?',
|
||||
'import': 'Імпортувати',
|
||||
'Import/Export': 'Імпорт/Експорт',
|
||||
'insert new': 'Створити новий запис',
|
||||
'insert new %s': 'створити новий запис %s',
|
||||
'Internal State': 'Внутрішній стан',
|
||||
'Introduction': 'Введення',
|
||||
'Invalid email': 'Невірна адреса ел.пошти',
|
||||
'Invalid login': "Невірне ім'я користувача",
|
||||
'Invalid password': 'Невірний пароль',
|
||||
'Invalid Query': 'Помилковий запит',
|
||||
'invalid request': 'хибний запит',
|
||||
'Is Active': 'Активна',
|
||||
'Key': 'Ключ',
|
||||
'Last name': 'Прізвище',
|
||||
'Layout': 'Макет (Layout)',
|
||||
'Layout Plugins': 'Втулки макетів',
|
||||
'Layouts': 'Макети',
|
||||
'Live Chat': 'Чат',
|
||||
'Logged in': 'Вхід здійснено',
|
||||
'Logged out': 'Вихід здійснено',
|
||||
'Login': 'Вхід',
|
||||
'Logout': 'Вихід',
|
||||
'Lost Password': 'Забули пароль',
|
||||
'Lost password?': 'Забули пароль?',
|
||||
'Manage Cache': 'Управління кешем',
|
||||
'Menu Model': 'Модель меню',
|
||||
'Modified By': 'Зміни провадив(ла)',
|
||||
'Modified On': 'Змінено в',
|
||||
'My Sites': 'Сайт (усі додатки)',
|
||||
'Name': "Ім'я",
|
||||
'New password': 'Новий пароль',
|
||||
'New Record': 'Новий запис',
|
||||
'new record inserted': 'новий рядок додано',
|
||||
'next 100 rows': 'наступні 100 рядків',
|
||||
'No databases in this application': 'Даний додаток не використовує базу даних',
|
||||
'now': 'зараз',
|
||||
'Object or table name': "Об'єкт або назва таблиці",
|
||||
'Old password': 'Старий пароль',
|
||||
'Online examples': 'Зразковий демо-сайт',
|
||||
'or import from csv file': 'або імпортувати з csv-файлу',
|
||||
'Origin': 'Походження',
|
||||
'Other Plugins': 'Інші втулки',
|
||||
'Other Recipes': 'Інші рецепти',
|
||||
'Overview': 'Огляд',
|
||||
'Page Not Found!': 'Сторінку не знайдено!',
|
||||
'Page saved': 'Сторінку збережено',
|
||||
'Password': 'Пароль',
|
||||
'Password changed': 'Пароль змінено',
|
||||
"Password fields don't match": 'Пароль не співпав',
|
||||
'please input your password again': 'Будь-ласка введіть пароль ще раз',
|
||||
'Plugins': 'Втулки (Plugins)',
|
||||
'Powered by': 'Працює на',
|
||||
'Preface': 'Передмова',
|
||||
'previous 100 rows': 'попередні 100 рядків',
|
||||
'Profile': 'Параметри',
|
||||
'Profile updated': 'Параметри змінено',
|
||||
'pygraphviz library not found': 'Бібліотека pygraphviz не знайдена (не встановлена)',
|
||||
'Python': 'Мова Python',
|
||||
'Query:': 'Запит:',
|
||||
'Quick Examples': 'Швидкі приклади',
|
||||
'RAM': "ОПЕРАТИВНА ПАМ'ЯТЬ (ОЗП)",
|
||||
'RAM Cache Keys': 'Ключі ОЗП-кешу',
|
||||
'Ram Cleared': 'ОЗП-кеш очищено',
|
||||
'Recipes': 'Рецепти',
|
||||
'Record': 'запис',
|
||||
'Record %(id)s updated': 'Запис %(id)s змінено',
|
||||
'record does not exist': 'запису не існує',
|
||||
'Record ID': 'Ід.запису',
|
||||
'Record id': 'ід. запису',
|
||||
'Record Updated': 'Запис змінено',
|
||||
'Register': 'Реєстрація',
|
||||
'Registration identifier': 'Реєстраційний ідентифікатор',
|
||||
'Registration key': 'Реєстраційний ключ',
|
||||
'Registration successful': 'Реєстрація пройшла успішно',
|
||||
'Remember me (for 30 days)': "Запам'ятати мене (на 30 днів)",
|
||||
'Request reset password': 'Запит на зміну пароля',
|
||||
'Reset Password key': 'Ключ скидання пароля',
|
||||
'Role': 'Роль',
|
||||
'Rows in Table': 'Рядки в таблиці',
|
||||
'Rows selected': 'Відмічено рядків',
|
||||
'Save profile': 'Зберегти параметри',
|
||||
'Semantic': 'Семантика',
|
||||
'Services': 'Сервіс',
|
||||
'Size of cache:': 'Розмір кешу:',
|
||||
'state': 'стан',
|
||||
'Statistics': 'Статистика',
|
||||
'Stylesheet': 'CSS-стилі',
|
||||
'submit': 'застосувати',
|
||||
'Submit': 'Застосувати',
|
||||
'Support': 'Підтримка',
|
||||
'Table': 'Таблиця',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Запит" це умова, на зразок "db.table1.field1==\'значення\'". Вираз "db.table1.field1==db.table2.field2" повертає результат об\'єднання (SQL JOIN) таблиць.',
|
||||
'The Core': 'Ядро',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'Результат функції - словник пар (назва=значення) було відображено з допомогою відображення (view) %s',
|
||||
'The Views': 'Відображення (Views)',
|
||||
'This App': 'Цей додаток',
|
||||
'This email already has an account': 'Вказана адреса ел.пошти вже зареєстрована',
|
||||
'Time in Cache (h:m:s)': 'Час знаходження в кеші (h:m:s)',
|
||||
'Timestamp': 'Відмітка часу',
|
||||
'too short': 'Занадто короткий',
|
||||
'Twitter': 'Твіттер',
|
||||
'unable to parse csv file': 'не вдається розібрати csv-файл',
|
||||
'Update:': 'Оновити:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Для створення складних запитів використовуйте (...)&(...) замість AND, (...)|(...) замість OR, та ~(...) замість NOT.',
|
||||
'User %(id)s Logged-in': 'Користувач %(id)s увійшов',
|
||||
'User %(id)s Logged-out': 'Користувач %(id)s вийшов',
|
||||
'User %(id)s Password changed': 'Користувач %(id)s змінив свій пароль',
|
||||
'User %(id)s Password reset': 'Користувач %(id)s скинув пароль',
|
||||
'User %(id)s Profile updated': 'Параметри користувача %(id)s змінено',
|
||||
'User %(id)s Registered': 'Користувач %(id)s зареєструвався',
|
||||
'User ID': 'Ід.користувача',
|
||||
'value already in database or empty': 'значення вже в базі даних або порожнє',
|
||||
'Verify Password': 'Повторити пароль',
|
||||
'Videos': 'Відео',
|
||||
'View': 'Відображення (View)',
|
||||
'Welcome': 'Ласкаво просимо',
|
||||
'Welcome to web2py!': 'Ласкаво просимо до web2py!',
|
||||
'Which called the function %s located in the file %s': 'Управління передалось функції %s, яка розташована у файлі %s',
|
||||
'Working...': 'Працюємо...',
|
||||
'You are successfully running web2py': 'Ви успішно запустили web2py',
|
||||
'You can modify this application and adapt it to your needs': 'Ви можете модифікувати цей додаток і адаптувати його до своїх потреб',
|
||||
'You visited the url %s': 'Ви відвідали наступну адресу: %s',
|
||||
}
|
||||
244
applications/welcome3/languages/zh-cn.py
Normal file
@@ -0,0 +1,244 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'zh-cn',
|
||||
'!langname!': '中文',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" 应为选择表达式, 格式如 "field1=\'value\'". 但是对 JOIN 的结果不可以使用 update 或者 delete"',
|
||||
'%s %%{row} deleted': '已删除 %s 笔',
|
||||
'%s %%{row} updated': '已更新 %s 笔',
|
||||
'%s selected': '%s 已选择',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%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',
|
||||
'about': '关于',
|
||||
'About': '关于',
|
||||
'About application': '关于本应用程序',
|
||||
'Access Control': 'Access Control',
|
||||
'Admin is disabled because insecure channel': '管理功能(Admin)在非安全连接环境下自动关闭',
|
||||
'Admin is disabled because unsecure channel': '管理功能(Admin)在非安全连接环境下自动关闭',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': '点击进入管理界面',
|
||||
'Administrator Password:': '管理员密码:',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please %s the page': 'An error occured, please %s the page',
|
||||
'appadmin is disabled because insecure channel': '管理界面在非安全通道下被禁用',
|
||||
'Are you sure you want to delete file "%s"?': '确定要删除文件"%s"?',
|
||||
'Are you sure you want to delete this object?': '确定要删除该对象么?',
|
||||
'Are you sure you want to uninstall application "%s"': '确定要删除应用程序 "%s"',
|
||||
'Are you sure you want to uninstall application "%s"?': '确定要删除应用程序 "%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!': '注意:不可编辑正在执行的应用程序!',
|
||||
'Authentication': '验证',
|
||||
'Available Databases and Tables': '可提供的数据库和数据表',
|
||||
'Buy this book': '购买本书',
|
||||
'cache': '高速缓存',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': '不可空白',
|
||||
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': '编译失败:应用程序有错误,请排除错误后再尝试编译.',
|
||||
'Change Password': '修改密码',
|
||||
'change password': '修改密码',
|
||||
'Check to delete': '打勾以示删除',
|
||||
'Check to delete:': '打勾以示删除:',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Client IP': '客户端网址(IP)',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': '控件',
|
||||
'Controllers': '控件',
|
||||
'Copyright': '版权所有',
|
||||
'Create new application': '创建应用程序',
|
||||
'Created By': 'Created By',
|
||||
'Created On': 'Created On',
|
||||
'Current request': '当前网络要求(request)',
|
||||
'Current response': '当前网络响应(response)',
|
||||
'Current session': '当前网络连接信息(session)',
|
||||
'customize me!': '请调整我!',
|
||||
'data uploaded': '数据已上传',
|
||||
'Database': '数据库',
|
||||
'Database %s select': '已选择 %s 数据库',
|
||||
'Date and Time': '日期和时间',
|
||||
'db': 'db',
|
||||
'DB Model': '数据库模型',
|
||||
'Delete': '删除',
|
||||
'Delete:': '删除:',
|
||||
'Demo': 'Demo',
|
||||
'Deploy on Google App Engine': '发布到 Google App Engine',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': '描述',
|
||||
'DESIGN': '设计',
|
||||
'design': '设计',
|
||||
'Design for': '设计用于',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': '完成!',
|
||||
'Download': '下载',
|
||||
'E-mail': '电子邮件',
|
||||
'EDIT': '编辑',
|
||||
'Edit': '编辑',
|
||||
'Edit application': '编辑应用程序',
|
||||
'Edit current record': '编辑当前记录',
|
||||
'edit profile': '编辑配置文件',
|
||||
'Edit Profile': '编辑配置文件',
|
||||
'Edit This App': '编辑本应用程序',
|
||||
'Editing file': '编辑文件',
|
||||
'Editing file "%s"': '编辑文件"%s"',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g',
|
||||
'Error logs for "%(app)s"': '"%(app)s"的错误记录',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': '以CSV格式导出',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': '名',
|
||||
'Forgot username?': '忘记用户名?',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函数会显示 [passed].',
|
||||
'Group ID': '群组编号',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Hello World',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': '导入/导出',
|
||||
'Index': '索引',
|
||||
'insert new': '插入新纪录',
|
||||
'insert new %s': '插入新纪录 %s',
|
||||
'Installed applications': '已安裝应用程序',
|
||||
'Internal State': '內部状态',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid action': '非法操作(action)',
|
||||
'Invalid email': '不符合电子邮件格式',
|
||||
'Invalid Query': '无效的查询请求',
|
||||
'invalid request': '网络要求无效',
|
||||
'Is Active': 'Is Active',
|
||||
'Key': 'Key',
|
||||
'Language files (static strings) updated': '语言文件已更新',
|
||||
'Languages': '各国语言',
|
||||
'Last name': '姓',
|
||||
'Last saved on:': '最后保存时间:',
|
||||
'Layout': '网页布局',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'License for': '软件授权',
|
||||
'Live Chat': 'Live Chat',
|
||||
'login': '登录',
|
||||
'Login': '登录',
|
||||
'Login to the Administrative Interface': '登录到管理员界面',
|
||||
'logout': '登出',
|
||||
'Logout': '登出',
|
||||
'Lost Password': '忘记密码',
|
||||
'Lost password?': '忘记密码?',
|
||||
'Main Menu': '主菜单',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': '菜单模型(menu)',
|
||||
'Models': '数据模型',
|
||||
'Modified By': '修改者',
|
||||
'Modified On': '修改时间',
|
||||
'Modules': '程序模块',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': '名字',
|
||||
'New Record': '新记录',
|
||||
'new record inserted': '已插入新记录',
|
||||
'next 100 rows': '往后 100 笔',
|
||||
'NO': '否',
|
||||
'No databases in this application': '该应用程序不含数据库',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Online examples': '点击进入在线例子',
|
||||
'or import from csv file': '或导入CSV文件',
|
||||
'Origin': '原文',
|
||||
'Original/Translation': '原文/翻译',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': '概览',
|
||||
'Password': '密码',
|
||||
"Password fields don't match": '密码不匹配',
|
||||
'Peeking at file': '选择文件',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': '基于下列技术构建:',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': '往前 100 笔',
|
||||
'Python': 'Python',
|
||||
'Query:': '查询:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': '记录',
|
||||
'record does not exist': '记录不存在',
|
||||
'Record ID': '记录编号',
|
||||
'Record id': '记录编号',
|
||||
'Register': '注册',
|
||||
'register': '注册',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration key': '注册密钥',
|
||||
'reload': 'reload',
|
||||
'Remember me (for 30 days)': '记住我(30 天)',
|
||||
'Reset Password key': '重置密码',
|
||||
'Resolve Conflict file': '解决冲突文件',
|
||||
'Role': '角色',
|
||||
'Rows in Table': '在数据表里的记录',
|
||||
'Rows selected': '笔记录被选择',
|
||||
'Saved file hash:': '已保存文件的哈希值:',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': '状态',
|
||||
'Static files': '静态文件',
|
||||
'Statistics': '统计数据',
|
||||
'Stylesheet': '网页样式表',
|
||||
'submit': '提交',
|
||||
'Submit': '提交',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': '确定要删除此对象?',
|
||||
'Table': '数据表',
|
||||
'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.': '"query"应是类似 "db.table1.field1==\'value\'" 的条件表达式. "db.table1.field1==db.table2.field2"的形式则代表执行 JOIN SQL.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': '视图',
|
||||
'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 App': '该应用',
|
||||
'This is the %(filename)s template': '这是%(filename)s文件的模板(template)',
|
||||
'Ticket': '问题清单',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': '时间戳',
|
||||
'Twitter': 'Twitter',
|
||||
'Unable to check for upgrades': '查询新版本失败',
|
||||
'Unable to download': '无法下载',
|
||||
'Unable to download app': '无法下载应用程序',
|
||||
'unable to parse csv file': '无法解析CSV文件',
|
||||
'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': '验证密码',
|
||||
'Videos': '视频',
|
||||
'View': '查看',
|
||||
'Views': '视图',
|
||||
'Welcome': '欢迎',
|
||||
'Welcome %s': '欢迎 %s',
|
||||
'Welcome to web2py': '欢迎使用 web2py',
|
||||
'Welcome to web2py!': '欢迎使用 web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'YES': '是',
|
||||
'You are successfully running web2py': '您已成功运行 web2py',
|
||||
'You can modify this application and adapt it to your needs': '请根据您的需要修改本程序',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
}
|
||||
244
applications/welcome3/languages/zh-tw.py
Normal file
@@ -0,0 +1,244 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'zh-cn',
|
||||
'!langname!': '中文',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"更新" 是選擇性的條件式, 格式就像 "欄位1=\'值\'". 但是 JOIN 的資料不可以使用 update 或是 delete"',
|
||||
'%s %%{row} deleted': '已刪除 %s 筆',
|
||||
'%s %%{row} updated': '已更新 %s 筆',
|
||||
'%s selected': '%s 已選擇',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%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',
|
||||
'about': '關於',
|
||||
'About': '關於',
|
||||
'About application': '關於本應用程式',
|
||||
'Access Control': 'Access Control',
|
||||
'Admin is disabled because insecure channel': '管理功能(Admin)在不安全連線環境下自動關閉',
|
||||
'Admin is disabled because unsecure channel': '管理功能(Admin)在不安全連線環境下自動關閉',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': '點此處進入管理介面',
|
||||
'Administrator Password:': '管理員密碼:',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please %s the page': 'An error occured, please %s the page',
|
||||
'appadmin is disabled because insecure channel': '因為來自非安全通道,管理介面關閉',
|
||||
'Are you sure you want to delete file "%s"?': '確定要刪除檔案"%s"?',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Are you sure you want to uninstall application "%s"': '確定要移除應用程式 "%s"',
|
||||
'Are you sure you want to uninstall application "%s"?': '確定要移除應用程式 "%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!': '注意:不可編輯正在執行的應用程式!',
|
||||
'Authentication': '驗證',
|
||||
'Available Databases and Tables': '可提供的資料庫和資料表',
|
||||
'Buy this book': 'Buy this book',
|
||||
'cache': '快取記憶體',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': '不可空白',
|
||||
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': '無法編譯:應用程式中含有錯誤,請除錯後再試一次.',
|
||||
'Change Password': '變更密碼',
|
||||
'change password': '變更密碼',
|
||||
'Check to delete': '打勾代表刪除',
|
||||
'Check to delete:': '點選以示刪除:',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Client IP': '客戶端網址(IP)',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': '控件',
|
||||
'Controllers': '控件',
|
||||
'Copyright': '版權所有',
|
||||
'Create new application': '創建應用程式',
|
||||
'Created By': 'Created By',
|
||||
'Created On': 'Created On',
|
||||
'Current request': '目前網路資料要求(request)',
|
||||
'Current response': '目前網路資料回應(response)',
|
||||
'Current session': '目前網路連線資訊(session)',
|
||||
'customize me!': '請調整我!',
|
||||
'data uploaded': '資料已上傳',
|
||||
'Database': '資料庫',
|
||||
'Database %s select': '已選擇 %s 資料庫',
|
||||
'Date and Time': '日期和時間',
|
||||
'db': 'db',
|
||||
'DB Model': '資料庫模組',
|
||||
'Delete': '刪除',
|
||||
'Delete:': '刪除:',
|
||||
'Demo': 'Demo',
|
||||
'Deploy on Google App Engine': '配置到 Google App Engine',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': '描述',
|
||||
'DESIGN': '設計',
|
||||
'design': '設計',
|
||||
'Design for': '設計為了',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': '完成!',
|
||||
'Download': 'Download',
|
||||
'E-mail': '電子郵件',
|
||||
'EDIT': '編輯',
|
||||
'Edit': '編輯',
|
||||
'Edit application': '編輯應用程式',
|
||||
'Edit current record': '編輯當前紀錄',
|
||||
'edit profile': '編輯設定檔',
|
||||
'Edit Profile': '編輯設定檔',
|
||||
'Edit This App': '編輯本應用程式',
|
||||
'Editing file': '編輯檔案',
|
||||
'Editing file "%s"': '編輯檔案"%s"',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g',
|
||||
'Error logs for "%(app)s"': '"%(app)s"的錯誤紀錄',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': '以逗號分隔檔(csv)格式匯出',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': '名',
|
||||
'Forgot username?': 'Forgot username?',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函式會顯示 [passed].',
|
||||
'Group ID': '群組編號',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': '嗨! 世界',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': '匯入/匯出',
|
||||
'Index': '索引',
|
||||
'insert new': '插入新資料',
|
||||
'insert new %s': '插入新資料 %s',
|
||||
'Installed applications': '已安裝應用程式',
|
||||
'Internal State': '內部狀態',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid action': '不合法的動作(action)',
|
||||
'Invalid email': '不合法的電子郵件',
|
||||
'Invalid Query': '不合法的查詢',
|
||||
'invalid request': '不合法的網路要求(request)',
|
||||
'Is Active': 'Is Active',
|
||||
'Key': 'Key',
|
||||
'Language files (static strings) updated': '語言檔已更新',
|
||||
'Languages': '各國語言',
|
||||
'Last name': '姓',
|
||||
'Last saved on:': '最後儲存時間:',
|
||||
'Layout': '網頁配置',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'License for': '軟體版權為',
|
||||
'Live Chat': 'Live Chat',
|
||||
'login': '登入',
|
||||
'Login': '登入',
|
||||
'Login to the Administrative Interface': '登入到管理員介面',
|
||||
'logout': '登出',
|
||||
'Logout': '登出',
|
||||
'Lost Password': '密碼遺忘',
|
||||
'Lost password?': 'Lost password?',
|
||||
'Main Menu': '主選單',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': '選單模組(menu)',
|
||||
'Models': '資料模組',
|
||||
'Modified By': 'Modified By',
|
||||
'Modified On': 'Modified On',
|
||||
'Modules': '程式模組',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': '名字',
|
||||
'New Record': '新紀錄',
|
||||
'new record inserted': '已插入新紀錄',
|
||||
'next 100 rows': '往後 100 筆',
|
||||
'NO': '否',
|
||||
'No databases in this application': '這應用程式不含資料庫',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Online examples': '點此處進入線上範例',
|
||||
'or import from csv file': '或是從逗號分隔檔(CSV)匯入',
|
||||
'Origin': '原文',
|
||||
'Original/Translation': '原文/翻譯',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': '密碼',
|
||||
"Password fields don't match": '密碼欄不匹配',
|
||||
'Peeking at file': '選擇檔案',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': '基於以下技術構建:',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': '往前 100 筆',
|
||||
'Python': 'Python',
|
||||
'Query:': '查詢:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': '紀錄',
|
||||
'record does not exist': '紀錄不存在',
|
||||
'Record ID': '紀錄編號',
|
||||
'Record id': '紀錄編號',
|
||||
'Register': '註冊',
|
||||
'register': '註冊',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration key': '註冊金鑰',
|
||||
'reload': 'reload',
|
||||
'Remember me (for 30 days)': '記住我(30 天)',
|
||||
'Reset Password key': '重設密碼',
|
||||
'Resolve Conflict file': '解決衝突檔案',
|
||||
'Role': '角色',
|
||||
'Rows in Table': '在資料表裏的資料',
|
||||
'Rows selected': '筆資料被選擇',
|
||||
'Saved file hash:': '檔案雜湊值已紀錄:',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': '狀態',
|
||||
'Static files': '靜態檔案',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': '網頁風格檔',
|
||||
'submit': 'submit',
|
||||
'Submit': '傳送',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': '確定要刪除此物件?',
|
||||
'Table': '資料表',
|
||||
'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.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': 'The Views',
|
||||
'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 App': 'This App',
|
||||
'This is the %(filename)s template': '這是%(filename)s檔案的樣板(template)',
|
||||
'Ticket': '問題單',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': '時間標記',
|
||||
'Twitter': 'Twitter',
|
||||
'Unable to check for upgrades': '無法做升級檢查',
|
||||
'Unable to download': '無法下載',
|
||||
'Unable to download app': '無法下載應用程式',
|
||||
'unable to parse csv file': '無法解析逗號分隔檔(csv)',
|
||||
'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': '驗證密碼',
|
||||
'Videos': 'Videos',
|
||||
'View': '視圖',
|
||||
'Views': '視圖',
|
||||
'Welcome': 'Welcome',
|
||||
'Welcome %s': '歡迎 %s',
|
||||
'Welcome to web2py': '歡迎使用 web2py',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'YES': '是',
|
||||
'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 %s': 'You visited the url %s',
|
||||
}
|
||||
231
applications/welcome3/languages/zh.py
Normal file
@@ -0,0 +1,231 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'zh-tw',
|
||||
'!langname!': '中文',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"更新" 是選擇性的條件式, 格式就像 "欄位1=\'值\'". 但是 JOIN 的資料不可以使用 update 或是 delete"',
|
||||
'%s %%{row} deleted': '已刪除 %s 筆',
|
||||
'%s %%{row} updated': '已更新 %s 筆',
|
||||
'%s selected': '%s 已選擇',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%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',
|
||||
'about': '關於',
|
||||
'About': '關於',
|
||||
'About application': '關於本應用程式',
|
||||
'Access Control': 'Access Control',
|
||||
'Admin is disabled because insecure channel': '管理功能(Admin)在不安全連線環境下自動關閉',
|
||||
'Admin is disabled because unsecure channel': '管理功能(Admin)在不安全連線環境下自動關閉',
|
||||
'Administrative Interface': 'Administrative Interface',
|
||||
'Administrative interface': '點此處進入管理介面',
|
||||
'Administrator Password:': '管理員密碼:',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'appadmin is disabled because insecure channel': '因為來自非安全通道,管理介面關閉',
|
||||
'Are you sure you want to delete file "%s"?': '確定要刪除檔案"%s"?',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Are you sure you want to uninstall application "%s"': '確定要移除應用程式 "%s"',
|
||||
'Are you sure you want to uninstall application "%s"?': '確定要移除應用程式 "%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!': '注意:不可編輯正在執行的應用程式!',
|
||||
'Authentication': '驗證',
|
||||
'Available Databases and Tables': '可提供的資料庫和資料表',
|
||||
'Buy this book': 'Buy this book',
|
||||
'cache': '快取記憶體',
|
||||
'Cache': 'Cache',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': '不可空白',
|
||||
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': '無法編譯:應用程式中含有錯誤,請除錯後再試一次.',
|
||||
'Change Password': '變更密碼',
|
||||
'change password': '變更密碼',
|
||||
'Check to delete': '打勾代表刪除',
|
||||
'Check to delete:': '點選以示刪除:',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Client IP': '客戶端網址(IP)',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Controller': '控件',
|
||||
'Controllers': '控件',
|
||||
'Copyright': '版權所有',
|
||||
'Create new application': '創建應用程式',
|
||||
'Current request': '目前網路資料要求(request)',
|
||||
'Current response': '目前網路資料回應(response)',
|
||||
'Current session': '目前網路連線資訊(session)',
|
||||
'customize me!': '請調整我!',
|
||||
'data uploaded': '資料已上傳',
|
||||
'Database': '資料庫',
|
||||
'Database %s select': '已選擇 %s 資料庫',
|
||||
'Date and Time': '日期和時間',
|
||||
'db': 'db',
|
||||
'DB Model': '資料庫模組',
|
||||
'Delete': '刪除',
|
||||
'Delete:': '刪除:',
|
||||
'Demo': 'Demo',
|
||||
'Deploy on Google App Engine': '配置到 Google App Engine',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': '描述',
|
||||
'DESIGN': '設計',
|
||||
'design': '設計',
|
||||
'Design for': '設計為了',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': '完成!',
|
||||
'Download': 'Download',
|
||||
'E-mail': '電子郵件',
|
||||
'EDIT': '編輯',
|
||||
'Edit': '編輯',
|
||||
'Edit application': '編輯應用程式',
|
||||
'Edit current record': '編輯當前紀錄',
|
||||
'edit profile': '編輯設定檔',
|
||||
'Edit Profile': '編輯設定檔',
|
||||
'Edit This App': '編輯本應用程式',
|
||||
'Editing file': '編輯檔案',
|
||||
'Editing file "%s"': '編輯檔案"%s"',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Error logs for "%(app)s"': '"%(app)s"的錯誤紀錄',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': '以逗號分隔檔(csv)格式匯出',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': '名',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函式會顯示 [passed].',
|
||||
'Group ID': '群組編號',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': '嗨! 世界',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': '匯入/匯出',
|
||||
'Index': '索引',
|
||||
'insert new': '插入新資料',
|
||||
'insert new %s': '插入新資料 %s',
|
||||
'Installed applications': '已安裝應用程式',
|
||||
'Internal State': '內部狀態',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid action': '不合法的動作(action)',
|
||||
'Invalid email': '不合法的電子郵件',
|
||||
'Invalid Query': '不合法的查詢',
|
||||
'invalid request': '不合法的網路要求(request)',
|
||||
'Key': 'Key',
|
||||
'Language files (static strings) updated': '語言檔已更新',
|
||||
'Languages': '各國語言',
|
||||
'Last name': '姓',
|
||||
'Last saved on:': '最後儲存時間:',
|
||||
'Layout': '網頁配置',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
'Layouts': 'Layouts',
|
||||
'License for': '軟體版權為',
|
||||
'Live Chat': 'Live Chat',
|
||||
'login': '登入',
|
||||
'Login': '登入',
|
||||
'Login to the Administrative Interface': '登入到管理員介面',
|
||||
'logout': '登出',
|
||||
'Logout': '登出',
|
||||
'Lost Password': '密碼遺忘',
|
||||
'Main Menu': '主選單',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Menu Model': '選單模組(menu)',
|
||||
'Models': '資料模組',
|
||||
'Modules': '程式模組',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': '名字',
|
||||
'New Record': '新紀錄',
|
||||
'new record inserted': '已插入新紀錄',
|
||||
'next 100 rows': '往後 100 筆',
|
||||
'NO': '否',
|
||||
'No databases in this application': '這應用程式不含資料庫',
|
||||
'Online examples': '點此處進入線上範例',
|
||||
'or import from csv file': '或是從逗號分隔檔(CSV)匯入',
|
||||
'Origin': '原文',
|
||||
'Original/Translation': '原文/翻譯',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': '密碼',
|
||||
"Password fields don't match": '密碼欄不匹配',
|
||||
'Peeking at file': '選擇檔案',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': '基於以下技術構建:',
|
||||
'Preface': 'Preface',
|
||||
'previous 100 rows': '往前 100 筆',
|
||||
'Python': 'Python',
|
||||
'Query:': '查詢:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': '紀錄',
|
||||
'record does not exist': '紀錄不存在',
|
||||
'Record ID': '紀錄編號',
|
||||
'Record id': '紀錄編號',
|
||||
'Register': '註冊',
|
||||
'register': '註冊',
|
||||
'Registration key': '註冊金鑰',
|
||||
'Remember me (for 30 days)': '記住我(30 天)',
|
||||
'Reset Password key': '重設密碼',
|
||||
'Resolve Conflict file': '解決衝突檔案',
|
||||
'Role': '角色',
|
||||
'Rows in Table': '在資料表裏的資料',
|
||||
'Rows selected': '筆資料被選擇',
|
||||
'Saved file hash:': '檔案雜湊值已紀錄:',
|
||||
'Semantic': 'Semantic',
|
||||
'Services': 'Services',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': '狀態',
|
||||
'Static files': '靜態檔案',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': '網頁風格檔',
|
||||
'submit': 'submit',
|
||||
'Submit': '傳送',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': '確定要刪除此物件?',
|
||||
'Table': '資料表',
|
||||
'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.',
|
||||
'The Core': 'The Core',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
|
||||
'The Views': 'The Views',
|
||||
'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 App': 'This App',
|
||||
'This is the %(filename)s template': '這是%(filename)s檔案的樣板(template)',
|
||||
'Ticket': '問題單',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': '時間標記',
|
||||
'Twitter': 'Twitter',
|
||||
'Unable to check for upgrades': '無法做升級檢查',
|
||||
'Unable to download': '無法下載',
|
||||
'Unable to download app': '無法下載應用程式',
|
||||
'unable to parse csv file': '無法解析逗號分隔檔(csv)',
|
||||
'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': '驗證密碼',
|
||||
'Videos': 'Videos',
|
||||
'View': '視圖',
|
||||
'Views': '視圖',
|
||||
'Welcome %s': '歡迎 %s',
|
||||
'Welcome to web2py': '歡迎使用 web2py',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'YES': '是',
|
||||
'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 %s': 'You visited the url %s',
|
||||
}
|
||||
89
applications/welcome3/models/db.py
Normal file
@@ -0,0 +1,89 @@
|
||||
# -*- 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 SSL/HTTPS is properly configured and you want all HTTP requests to
|
||||
## be redirected to HTTPS, uncomment the line below:
|
||||
# request.requires_https()
|
||||
|
||||
if not request.env.web2py_runtime_gae:
|
||||
## if NOT running on Google App Engine use SQLite or other DB
|
||||
db = DAL('sqlite://storage.sqlite',pool_size=1,check_reserved=['all'])
|
||||
else:
|
||||
## connect to Google BigTable (optional 'google:datastore://namespace')
|
||||
db = DAL('google:datastore+ndb')
|
||||
## 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 []
|
||||
## choose a style for forms
|
||||
response.formstyle = 'bootstrap3_inline' # or 'bootstrap3_stacked' or 'bootstrap2' or other
|
||||
|
||||
## (optional) optimize handling of static files
|
||||
# response.optimize_css = 'concat,minify,inline'
|
||||
# response.optimize_js = 'concat,minify,inline'
|
||||
## (optional) static assets folder versioning
|
||||
# response.static_version = '0.0.0'
|
||||
#########################################################################
|
||||
## 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, Service, PluginManager
|
||||
|
||||
auth = Auth(db)
|
||||
service = Service()
|
||||
plugins = PluginManager()
|
||||
|
||||
## create all tables needed by auth if not custom tables
|
||||
auth.define_tables(username=False, signature=False)
|
||||
|
||||
## configure email
|
||||
mail = auth.settings.mailer
|
||||
mail.settings.server = 'logging' if request.is_local else '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.janrain_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
|
||||
#########################################################################
|
||||
|
||||
## after defining tables, uncomment below to enable auditing
|
||||
# auth.enable_record_versioning(db)
|
||||
133
applications/welcome3/models/menu.py
Normal file
@@ -0,0 +1,133 @@
|
||||
# -*- 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.logo = A(B('web',SPAN(2),'py'),XML('™ '),
|
||||
_class="navbar-brand",_href="http://www.web2py.com/",
|
||||
_id="web2py-logo")
|
||||
response.title = request.application.replace('_',' ').title()
|
||||
response.subtitle = ''
|
||||
|
||||
## 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'
|
||||
|
||||
## 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'), [])
|
||||
]
|
||||
|
||||
DEVELOPMENT_MENU = True
|
||||
|
||||
#########################################################################
|
||||
## 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', _class='highlighted'), False, 'http://web2py.com', [
|
||||
(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, 'http://web2py.com/plugins')]
|
||||
)]
|
||||
if DEVELOPMENT_MENU: _()
|
||||
|
||||
if "auth" in locals(): auth.wikimenu()
|
||||
1
applications/welcome3/modules/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
BIN
applications/welcome3/modules/__init__.pyc
Normal file
38
applications/welcome3/routes.example.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# This is an app-specific example router
|
||||
#
|
||||
# This simple router is used for setting languages from app/languages directory
|
||||
# as a part of the application path: app/<lang>/controller/function
|
||||
# Language from default.py or 'en' (if the file is not found) is used as
|
||||
# a default_language
|
||||
#
|
||||
# See <web2py-root-dir>/router.example.py for parameter's detail
|
||||
#-------------------------------------------------------------------------------------
|
||||
# To enable this route file you must do the steps:
|
||||
#
|
||||
# 1. rename <web2py-root-dir>/router.example.py to routes.py
|
||||
# 2. rename this APP/routes.example.py to APP/routes.py
|
||||
# (where APP - is your application directory)
|
||||
# 3. restart web2py (or reload routes in web2py admin interfase)
|
||||
#
|
||||
# YOU CAN COPY THIS FILE TO ANY APPLICATION'S ROOT DIRECTORY WITHOUT CHANGES!
|
||||
|
||||
from fileutils import abspath
|
||||
from languages import read_possible_languages
|
||||
|
||||
possible_languages = read_possible_languages(abspath('applications', app))
|
||||
#NOTE! app - is an application based router's parameter with name of an
|
||||
# application. E.g.'welcome'
|
||||
|
||||
routers = {
|
||||
app: dict(
|
||||
default_language = possible_languages['default'][0],
|
||||
languages = [lang for lang in possible_languages
|
||||
if lang != 'default']
|
||||
)
|
||||
}
|
||||
|
||||
#NOTE! To change language in your application using these rules add this line
|
||||
#in one of your models files:
|
||||
# if request.uri_language: T.force(request.uri_language)
|
||||
38
applications/welcome3/routes.example.py.bak2
Normal file
@@ -0,0 +1,38 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# This is an app-specific example router
|
||||
#
|
||||
# This simple router is used for setting languages from app/languages directory
|
||||
# as a part of the application path: app/<lang>/controller/function
|
||||
# Language from default.py or 'en' (if the file is not found) is used as
|
||||
# a default_language
|
||||
#
|
||||
# See <web2py-root-dir>/router.example.py for parameter's detail
|
||||
#-------------------------------------------------------------------------------------
|
||||
# To enable this route file you must do the steps:
|
||||
#
|
||||
# 1. rename <web2py-root-dir>/router.example.py to routes.py
|
||||
# 2. rename this APP/routes.example.py to APP/routes.py
|
||||
# (where APP - is your application directory)
|
||||
# 3. restart web2py (or reload routes in web2py admin interfase)
|
||||
#
|
||||
# YOU CAN COPY THIS FILE TO ANY APPLICATION'S ROOT DIRECTORY WITHOUT CHANGES!
|
||||
|
||||
from fileutils import abspath
|
||||
from languages import read_possible_languages
|
||||
|
||||
possible_languages = read_possible_languages(abspath('applications', app))
|
||||
#NOTE! app - is an application based router's parameter with name of an
|
||||
# application. E.g.'welcome'
|
||||
|
||||
routers = {
|
||||
app: dict(
|
||||
default_language = possible_languages['default'][0],
|
||||
languages = [lang for lang in possible_languages
|
||||
if lang != 'default']
|
||||
)
|
||||
}
|
||||
|
||||
#NOTE! To change language in your application using these rules add this line
|
||||
#in one of your models files:
|
||||
# if request.uri_language: T.force(request.uri_language)
|
||||
1
applications/welcome3/static/403.html
Normal file
@@ -0,0 +1 @@
|
||||
403
|
||||
1
applications/welcome3/static/404.html
Normal file
@@ -0,0 +1 @@
|
||||
404
|
||||
1
applications/welcome3/static/500.html
Normal file
@@ -0,0 +1 @@
|
||||
500
|
||||
9
applications/welcome3/static/css/bootstrap-responsive.min.css
vendored
Normal file
5
applications/welcome3/static/css/bootstrap.min.css
vendored
Normal file
7
applications/welcome3/static/css/calendar.css
Normal file
@@ -0,0 +1,7 @@
|
||||
.calendar{z-index:2000;position:relative;display:none;background:#fff;border:2px solid #000;font-size:11px;color:#000;cursor:default;font-family:Arial,Helvetica,sans-serif;
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
}.calendar table{margin:0px;font-size:11px;color:#000;cursor:default;font-family:tahoma,verdana,sans-serif;}.calendar .button{text-align:center;padding:1px;color:#fff;background:#000;}.calendar .nav{background:#000;color:#fff}.calendar thead .title{font-weight:bold;padding:1px;background:#000;color:#fff;text-align:center;}.calendar thead .name{padding:2px;text-align:center;background:#bbb;}.calendar thead .weekend{color:#f00;}.calendar thead .hilite {background-color:#666;}.calendar thead .active{padding:2px 0 0 2px;background-color:#c4c0b8;}.calendar tbody .day{width:2em;text-align:right;padding:2px 4px 2px 2px;}.calendar tbody .day.othermonth{color:#aaa;}.calendar tbody .day.othermonth.oweekend{color:#faa;}.calendar table .wn{padding:2px 3px 2px 2px;background:#bbb;}.calendar tbody .rowhilite td{background:#ddd;}.calendar tbody td.hilite{background:#bbb;}.calendar tbody td.active{background:#bbb;}.calendar tbody td.selected{font-weight:bold;background:#ddd;}.calendar tbody td.weekend{color:#f00;}.calendar tbody td.today{font-weight:bold;color:#00f;}.calendar tbody .disabled{color:#999;}.calendar tbody .emptycell{visibility:hidden;}.calendar tbody .emptyrow{display:none;}.calendar tfoot .ttip{background:#bbb;padding:1px;background:#000;color:#fff;text-align:center;}.calendar tfoot .hilite{background:#ddd;}.calendar tfoot .active{}.calendar .combo{position:absolute;display:none;width:4em;top:0;left:0;cursor:default;background:#e4e0d8;padding:1px;z-index:2001;}.calendar .combo .label,.calendar .combo .label-IEfix{text-align:center;padding:1px;}.calendar .combo .label-IEfix{width:4em;}.calendar .combo .active{background:#c4c0b8;}.calendar .combo .hilite{background:#048;color:#fea;}.calendar td.time{padding:1px 0;text-align:center;background-color:#bbb;}.calendar td.time .hour,.calendar td.time .minute,.calendar td.time .ampm{padding:0 3px 0 4px;font-weight:bold;}.calendar td.time .ampm{text-align:center;}.calendar td.time .colon{padding:0 2px 0 3px;font-weight:bold;}.calendar td.time span.hilite{}.calendar td.time span.active{border-color:#f00;background-color:#000;color:#0f0;}.hour,.minute{font-size:2em;}
|
||||
|
||||
#CP_hourcont{z-index:2000;padding:0;position:absolute;border:1px dashed #666;background-color:#eee;display:none;}#CP_minutecont{z-index:2000;background-color:#ddd;padding:1px;position:absolute;width:45px;display:none;}.floatleft{float:left;}.CP_hour{z-index:2000;padding:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;white-space:nowrap;cursor:pointer;width:35px;}.CP_minute{z-index:2000;padding:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;white-space:nowrap;cursor:pointer;width:auto;}.CP_over{background-color:#fff;z-index:2000}
|
||||
291
applications/welcome3/static/css/web2py-bootstrap3.css
Normal file
@@ -0,0 +1,291 @@
|
||||
/*!
|
||||
* part of the package to convert web2py elements to bootstrap3 theme
|
||||
* Developed by Paolo Caruccio ( paolo.caruccio66@gmail.com )
|
||||
* Released under MIT license
|
||||
* version 1 rev.201402261600
|
||||
*
|
||||
* Supported version of bootstrap framework: 3.0.2+
|
||||
|
||||
* The full package includes:
|
||||
* - bootstrap3.py python module
|
||||
* - this css file
|
||||
* - web2py-bootstrap3.js
|
||||
* - example of layout.html
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*!
|
||||
* rules overriding web2py.css
|
||||
* remove if web2py.css is not used
|
||||
|
||||
*/
|
||||
|
||||
div.flash.alert{
|
||||
background-image: none;
|
||||
border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
border-width: 1px;
|
||||
color: rgb(51, 51, 51);
|
||||
font-weight: normal;
|
||||
margin: 0 0 20px 0;
|
||||
min-width: 28px;
|
||||
opacity: 1;
|
||||
padding: 15px 35px 15px 15px;
|
||||
vertical-align: baseline;
|
||||
right: auto; }
|
||||
div.flash.alert:hover {
|
||||
opacity: 1; }
|
||||
.ie-lte8 div.flash {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); }
|
||||
.ie-lte8 div.flash:hover {
|
||||
filter:alpha(opacity=100); }
|
||||
ul.navbar-nav li {
|
||||
margin-bottom: 0; }
|
||||
ul.list-group, .bs3-form ul , ul.nav-tabs, ul.nav-pills {
|
||||
margin-left: 0; }
|
||||
p.lead {
|
||||
text-align: inherit; }
|
||||
.bs3-form label {
|
||||
white-space: normal; }
|
||||
.bs3-form.form-inline [type="text"], [type="password"], select {
|
||||
margin-right: 0; }
|
||||
.bs3-form div.error {
|
||||
display: none;
|
||||
width: auto;
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #a94442;
|
||||
padding: 0;
|
||||
background-image: none; }
|
||||
|
||||
|
||||
/*!
|
||||
* bootstrap3 adapters
|
||||
* essential rules
|
||||
|
||||
*/
|
||||
|
||||
/* flash messages */
|
||||
div.flash.alert {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 70px;
|
||||
right: 75px;
|
||||
cursor: pointer;
|
||||
z-index: 1000000;
|
||||
background-color: #f9edbe;
|
||||
border-color: #f0c36d; }
|
||||
div.flash.alert.centered {
|
||||
right: auto; }
|
||||
div.flash.alert.leftside {
|
||||
right: auto;
|
||||
left: 75px; }
|
||||
div.flash.alert #closeflash {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: -2px;
|
||||
right: -21px;
|
||||
color: inherit;
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
float: right;
|
||||
font-size: 21px;
|
||||
font-weight: bold;
|
||||
line-height: 1;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
/* buttons */
|
||||
.bs3-form-btn {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px; }
|
||||
/*image preview in update forms*/
|
||||
.w2p-uploaded-file .btn-group {
|
||||
vertical-align: top;
|
||||
margin-top: 0; }
|
||||
#file-reset-btn {
|
||||
vertical-align: top; }
|
||||
.w2p-uploaded-file input[type="file"] {
|
||||
display:inline-block;
|
||||
padding-top: 7px; }
|
||||
.w2p-file-preview img {
|
||||
max-width: 150px; }
|
||||
.w2p-file-preview:hover img {
|
||||
background-color: #ebebeb;
|
||||
border-color: #adadad; }
|
||||
.w2p-file-preview span {
|
||||
min-width: 150px;
|
||||
max-width: 150px;
|
||||
display: inline-block;
|
||||
line-height: 40px;
|
||||
min-height: 40px; }
|
||||
#no-file {
|
||||
display: inline-block;
|
||||
background-color: #eee;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 4px;
|
||||
min-width: 150px;
|
||||
max-width: 150px;
|
||||
line-height: 43px;
|
||||
min-height: 43px; }
|
||||
/* form-inline */
|
||||
.form-inline .form-group {
|
||||
margin-right: 4px; }
|
||||
/* list widget */
|
||||
.w2p_list li {
|
||||
margin-bottom: 6px; }
|
||||
.w2p_list li input {
|
||||
display: inline-block;
|
||||
width: 59%;
|
||||
margin-right: 4px; }
|
||||
/* autocomplete widget */
|
||||
div[id^=_autocomplete_] {
|
||||
margin-top: -10px;
|
||||
z-index: 1; }
|
||||
select.autocomplete {
|
||||
display: block;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.428571429;
|
||||
color: #555;
|
||||
vertical-align: middle;
|
||||
background-color: #fff;
|
||||
background-image: none;
|
||||
border: 1px solid #ccc;
|
||||
border-color: #428bca;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; }
|
||||
/* nav-tabs */
|
||||
.nav-tabs {
|
||||
margin-bottom: 15px; }
|
||||
/* dropdown multilevels in menu*/
|
||||
/* fix issue when screen height is shorter than bs3 default */
|
||||
.navbar-collapse.short-screen {
|
||||
max-height: 200px !important; }
|
||||
.dropdown-submenu>a:after {
|
||||
display: block;
|
||||
content: " ";
|
||||
float: right;
|
||||
width: 0;
|
||||
height: 0;
|
||||
margin-top: 5px;
|
||||
margin-right: -10px;
|
||||
border-style: solid;
|
||||
/* right-arrow */
|
||||
border-color: transparent #cccccc;
|
||||
border-width: 4px 0 4px 4px; }
|
||||
@media (min-width: 768px) {
|
||||
/* animation */
|
||||
.navbar-nav .dropdown-menu {
|
||||
top: -9999px;
|
||||
display: block;
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity .4s ease-in-out; }
|
||||
.dropdown-submenu {
|
||||
position: relative; }
|
||||
.dropdown-submenu>.dropdown-menu {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 100%;
|
||||
margin-top: -6px;
|
||||
margin-left: -1px;
|
||||
border-radius: 0 4px 4px 4px;
|
||||
/* animation */
|
||||
left: -9999px;
|
||||
opacity: 0;
|
||||
display: block;
|
||||
-webkit-transition: opacity .4s ease-in-out; }
|
||||
.navbar ul.nav li[data-w2pmenulevel="l0"]:hover >ul.dropdown-menu {
|
||||
display: block;
|
||||
/* animation */
|
||||
top: 100%;
|
||||
opacity: 1; }
|
||||
.dropdown-submenu:hover>.dropdown-menu {
|
||||
display: block;
|
||||
/* animation */
|
||||
left: 100%;
|
||||
opacity: 1; }
|
||||
.dropdown-submenu:hover>a,
|
||||
.dropdown-submenu:focus>a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
background-color: #357ebd; }
|
||||
.navbar-inverse .navbar-nav>li>a:hover,
|
||||
.navbar-inverse .navbar-nav>li>a:focus,
|
||||
.navbar-inverse .navbar-nav>li:hover>a {
|
||||
color: #fff;
|
||||
background-color: black; }
|
||||
.dropdown-submenu>a:hover:after,
|
||||
.dropdown-submenu:hover>a:after {
|
||||
/* left-arrow */
|
||||
border-color: transparent #fff;
|
||||
border-width: 4px 4px 4px 0; }
|
||||
}
|
||||
@media (max-width: 767px){
|
||||
.dropdown-menu {
|
||||
width: 100%;
|
||||
display: none; }
|
||||
.dropdown-submenu>.dropdown-menu {
|
||||
position: static;
|
||||
float: none;
|
||||
display: none;
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
text-indent: 8px; }
|
||||
.dropdown-submenu>.dropdown-menu.open {
|
||||
display: block;
|
||||
height: 100%; }
|
||||
.dropdown-submenu>a:after {
|
||||
/* down-arrow */
|
||||
border-color: #cccccc transparent;
|
||||
border-width: 4px 4px 0px 4px; }
|
||||
.dropdown-submenu>a:hover:after {
|
||||
border-color: #ffffff transparent; }
|
||||
.dropdown-submenu>a.active {
|
||||
font-weight: 700; }
|
||||
.dropdown-submenu>a.active:after {
|
||||
/* up-arrow */
|
||||
border-color: #ffffff transparent;
|
||||
border-width: 0px 4px 4px 4px; }
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* application customization
|
||||
* add custom rules
|
||||
|
||||
*/
|
||||
|
||||
|
||||
body {
|
||||
padding-top: 70px; }
|
||||
/* web2py logo */
|
||||
#web2py-logo {
|
||||
color: #c6cecc; }
|
||||
#web2py-logo b {
|
||||
display: inline-block;
|
||||
margin-top: -1px; }
|
||||
#web2py-logo b>span {
|
||||
font-size: 22px;
|
||||
color: white; }
|
||||
#web2py-logo:hover {
|
||||
color: white; }
|
||||
/*footer*/
|
||||
#footer>div.row {
|
||||
padding-top: 9px;
|
||||
margin: 20px 0 40px 0;
|
||||
border-top: 1px solid #eee; }
|
||||
#footer p {
|
||||
margin-left: -15px;
|
||||
margin-right: -15px; }
|
||||
.dropdown .highlighted {
|
||||
color: #428bca;
|
||||
}
|
||||
313
applications/welcome3/static/css/web2py.css
Normal file
@@ -0,0 +1,313 @@
|
||||
/** these MUST stay **/
|
||||
a {text-decoration:none; white-space:nowrap}
|
||||
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}
|
||||
th,label {font-weight:bold; white-space:nowrap;}
|
||||
td,th {text-align:left; padding:2px 5px 2px 5px}
|
||||
th {vertical-align:middle; border-right:1px solid white}
|
||||
td {vertical-align:top}
|
||||
form table tr td label {text-align:left}
|
||||
p,table,ol,ul {padding:0; margin: 0.75em 0}
|
||||
p {text-align:justify}
|
||||
ol, ul {list-style-position:outside; margin-left:2em}
|
||||
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}
|
||||
i,em {font-style:italic}
|
||||
strong {font-weight:bold}
|
||||
small {font-size:0.8em}
|
||||
code {font-family:Courier}
|
||||
textarea {width:100%}
|
||||
video {width:400px}
|
||||
audio {width:200px}
|
||||
[type="text"], [type="password"], select {
|
||||
margin-right: 5px; width: 300px;
|
||||
}
|
||||
.hidden {display:none;visibility:visible}
|
||||
.right {float:right; text-align:right}
|
||||
.left {float:left; text-align:left}
|
||||
.center {width:100%; text-align:center; vertical-align:middle}
|
||||
/** end **/
|
||||
|
||||
/* Sticky footer begin */
|
||||
|
||||
.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 */
|
||||
|
||||
.footer {
|
||||
border-top:1px #DEDEDE solid;
|
||||
}
|
||||
.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 */
|
||||
|
||||
td.w2p_fw {padding-bottom:1px}
|
||||
td.w2p_fl,td.w2p_fw,td.w2p_fc {vertical-align:top}
|
||||
td.w2p_fl {text-align:left}
|
||||
td.w2p_fl, td.w2p_fw {padding-right:7px}
|
||||
td.w2p_fl,td.w2p_fc {padding-top:4px}
|
||||
div.w2p_export_menu {margin:5px 0}
|
||||
div.w2p_export_menu a, div.w2p_wiki_tags a, div.w2p_cloud a {margin-left:5px; padding:2px 5px; background-color:#f1f1f1; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;}
|
||||
|
||||
/* 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}
|
||||
|
||||
/*********** web2py specific ***********/
|
||||
div.flash {
|
||||
font-weight:bold;
|
||||
display:none;
|
||||
position:fixed;
|
||||
padding:10px;
|
||||
top:48px;
|
||||
right:250px;
|
||||
min-width:280px;
|
||||
opacity:0.95;
|
||||
margin:0px 0px 10px 10px;
|
||||
vertical-align:middle;
|
||||
cursor:pointer;
|
||||
color:#fff;
|
||||
background-color:#000;
|
||||
border:2px solid #fff;
|
||||
border-radius:8px;
|
||||
-o-border-radius: 8px;
|
||||
-moz-border-radius:8px;
|
||||
-webkit-border-radius:8px;
|
||||
background-image: -webkit-linear-gradient(top,#222,#000);
|
||||
background-image: -o-linear-gradient(top,#222,#000);
|
||||
background-image: -moz-linear-gradient(90deg, #222, #000);
|
||||
background-image: linear-gradient(top,#222,#000);
|
||||
background-repeat: repeat-x;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
z-index:2000;
|
||||
}
|
||||
|
||||
div.flash #closeflash{color:inherit; float:right; margin-left:15px;}
|
||||
.ie-lte7 div.flash #closeflash
|
||||
{color:expression(this.parentNode.currentStyle['color']);float:none;position:absolute;right:4px;}
|
||||
|
||||
div.flash:hover { opacity:0.25; }
|
||||
|
||||
div.error_wrapper {display:block}
|
||||
div.error {
|
||||
color:red;
|
||||
padding:5px;
|
||||
display:inline-block;
|
||||
}
|
||||
|
||||
.topbar {
|
||||
padding:10px 0;
|
||||
width:100%;
|
||||
color:#959595;
|
||||
vertical-align:middle;
|
||||
padding:auto;
|
||||
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:5px; /* same as superfish */}
|
||||
|
||||
.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 {float:left}
|
||||
|
||||
.copyright {float:left}
|
||||
#poweredBy {float:right}
|
||||
|
||||
/* #MEDIA QUERIES SECTION */
|
||||
|
||||
/*
|
||||
*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_table {border:1px solid #ccc} */
|
||||
.web2py_paginator {}
|
||||
.web2py_grid {width:100%}
|
||||
.web2py_grid table {width:100%}
|
||||
.web2py_grid tbody td {padding:2px 5px 2px 5px; vertical-align: middle;}
|
||||
.web2py_grid .web2py_form td {vertical-align: top;}
|
||||
|
||||
.web2py_grid thead th,.web2py_grid tfoot td {
|
||||
background-color:#EAEAEA;
|
||||
padding:10px 5px 10px 5px;
|
||||
}
|
||||
|
||||
.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;
|
||||
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 form {
|
||||
width: 100%;
|
||||
display: inline;
|
||||
vertical-align: middle;
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.web2py_console form select {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.web2py_search_actions {
|
||||
float:left;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.web2py_grid .row_buttons {
|
||||
min-height:25px;
|
||||
vertical-align:middle;
|
||||
}
|
||||
.web2py_grid .row_buttons a {
|
||||
margin:3px;
|
||||
}
|
||||
|
||||
.web2py_search_actions {
|
||||
width:100%;
|
||||
}
|
||||
|
||||
.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:2px; display:inline-block;
|
||||
padding:3px 5px 3px 5px;
|
||||
}
|
||||
|
||||
.web2py_counter {
|
||||
margin-top:5px;
|
||||
margin-right:2px;
|
||||
width:35%;
|
||||
float:right;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
/*Fix firefox problem*/
|
||||
.web2py_table {clear:both; display:block}
|
||||
|
||||
.web2py_paginator {
|
||||
padding:5px;
|
||||
text-align:right;
|
||||
background-color:#f2f2f2;
|
||||
|
||||
}
|
||||
.web2py_paginator ul {
|
||||
list-style-type:none;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
}
|
||||
|
||||
.web2py_paginator ul li {
|
||||
display:inline;
|
||||
}
|
||||
|
||||
.web2py_paginator .current {
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.web2py_breadcrumbs ul {
|
||||
list-style:none;
|
||||
margin-bottom:18px;
|
||||
}
|
||||
|
||||
li.w2p_grid_breadcrumb_elem {
|
||||
display:inline-block;
|
||||
}
|
||||
|
||||
.web2py_console form { vertical-align: middle; }
|
||||
.web2py_console input, .web2py_console select,
|
||||
.web2py_console a { margin: 2px; }
|
||||
|
||||
|
||||
#wiki_page_body {
|
||||
width: 600px;
|
||||
height: auto;
|
||||
min-height: 400px;
|
||||
}
|
||||
|
||||
/* fix some IE problems */
|
||||
|
||||
.ie-lte7 .topbar .container {z-index:2}
|
||||
.ie-lte8 div.flash{ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#222222', endColorstr='#000000', GradientType=0 ); }
|
||||
.ie-lte8 div.flash:hover {filter:alpha(opacity=25);}
|
||||
.ie9 #w2p_query_panel {padding-bottom:2px}
|
||||
|
||||
.web2py_console .form-control {width: 20%; display: inline;}
|
||||
.web2py_console #w2p_keywords {width: 50%;}
|
||||
.web2py_search_actions a, .web2py_console input[type=submit], .web2py_console input[type=button], .web2py_console button { padding: 6px 12px; }
|
||||
@@ -0,0 +1,229 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata></metadata>
|
||||
<defs>
|
||||
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
||||
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
||||
<missing-glyph horiz-adv-x="500" />
|
||||
<glyph />
|
||||
<glyph />
|
||||
<glyph unicode="
" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
|
||||
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="434" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="163" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="72" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
|
||||
<glyph unicode="−" d="M200 400h900v300h-900v-300z" />
|
||||
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
||||
<glyph unicode="☁" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
|
||||
<glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
|
||||
<glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
|
||||
<glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
|
||||
<glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
|
||||
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
||||
<glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
|
||||
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
|
||||
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
|
||||
<glyph unicode="" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
|
||||
<glyph unicode="" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
|
||||
<glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
|
||||
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
|
||||
<glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
|
||||
<glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
|
||||
<glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
|
||||
<glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
|
||||
<glyph unicode="" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
|
||||
<glyph unicode="" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
|
||||
<glyph unicode="" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
|
||||
<glyph unicode="" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
|
||||
<glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
|
||||
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
|
||||
<glyph unicode="" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
|
||||
<glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
|
||||
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
|
||||
<glyph unicode="" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
|
||||
<glyph unicode="" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
|
||||
<glyph unicode="" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
|
||||
<glyph unicode="" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
|
||||
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
|
||||
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
|
||||
<glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
|
||||
<glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
|
||||
<glyph unicode="" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
|
||||
<glyph unicode="" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
|
||||
<glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
|
||||
<glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
||||
<glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
|
||||
<glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
|
||||
<glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
|
||||
<glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
|
||||
<glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
|
||||
<glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
|
||||
<glyph unicode="" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
|
||||
<glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
|
||||
<glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
|
||||
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
|
||||
<glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
|
||||
<glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
|
||||
<glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
|
||||
<glyph unicode="" d="M200 0l900 550l-900 550v-1100z" />
|
||||
<glyph unicode="" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
||||
<glyph unicode="" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
||||
<glyph unicode="" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
|
||||
<glyph unicode="" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
|
||||
<glyph unicode="" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
|
||||
<glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
|
||||
<glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
|
||||
<glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
|
||||
<glyph unicode="" d="M0 547l600 453v-300h600v-300h-600v-301z" />
|
||||
<glyph unicode="" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
|
||||
<glyph unicode="" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
|
||||
<glyph unicode="" d="M104 600h296v600h300v-600h298l-449 -600z" />
|
||||
<glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
|
||||
<glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
|
||||
<glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
|
||||
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
|
||||
<glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
|
||||
<glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
|
||||
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
|
||||
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
|
||||
<glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
|
||||
<glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
|
||||
<glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
|
||||
<glyph unicode="" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
|
||||
<glyph unicode="" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
|
||||
<glyph unicode="" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
|
||||
<glyph unicode="" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
|
||||
<glyph unicode="" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
|
||||
<glyph unicode="" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
|
||||
<glyph unicode="" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
|
||||
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
||||
<glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
|
||||
<glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
|
||||
<glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
|
||||
<glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
|
||||
<glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
|
||||
<glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
|
||||
<glyph unicode="" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
|
||||
<glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
|
||||
<glyph unicode="" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
|
||||
<glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
|
||||
<glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
|
||||
<glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
||||
<glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
|
||||
<glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
|
||||
<glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
|
||||
<glyph unicode="" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
|
||||
<glyph unicode="" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
|
||||
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
|
||||
<glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
|
||||
<glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
|
||||
<glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
|
||||
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
|
||||
<glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
|
||||
<glyph unicode="" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
|
||||
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
|
||||
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
|
||||
<glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
|
||||
<glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
|
||||
<glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
|
||||
<glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
|
||||
<glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
|
||||
<glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
|
||||
<glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
|
||||
<glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
|
||||
<glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
|
||||
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
|
||||
<glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
|
||||
<glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 62 KiB |
BIN
applications/welcome3/static/images/facebook.png
Normal file
|
After Width: | Height: | Size: 991 B |
BIN
applications/welcome3/static/images/favicon.ico
Normal file
|
After Width: | Height: | Size: 198 B |
BIN
applications/welcome3/static/images/favicon.png
Normal file
|
After Width: | Height: | Size: 323 B |
|
After Width: | Height: | Size: 8.6 KiB |
BIN
applications/welcome3/static/images/glyphicons-halflings.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
applications/welcome3/static/images/gplus-32.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
applications/welcome3/static/images/twitter.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
3
applications/welcome3/static/js/analytics.min.js
vendored
Normal file
6
applications/welcome3/static/js/bootstrap.min.js
vendored
Normal file
29
applications/welcome3/static/js/calendar.js
Normal file
4
applications/welcome3/static/js/jquery.js
vendored
Normal file
4
applications/welcome3/static/js/modernizr.custom.js
Normal file
6
applications/welcome3/static/js/respond.min.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
/*! Respond.js v1.4.2: min/max-width media query polyfill
|
||||
* Copyright 2014 Scott Jehl
|
||||
* Licensed under MIT
|
||||
* http://j.mp/respondjs */
|
||||
|
||||
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b<t.length;b++){var c=t[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!p[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(w(c.styleSheet.rawCssText,e,f),p[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!s||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}x()};y(),c.update=y,c.getEmValue=u,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
|
||||
44
applications/welcome3/static/js/share.js
Normal file
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
|
||||
Created and copyrighted by Massimo Di Pierro <massimo.dipierro@gmail.com>
|
||||
(MIT license)
|
||||
|
||||
Example:
|
||||
|
||||
<script src="share.js"></script>
|
||||
|
||||
**/
|
||||
|
||||
jQuery(function(){
|
||||
var script_source = jQuery('script[src*="share.js"]').attr('src');
|
||||
var params = function(name,default_value) {
|
||||
var match = RegExp('[?&]' + name + '=([^&]*)').exec(script_source);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '))||default_value;
|
||||
}
|
||||
var path = params('static','social');
|
||||
var url = encodeURIComponent(window.location.href);
|
||||
var host = window.location.hostname;
|
||||
var title = escape(jQuery('title').text());
|
||||
var twit = 'http://twitter.com/home?status='+title+'%20'+url;
|
||||
var facebook = 'http://www.facebook.com/sharer.php?u='+url;
|
||||
var gplus = 'https://plus.google.com/share?url='+url;
|
||||
var tbar = '<div id="socialdrawer"><span>Share<br/></span><div id="sicons"><a href="'+twit+'" id="twit" title="Share on twitter"><img src="'+path+'/twitter.png" alt="Share on Twitter" width="32" height="32" /></a><a href="'+facebook+'" id="facebook" title="Share on Facebook"><img src="'+path+'/facebook.png" alt="Share on facebook" width="32" height="32" /></a><a href="'+gplus+'" id="gplus" title="Share on Google Plus"><img src="'+path+'/gplus-32.png" alt="Share on Google Plus" width="32" height="32" /></a></div></div>';
|
||||
// Add the share tool bar.
|
||||
jQuery('body').append(tbar);
|
||||
var st = jQuery('#socialdrawer');
|
||||
st.css({'opacity':'.7','z-index':'3000','background':'#FFF','border':'solid 1px #666','border-width':' 1px 0 0 1px','height':'20px','width':'40px','position':'fixed','bottom':'0','right':'0','padding':'2px 5px','overflow':'hidden','-webkit-border-top-left-radius':' 12px','-moz-border-radius-topleft':' 12px','border-top-left-radius':' 12px','-moz-box-shadow':' -3px -3px 3px rgba(0,0,0,0.5)','-webkit-box-shadow':' -3px -3px 3px rgba(0,0,0,0.5)','box-shadow':' -3px -3px 3px rgba(0,0,0,0.5)'});
|
||||
jQuery('#socialdrawer a').css({'float':'left','width':'32px','margin':'3px 2px 2px 2px','padding':'0','cursor':'pointer'});
|
||||
jQuery('#socialdrawer span').css({'float':'left','margin':'2px 3px','text-shadow':' 1px 1px 1px #FFF','color':'#444','font-size':'12px','line-height':'1em'});
|
||||
jQuery('#socialdrawer img').hide();
|
||||
// hover
|
||||
st.click(function(){
|
||||
jQuery(this).animate({height:'40px', width:'160px', opacity: 0.95}, 300);
|
||||
jQuery('#socialdrawer img').show();
|
||||
});
|
||||
//leave
|
||||
st.mouseleave(function(){
|
||||
st.animate({height:'20px', width: '40px', opacity: .7}, 300);
|
||||
jQuery('#socialdrawer img').hide();
|
||||
return false;
|
||||
} );
|
||||
});
|
||||
253
applications/welcome3/static/js/web2py-bootstrap3.js
Normal file
@@ -0,0 +1,253 @@
|
||||
/*!
|
||||
* part of the package to convert web2py elements to bootstrap3 theme
|
||||
* Developed by Paolo Caruccio ( paolo.caruccio66@gmail.com )
|
||||
* Released under MIT license
|
||||
* version 1 rev.201402261600
|
||||
*
|
||||
* Supported version of bootstrap framework: 3.0.2+
|
||||
|
||||
* The full package includes:
|
||||
* - bootstrap3.py python module
|
||||
* - web2py-bootstrap3.css
|
||||
* - this js file
|
||||
* - example of layout.html
|
||||
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
|
||||
// bootstrap3 classes for elements of horizontal form - data
|
||||
var FH_CL_PREFIX = 'col-md-', // class prefix
|
||||
FH_LABEL_COLW = '4', // nr. of columns of 12
|
||||
FH_CONTROL_COLW = '8' // 12 - FH_LABEL_COLW;
|
||||
|
||||
// bootstrap3 classes for elements of horizontal form - calculations
|
||||
var fh_label_class = FH_CL_PREFIX + FH_LABEL_COLW,
|
||||
fh_offest_class = FH_CL_PREFIX+'offset-'+FH_LABEL_COLW,
|
||||
fh_control_class = FH_CL_PREFIX + FH_CONTROL_COLW;
|
||||
|
||||
// functions
|
||||
function menu_is_collapsed() {
|
||||
return !$('.navbar-toggle').is(':hidden')
|
||||
};
|
||||
|
||||
function closeSubmenu() {
|
||||
$(".dropdown-submenu>a.active").each(function(){
|
||||
var o = $(this);
|
||||
o.parent().children("ul").toggleClass('open').data('phase', null);
|
||||
o.toggleClass('active');
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.center = function (options) {
|
||||
var defaults = {'parent': false, 'mode': "both"};
|
||||
var settings = $.extend(defaults, options);
|
||||
var parent;
|
||||
if (settings.parent) {
|
||||
parent = this.parent();
|
||||
} else {
|
||||
parent = window;
|
||||
}
|
||||
if (settings.mode != "horizontally") {
|
||||
this.css("top", Math.max(0, (($(parent).height() - $(this).outerHeight()) / 2) + $(parent).scrollTop()) + "px");}
|
||||
if (settings.mode != "vertically") {
|
||||
this.css("left", Math.max(0, (($(parent).width() - $(this).outerWidth()) / 2) + $(parent).scrollLeft()) + "px");}
|
||||
return this;
|
||||
};
|
||||
|
||||
function adjust_maxheight_of_collapsed_nav() {
|
||||
var cn = $('div.navbar-collapse');
|
||||
var sh = $(window).height();
|
||||
if (cn.get(0)) {
|
||||
if (sh<320) {
|
||||
cn.addClass('short-screen');
|
||||
}
|
||||
else {
|
||||
cn.removeClass('short-screen');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// alert centering
|
||||
$('.flash.alert.centered').center({'mode': "horizontally"});
|
||||
|
||||
// navs
|
||||
$(".nav ul.dropdown-menu").not("#w2p-auth-bar").each(function() {
|
||||
var toggle = $(this).parent();
|
||||
if (toggle.parent().hasClass("nav")) {
|
||||
toggle.attr("data-w2pmenulevel", "l0");
|
||||
toggle.children("a")
|
||||
.addClass("dropdown-toggle")
|
||||
.append('<span class="caret"> </span>')
|
||||
.attr("data-toggle", "dropdown");
|
||||
} else {
|
||||
toggle.addClass("dropdown-submenu").removeClass("dropdown");
|
||||
};
|
||||
});
|
||||
|
||||
$('.navbar-nav a.dropdown-toggle').click(function(e) {
|
||||
if (menu_is_collapsed()) {
|
||||
e.preventDefault();
|
||||
}else{
|
||||
window.location=$(this).attr('href');
|
||||
};
|
||||
});
|
||||
|
||||
$(".dropdown-submenu>a").click(function(event) {
|
||||
if (menu_is_collapsed()) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
var submenu = $(this).parent().children("ul");
|
||||
submenu.data('phase','opening');
|
||||
var dropdownOfThis = $(this).parent().parent();
|
||||
var actives = dropdownOfThis.find('ul.dropdown-menu.open');
|
||||
if (actives && actives.length) {
|
||||
var hasData = actives.data('phase');
|
||||
if (hasData && hasData=='opened') {
|
||||
actives.removeClass('open');
|
||||
actives.siblings('a.active').removeClass('active');
|
||||
hasData || actives.data('phase', null);
|
||||
};
|
||||
};
|
||||
submenu.toggleClass('open').data('phase','opened');
|
||||
$(this).toggleClass('active');
|
||||
}else{
|
||||
window.location=$(this).attr('href');
|
||||
};
|
||||
});
|
||||
|
||||
$(".nav-tabs .web2py-menu-active").addClass('active');
|
||||
$(".nav-tabs a").not(".dropdown-toggle").attr("data-toggle", "tab");
|
||||
|
||||
// form fixes
|
||||
$(document).ready(function() {
|
||||
$("form.bs3-form .w2p_list a").each(function() {
|
||||
// the plus and minus buttons are generated by web2py.js
|
||||
$(this).addClass('btn btn-default');
|
||||
});
|
||||
$("form.bs3-form p.w2p-autocomplete-widget").each(function() {
|
||||
// not generated by formstyle
|
||||
$(this).children('input').addClass('form-control');
|
||||
});
|
||||
$("form.bs3-form input[name='password_two']").each(function() {
|
||||
// auth addition after form creation
|
||||
var $this = $(this).addClass('form-control');
|
||||
var groupClass = 'form-group'
|
||||
var labelClass = 'control-label';
|
||||
var commentClass = 'help-block';
|
||||
var comment;
|
||||
var mode;
|
||||
var hasError = false;
|
||||
if ($this.parent().hasClass('form-horizontal')) {
|
||||
mode = 'horizontal';
|
||||
labelClass = fh_label_class+' control-label';
|
||||
};
|
||||
if ($this.parent().hasClass('form-inline')) {
|
||||
mode = 'inline';
|
||||
labelClass = 'sr-only';
|
||||
commentClass = 'sr-only';
|
||||
var labelText = $this.prev('label').text();
|
||||
$this.attr("placeholder", labelText.slice(0,-2));
|
||||
};
|
||||
var error = $this.next('div.error_wrapper');
|
||||
if (error.length > 0) {
|
||||
var hasError = true;
|
||||
groupClass = 'form-group has-error'
|
||||
var text = error[0].nextSibling.nodeValue;
|
||||
if (text) {
|
||||
comment = "<span class='"+commentClass+"'>"+text+"</span>";
|
||||
error[0].parentNode.removeChild(error[0].nextSibling);
|
||||
};
|
||||
} else {
|
||||
var text = $this[0].nextSibling.nodeValue;
|
||||
if (text) {
|
||||
comment = "<span class='"+commentClass+"'>"+text+"</span>";
|
||||
$this[0].parentNode.removeChild($this[0].nextSibling);
|
||||
};
|
||||
};
|
||||
$this.prev('label').addClass(labelClass).andSelf().wrapAll("<div class='"+groupClass+"' id='auth_user_verify_password__row'></div>");
|
||||
if (mode == 'horizontal') {
|
||||
$this.wrap('<div class="'+fh_control_class+'"></div>');
|
||||
};
|
||||
if (hasError) {
|
||||
$this.parent().append(error);
|
||||
};
|
||||
$this.parent().append(comment);
|
||||
});
|
||||
$('form.bs3-form #auth_user_remember').each(function() {
|
||||
// auth addition after form creation
|
||||
var $input = $(this);
|
||||
var $label = $input.next('label');
|
||||
var $iParent = $input.parent();
|
||||
$input.removeClass('checkbox');
|
||||
$iParent.prev('label').remove();
|
||||
$input.prependTo($label);
|
||||
var newGroup = $label;
|
||||
$iParent.replaceWith(newGroup);
|
||||
if (newGroup.parent().hasClass('form-horizontal')) {
|
||||
newGroup.wrap($('<div class="form-group"><div class="'+fh_offest_class+' '+fh_control_class+'"><div class="checkbox"></div></div></div>'));
|
||||
} else {
|
||||
newGroup.wrap($('<div class="form-group"><div class="checkbox"></div></div>'));
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
// form errors
|
||||
$('form.bs3-form .error_wrapper').each(function() {
|
||||
var $this = $(this)
|
||||
var rcContainer = $this.parents('.rc_container');
|
||||
if (rcContainer.length > 0) {
|
||||
$this.appendTo(rcContainer);
|
||||
}
|
||||
});
|
||||
$('form.bs3-form').find('div.error').addClass('text-danger').closest(".form-group").addClass('has-error');
|
||||
|
||||
// uploadwidget
|
||||
$('#file-reset-btn').click(function() {
|
||||
var el = $('div.w2p-uploaded-file')[0];
|
||||
var whatReset = jQuery.data(el, "reset");
|
||||
if (whatReset == "changed") {
|
||||
$('.w2p-uploaded-file input[type="file"]')
|
||||
.replaceWith(
|
||||
$('.w2p-uploaded-file input[type="file"]')
|
||||
.clone());
|
||||
$('.w2p-file-preview, .w2p-uploaded-file input[type="file"], #edit-btn-dd, #file-reset-btn').toggle();
|
||||
}else{
|
||||
$('.w2p-file-preview, #no-file, #edit-btn-dd, #file-reset-btn').toggle();
|
||||
$('div.w2p-uploaded-file').children('input[type=checkbox]').trigger('click');
|
||||
}
|
||||
jQuery.removeData(el, "reset");
|
||||
});
|
||||
$('#change-file-option').click(function(e) {
|
||||
e.preventDefault();
|
||||
$('.w2p-file-preview, .w2p-uploaded-file input[type="file"], #edit-btn-dd, #file-reset-btn').toggle();
|
||||
jQuery.data($('div.w2p-uploaded-file')[0], "reset", "changed");
|
||||
});
|
||||
$('#delete-file-option').click(function(e) {
|
||||
e.preventDefault();
|
||||
var wimg = $('#image-thumb').outerWidth(),
|
||||
himg = $('#image-thumb').outerHeight();
|
||||
$('#no-file')
|
||||
.width(wimg)
|
||||
.height(himg)
|
||||
.css({'line-height':himg+'px'});
|
||||
$('.w2p-file-preview, #no-file, #edit-btn-dd, #file-reset-btn').toggle();
|
||||
$('div.w2p-uploaded-file').children('input[type=checkbox]').trigger('click');
|
||||
jQuery.data($('div.w2p-uploaded-file')[0], "reset", "deleted");
|
||||
});
|
||||
|
||||
// on page load
|
||||
adjust_maxheight_of_collapsed_nav();
|
||||
|
||||
// resize and orientation change events
|
||||
$(window).on('orientationchange resize', function(event) {
|
||||
adjust_maxheight_of_collapsed_nav();
|
||||
$('.flash.alert').center({'mode':"horizontally"});
|
||||
if (menu_is_collapsed() === false) {
|
||||
closeSubmenu();
|
||||
$('.navbar-nav .dropdown.open a.dropdown-toggle').dropdown('toggle');
|
||||
$('#main-menu.in, #login-menu.in').collapse('hide');
|
||||
};
|
||||
});
|
||||
|
||||
}(jQuery));
|
||||
721
applications/welcome3/static/js/web2py.js
Normal file
@@ -0,0 +1,721 @@
|
||||
(function ($, undefined) {
|
||||
/*
|
||||
* Unobtrusive scripting adapter for jQuery, largely taken from
|
||||
* the wonderful https://github.com/rails/jquery-ujs
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
*
|
||||
*/
|
||||
if($.web2py !== undefined) {
|
||||
$.error('web2py.js has already been loaded!');
|
||||
}
|
||||
|
||||
|
||||
String.prototype.reverse = function () {
|
||||
return this.split('').reverse().join('');
|
||||
};
|
||||
var web2py;
|
||||
|
||||
$.web2py = web2py = {
|
||||
|
||||
popup: function (url) {
|
||||
/* popup a window */
|
||||
newwindow = window.open(url, 'name', 'height=400,width=600');
|
||||
if(window.focus) newwindow.focus();
|
||||
return false;
|
||||
},
|
||||
collapse: function (id) {
|
||||
/* toggle an element */
|
||||
$('#' + id).slideToggle();
|
||||
},
|
||||
fade: function (id, value) {
|
||||
/*fade something*/
|
||||
if(value > 0) $('#' + id).hide().fadeIn('slow');
|
||||
else $('#' + id).show().fadeOut('slow');
|
||||
},
|
||||
ajax: function (u, s, t) {
|
||||
/*simple ajax function*/
|
||||
query = '';
|
||||
if(typeof s == "string") {
|
||||
d = $(s).serialize();
|
||||
if(d) {
|
||||
query = d;
|
||||
}
|
||||
} else {
|
||||
pcs = [];
|
||||
if(s != null && s != undefined)
|
||||
for(i = 0; i < s.length; i++) {
|
||||
q = $("[name=" + s[i] + "]").serialize();
|
||||
if(q) {
|
||||
pcs.push(q);
|
||||
}
|
||||
}
|
||||
if(pcs.length > 0) {
|
||||
query = pcs.join("&");
|
||||
}
|
||||
}
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: u,
|
||||
data: query,
|
||||
success: function (msg) {
|
||||
if(t) {
|
||||
if(t == ':eval') eval(msg);
|
||||
else if(typeof t == 'string') $("#" + t).html(msg);
|
||||
else t(msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
ajax_fields: function (target) {
|
||||
/*
|
||||
*this attaches something to a newly loaded fragment/page
|
||||
* Ideally all events should be bound to the document, so we can avoid calling
|
||||
* this over and over... all will be bound to the document
|
||||
*/
|
||||
/*adds btn class to buttons*/
|
||||
$('button', target).addClass('btn').addClass('btn-default');
|
||||
$('form input[type="submit"], form input[type="button"]', target).addClass('btn').addClass('btn-default');
|
||||
/* javascript for PasswordWidget*/
|
||||
$('input[type=password][data-w2p_entropy]', target).each(function () {
|
||||
web2py.validate_entropy($(this));
|
||||
});
|
||||
/* javascript for ListWidget*/
|
||||
$('ul.w2p_list', target).each(function () {
|
||||
function pe(ul, e) {
|
||||
var new_line = ml(ul);
|
||||
rel(ul);
|
||||
if($(e.target).parent().is(':visible')) {
|
||||
/* make sure we didn't delete the element before we insert after */
|
||||
new_line.insertAfter($(e.target).parent());
|
||||
} else {
|
||||
/* the line we clicked on was deleted, just add to end of list */
|
||||
new_line.appendTo(ul);
|
||||
}
|
||||
new_line.find(":text").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
function rl(ul, e) {
|
||||
if($(ul).children().length > 1) {
|
||||
/* only remove if we have more than 1 item so the list is never empty */
|
||||
$(e.target).parent().remove();
|
||||
}
|
||||
}
|
||||
|
||||
function ml(ul) {
|
||||
/* clone the first field */
|
||||
var line = $(ul).find("li:first").clone(true);
|
||||
line.find(':text').val('');
|
||||
return line;
|
||||
}
|
||||
|
||||
function rel(ul) {
|
||||
/* keep only as many as needed*/
|
||||
$(ul).find("li").each(function () {
|
||||
var trimmed = $.trim($(this.firstChild).val());
|
||||
if(trimmed == '') $(this).remove();
|
||||
else $(this.firstChild).val(trimmed);
|
||||
});
|
||||
}
|
||||
var ul = this;
|
||||
$(ul).find(":text").after('<a href="#">+</a> <a href="#">-</a>').keypress(function (e) {
|
||||
return(e.which == 13) ? pe(ul, e) : true;
|
||||
}).next().click(function (e) {
|
||||
pe(ul, e);
|
||||
e.preventDefault();
|
||||
}).next().click(function (e) {
|
||||
rl(ul, e);
|
||||
e.preventDefault();
|
||||
});
|
||||
});
|
||||
},
|
||||
ajax_init: function (target) {
|
||||
/*called whenever a fragment gets loaded */
|
||||
$('.hidden', target).hide();
|
||||
web2py.manage_errors(target);
|
||||
web2py.ajax_fields(target);
|
||||
web2py.show_if_handler(target);
|
||||
web2py.component_handler(target);
|
||||
},
|
||||
/* manage errors in forms */
|
||||
manage_errors: function (target) {
|
||||
$('.error', target).hide().slideDown('slow');
|
||||
},
|
||||
after_ajax: function (xhr) {
|
||||
/* called whenever an ajax request completes */
|
||||
var command = xhr.getResponseHeader('web2py-component-command');
|
||||
var flash = xhr.getResponseHeader('web2py-component-flash');
|
||||
if(command !== null) {
|
||||
eval(decodeURIComponent(command));
|
||||
}
|
||||
if(flash) {
|
||||
web2py.flash(decodeURIComponent(flash))
|
||||
}
|
||||
},
|
||||
event_handlers: function () {
|
||||
/*
|
||||
* This is called once for page
|
||||
* Ideally it should bound all the things that are needed
|
||||
* and require no dom manipulations
|
||||
*/
|
||||
var doc = $(document);
|
||||
doc.on('click', '.flash', function (e) {
|
||||
var t = $(this);
|
||||
if(t.css('top') == '0px') t.slideUp('slow');
|
||||
else t.fadeOut();
|
||||
});
|
||||
doc.on('keyup', 'input.integer', function () {
|
||||
var nvalue = this.value.reverse().replace(/[^0-9\-]|\-(?=.)/g, '').reverse();
|
||||
if(this.value!=nvalue) this.value = nvalue;
|
||||
});
|
||||
doc.on('keyup', 'input.double, input.decimal', function () {
|
||||
var nvalue = this.value.reverse().replace(/[^0-9\-\.,]|[\-](?=.)|[\.,](?=[0-9]*[\.,])/g, '').reverse();
|
||||
if(this.value!=nvalue) this.value = nvalue;
|
||||
});
|
||||
var confirm_message = (typeof w2p_ajax_confirm_message != 'undefined') ? w2p_ajax_confirm_message : "Are you sure you want to delete this object?";
|
||||
doc.on('click', "input[type='checkbox'].delete", function () {
|
||||
if(this.checked)
|
||||
if(!web2py.confirm(confirm_message)) this.checked = false;
|
||||
});
|
||||
var datetime_format = (typeof w2p_ajax_datetime_format != 'undefined') ? w2p_ajax_datetime_format : "%Y-%m-%d %H:%M:%S";
|
||||
doc.on('click', "input.datetime", function () {
|
||||
var tformat = $(this).data('w2p_datetime_format');
|
||||
var active = $(this).data('w2p_datetime');
|
||||
var format = (typeof tformat != 'undefined') ? tformat : datetime_format;
|
||||
if(active === undefined) {
|
||||
Calendar.setup({
|
||||
inputField: this,
|
||||
ifFormat: format,
|
||||
showsTime: true,
|
||||
timeFormat: "24"
|
||||
});
|
||||
$(this).attr('autocomplete', 'off');
|
||||
$(this).data('w2p_datetime', 1);
|
||||
$(this).trigger('click');
|
||||
}
|
||||
});
|
||||
var date_format = (typeof w2p_ajax_date_format != 'undefined') ? w2p_ajax_date_format : "%Y-%m-%d";
|
||||
doc.on('click', "input.date", function () {
|
||||
var tformat = $(this).data('w2p_date_format');
|
||||
var active = $(this).data('w2p_date');
|
||||
var format = (typeof tformat != 'undefined') ? tformat : date_format;
|
||||
if(active === undefined) {
|
||||
Calendar.setup({
|
||||
inputField: this,
|
||||
ifFormat: format,
|
||||
showsTime: false
|
||||
});
|
||||
$(this).data('w2p_date', 1);
|
||||
$(this).attr('autocomplete', 'off');
|
||||
$(this).trigger('click');
|
||||
}
|
||||
});
|
||||
doc.on('focus', "input.time", function () {
|
||||
var active = $(this).data('w2p_time');
|
||||
if(active === undefined) {
|
||||
$(this).timeEntry({
|
||||
spinnerImage: ''
|
||||
}).attr('autocomplete', 'off');
|
||||
$(this).data('w2p_time', 1);
|
||||
}
|
||||
});
|
||||
/* help preventing double form submission for normal form (not LOADed) */
|
||||
$(doc).on('submit', 'form', function () {
|
||||
var submit_button = $(this).find(web2py.formInputClickSelector);
|
||||
web2py.disableElement(submit_button);
|
||||
});
|
||||
doc.ajaxSuccess(function (e, xhr) {
|
||||
var redirect = xhr.getResponseHeader('web2py-redirect-location');
|
||||
if(redirect !== null) {
|
||||
window.location = redirect;
|
||||
};
|
||||
/* run this here only if this Ajax request is NOT for a web2py component. */
|
||||
if(xhr.getResponseHeader('web2py-component-content') == null) {
|
||||
web2py.after_ajax(xhr);
|
||||
};
|
||||
});
|
||||
|
||||
doc.ajaxError(function (e, xhr, settings, exception) {
|
||||
/*personally I don't like it.
|
||||
*if there's an error it it flashed and can be removed
|
||||
*as any other message
|
||||
*doc.off('click', '.flash')
|
||||
*/
|
||||
switch(xhr.status) {
|
||||
case 500:
|
||||
web2py.flash(ajax_error_500);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
trap_form: function (action, target) {
|
||||
/* traps any LOADed form */
|
||||
$('#' + target + ' form').each(function (i) {
|
||||
var form = $(this);
|
||||
if (form.hasClass('no_trap')) {
|
||||
return;
|
||||
}
|
||||
|
||||
form.attr('data-w2p_target', target);
|
||||
var url = form.attr('action');
|
||||
|
||||
if ((url === "") || (url === "#")) {
|
||||
/* form has no action. Use component url. */
|
||||
url = action;
|
||||
}
|
||||
|
||||
form.submit(function (e) {
|
||||
web2py.disableElement(form.find(web2py.formInputClickSelector));
|
||||
web2py.hide_flash();
|
||||
web2py.ajax_page('post', url, form.serialize(), target, form);
|
||||
e.preventDefault();
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
ajax_page: function (method, action, data, target, element) {
|
||||
/* element is a new parameter, but should be put be put in front */
|
||||
if(element == undefined) element = $(document);
|
||||
/* if target is not there, fill it with something that there isn't in the page*/
|
||||
if(target == undefined || target == '') target = 'w2p_none';
|
||||
if(web2py.fire(element, 'ajax:before', null, target )) { /*test a usecase, should stop here if returns false */
|
||||
$.ajax({
|
||||
'type': method,
|
||||
'url': action,
|
||||
'data': data,
|
||||
'beforeSend': function (xhr, settings) {
|
||||
xhr.setRequestHeader('web2py-component-location', document.location);
|
||||
xhr.setRequestHeader('web2py-component-element', target);
|
||||
return web2py.fire(element, 'ajax:beforeSend', [xhr, settings], target); //test a usecase, should stop here if returns false
|
||||
},
|
||||
'success': function (data, status, xhr) {
|
||||
/*bummer for form submissions....the element is not there after complete
|
||||
*because it gets replaced by the new response....
|
||||
*/
|
||||
web2py.fire(element, 'ajax:success', [data, status, xhr], target);
|
||||
},
|
||||
'error': function (xhr, status, error) {
|
||||
/*bummer for form submissions....in addition to the element being not there after
|
||||
*complete because it gets replaced by the new response, standard form
|
||||
*handling just returns the same status code for good and bad
|
||||
*form submissions (i.e. that triggered a validator error)
|
||||
*/
|
||||
web2py.fire(element, 'ajax:error', [xhr, status, error], target);
|
||||
},
|
||||
'complete': function (xhr, status) {
|
||||
web2py.fire(element, 'ajax:complete', [xhr, status], target);
|
||||
web2py.updatePage(xhr, target); /* Parse and load the html received */
|
||||
web2py.trap_form(action, target);
|
||||
web2py.ajax_init('#' + target);
|
||||
web2py.after_ajax(xhr);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
component: function (action, target, timeout, times, el) {
|
||||
/* element is a new parameter, but should be put in front */
|
||||
$(function () {
|
||||
var jelement = $("#" + target);
|
||||
var element = jelement.get(0);
|
||||
var statement = "jQuery('#" + target + "').get(0).reload();";
|
||||
element.reload = function () {
|
||||
/* Continue if times is Infinity or
|
||||
* the times limit is not reached
|
||||
*/
|
||||
if(element.reload_check()) {
|
||||
web2py.ajax_page('get', action, null, target, el);
|
||||
}
|
||||
};
|
||||
/* Method to check timing limit */
|
||||
element.reload_check = function () {
|
||||
if(jelement.hasClass('w2p_component_stop')) {
|
||||
clearInterval(this.timing);
|
||||
return false;
|
||||
}
|
||||
if(this.reload_counter == Infinity) {
|
||||
return true;
|
||||
} else {
|
||||
if(!isNaN(this.reload_counter)) {
|
||||
this.reload_counter -= 1;
|
||||
if(this.reload_counter < 0) {
|
||||
if(!this.run_once) {
|
||||
clearInterval(this.timing);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
if(!isNaN(timeout)) {
|
||||
element.timeout = timeout;
|
||||
element.reload_counter = times;
|
||||
if(times > 1) {
|
||||
/* Multiple or infinite reload
|
||||
* Run first iteration
|
||||
*/
|
||||
web2py.ajax_page('get', action, null, target, el);
|
||||
element.run_once = false;
|
||||
element.timing = setInterval(statement, timeout);
|
||||
element.reload_counter -= 1;
|
||||
} else if(times == 1) {
|
||||
/* Run once with timeout */
|
||||
element.run_once = true;
|
||||
element.setTimeout = setTimeout;
|
||||
element.timing = setTimeout(statement, timeout);
|
||||
}
|
||||
} else {
|
||||
/* run once (no timeout specified) */
|
||||
element.reload_counter = Infinity;
|
||||
web2py.ajax_page('get', action, null, target, el);
|
||||
}
|
||||
});
|
||||
},
|
||||
updatePage: function (xhr, target) {
|
||||
var t = $('#' + target);
|
||||
var html = $.parseHTML(xhr.responseText, document, true);
|
||||
var title_elements = $(html).filter('title').add($(html).find('title'));
|
||||
var title = title_elements.last().text();
|
||||
if (title) {
|
||||
title_elements.remove(); /* Remove any title elements from the response */
|
||||
document.title = $.trim(title); /* Set the new document title */
|
||||
}
|
||||
var content = xhr.getResponseHeader('web2py-component-content');
|
||||
if(content == 'prepend') t.prepend(xhr.responseText);
|
||||
else if(content == 'append') t.append(xhr.responseText);
|
||||
else if(content != 'hide') t.html(html);
|
||||
},
|
||||
calc_entropy: function (mystring) {
|
||||
/* calculate a simple entropy for a given string */
|
||||
var csets = new Array(
|
||||
'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
|
||||
'0123456789', '!@#$\%^&*()', '~`-_=+[]{}\|;:\'",.<>?/',
|
||||
'0123456789abcdefghijklmnopqrstuvwxyz');
|
||||
var score = 0,
|
||||
other = {}, seen = {}, lastset = null,
|
||||
mystringlist = mystring.split('');
|
||||
for(var i = 0; i < mystringlist.length; i++) { /* classify this character */
|
||||
var c = mystringlist[i],
|
||||
inset = 5;
|
||||
for(var j = 0; j < csets.length; j++)
|
||||
if(csets[j].indexOf(c) != -1) {
|
||||
inset = j;
|
||||
break;
|
||||
}
|
||||
/*calculate effect of character on alphabet size */
|
||||
if(!(inset in seen)) {
|
||||
seen[inset] = 1;
|
||||
score += csets[inset].length;
|
||||
} else if(!(c in other)) {
|
||||
score += 1;
|
||||
other[c] = 1;
|
||||
}
|
||||
if(inset != lastset) {
|
||||
score += 1;
|
||||
lastset = inset;
|
||||
}
|
||||
}
|
||||
var entropy = mystring.length * Math.log(score) / 0.6931471805599453;
|
||||
return Math.round(entropy * 100) / 100
|
||||
},
|
||||
validate_entropy: function (myfield, req_entropy) {
|
||||
if(myfield.data('w2p_entropy') != undefined) req_entropy = myfield.data('w2p_entropy');
|
||||
var validator = function () {
|
||||
var v = (web2py.calc_entropy(myfield.val()) || 0) / req_entropy;
|
||||
var r = 0,
|
||||
g = 0,
|
||||
b = 0,
|
||||
rs = function (x) {
|
||||
return Math.round(x * 15).toString(16)
|
||||
};
|
||||
if(v <= 0.5) {
|
||||
r = 1.0;
|
||||
g = 2.0 * v;
|
||||
} else {
|
||||
r = (1.0 - 2.0 * (Math.max(v, 0) - 0.5));
|
||||
g = 1.0;
|
||||
}
|
||||
var color = '#' + rs(r) + rs(g) + rs(b);
|
||||
myfield.css('background-color', color);
|
||||
entropy_callback = myfield.data('entropy_callback');
|
||||
if(entropy_callback) entropy_callback(v);
|
||||
}
|
||||
if(!myfield.hasClass('entropy_check')) myfield.on('keyup', validator).on('keydown', validator).addClass('entropy_check');
|
||||
},
|
||||
web2py_websocket: function (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 */
|
||||
},
|
||||
/* new from here */
|
||||
/* Form input elements bound by web2py.js */
|
||||
formInputClickSelector: 'input[type=submit]:not([name]), input[type=image]:not([name]), button[type=submit]:not([name]), button:not([type]):not([name])',
|
||||
/* Form input elements disabled during form submission */
|
||||
disableSelector: 'input, button, textarea, select',
|
||||
/* Form input elements re-enabled after form submission */
|
||||
enableSelector: 'input:disabled, button:disabled, textarea:disabled, select:disabled',
|
||||
/* Triggers an event on an element and returns false if the event result is false */
|
||||
fire: function (obj, type, data, target) {
|
||||
var event = $.Event(type, {'containerTarget': $('#' + target)[0]});
|
||||
obj.trigger(event, data);
|
||||
return event.result !== false;
|
||||
},
|
||||
/* Helper function, needed to provide consistent behavior in IE */
|
||||
stopEverything: function (e) {
|
||||
$(e.target).trigger('w2p:everythingStopped');
|
||||
e.stopImmediatePropagation();
|
||||
return false;
|
||||
},
|
||||
confirm: function (message) {
|
||||
return confirm(message);
|
||||
},
|
||||
/* replace element's html with the 'data-disable-with' after storing original html
|
||||
* and prevent clicking on it */
|
||||
disableElement: function (el) {
|
||||
el.addClass('disabled');
|
||||
var method = el.prop('type') == 'submit' ? 'val' : 'html';
|
||||
var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working...";
|
||||
/*store enabled state if not already disabled */
|
||||
if (el.data('w2p:enable-with') === undefined) {
|
||||
el.data('w2p:enable-with', el[method]());
|
||||
}
|
||||
/*if you don't want to see "working..." on buttons, replace the following
|
||||
* two lines with this one
|
||||
* el.data('w2p_disable_with', el[method]());
|
||||
*/
|
||||
if((el.data('w2p_disable_with') == 'default') || (el.data('w2p_disable_with') === undefined)) {
|
||||
el.data('w2p_disable_with', disable_with_message);
|
||||
}
|
||||
|
||||
/* set to disabled state*/
|
||||
el[method](el.data('w2p_disable_with'));
|
||||
|
||||
el.bind('click.w2pDisable', function (e) { /* prevent further clicking*/
|
||||
return web2py.stopEverything(e);
|
||||
});
|
||||
},
|
||||
|
||||
/* restore element to its original state which was disabled by 'disableElement' above*/
|
||||
enableElement: function (el) {
|
||||
var method = el.prop('type') == 'submit' ? 'val' : 'html';
|
||||
if(el.data('w2p:enable-with') !== undefined) {
|
||||
/* set to old enabled state */
|
||||
el[method](el.data('w2p:enable-with'));
|
||||
el.removeData('w2p:enable-with');
|
||||
}
|
||||
el.removeClass('disabled');
|
||||
el.unbind('click.w2pDisable');
|
||||
},
|
||||
/*convenience wrapper, internal use only */
|
||||
simple_component: function (action, target, element) {
|
||||
web2py.component(action, target, 0, 1, element);
|
||||
},
|
||||
/*helper for flash messages*/
|
||||
flash: function (message, status) {
|
||||
var flash = $('.flash');
|
||||
web2py.hide_flash();
|
||||
flash.html(message).addClass(status);
|
||||
if(flash.html()) flash.append('<span id="closeflash"> × </span>').slideDown();
|
||||
},
|
||||
hide_flash: function () {
|
||||
$('.flash').fadeOut(0).html('');
|
||||
},
|
||||
show_if_handler: function (target) {
|
||||
var triggers = {};
|
||||
var show_if = function () {
|
||||
var t = $(this);
|
||||
var id = t.attr('id');
|
||||
t.attr('value', t.val());
|
||||
for(var k = 0; k < triggers[id].length; k++) {
|
||||
var dep = $('#' + triggers[id][k], target);
|
||||
var tr = $('#' + triggers[id][k] + '__row', target);
|
||||
if(t.is(dep.attr('data-show-if'))) tr.slideDown();
|
||||
else tr.hide();
|
||||
}
|
||||
};
|
||||
$('[data-show-trigger]', target).each(function () {
|
||||
var name = $(this).attr('data-show-trigger');
|
||||
if(!triggers[name]) triggers[name] = [];
|
||||
triggers[name].push($(this).attr('id'));
|
||||
});
|
||||
for(var name in triggers) {
|
||||
$('#' + name, target).change(show_if).keyup(show_if);
|
||||
show_if.call($('#' + name, target));
|
||||
};
|
||||
},
|
||||
component_handler: function (target) {
|
||||
$('div[data-w2p_remote]', target).each(function () {
|
||||
var remote, times, timeout, target;
|
||||
var el = $(this);
|
||||
remote = el.data('w2p_remote');
|
||||
times = el.data('w2p_times');
|
||||
timeout = el.data('w2p_timeout');
|
||||
target = el.attr('id');
|
||||
web2py.component(remote, target, timeout, times, $(this));
|
||||
})
|
||||
},
|
||||
a_handler: function (el, e) {
|
||||
e.preventDefault();
|
||||
var method = el.data('w2p_method');
|
||||
var action = el.attr('href');
|
||||
var target = el.data('w2p_target');
|
||||
var confirm_message = el.data('w2p_confirm');
|
||||
|
||||
var pre_call = el.data('w2p_pre_call');
|
||||
if(pre_call != undefined) {
|
||||
eval(pre_call);
|
||||
}
|
||||
if(confirm_message != undefined) {
|
||||
if(confirm_message == 'default') confirm_message = w2p_ajax_confirm_message || 'Are you sure you want to delete this object?';
|
||||
if(!web2py.confirm(confirm_message)) {
|
||||
web2py.stopEverything(e);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(target == undefined) {
|
||||
if(method == 'GET') {
|
||||
web2py.ajax_page('get', action, [], '', el);
|
||||
} else if(method == 'POST') {
|
||||
web2py.ajax_page('post', action, [], '', el);
|
||||
}
|
||||
} else {
|
||||
if(method == 'GET') {
|
||||
web2py.ajax_page('get', action, [], target, el);
|
||||
} else if(method == 'POST') {
|
||||
web2py.ajax_page('post', action, [], target, el);
|
||||
}
|
||||
}
|
||||
},
|
||||
a_handlers: function () {
|
||||
var el = $(document);
|
||||
el.on('click', 'a[data-w2p_method]', function (e) {
|
||||
web2py.a_handler($(this), e);
|
||||
});
|
||||
/* removal of element should happen only on success */
|
||||
el.on('ajax:success', 'a[data-w2p_method][data-w2p_remove]', function (e) {
|
||||
var el = $(this);
|
||||
var toremove = el.data('w2p_remove');
|
||||
if(toremove != undefined) {
|
||||
toremove = el.closest(toremove);
|
||||
if(!toremove.length) {
|
||||
/*this enables removal of whatever selector if a closest is not found */
|
||||
toremove = $(toremove);
|
||||
}
|
||||
toremove.remove();
|
||||
}
|
||||
});
|
||||
el.on('ajax:beforeSend', 'a[data-w2p_method][data-w2p_disable_with]', function (e) {
|
||||
web2py.disableElement($(this));
|
||||
});
|
||||
/*re-enable click on completion*/
|
||||
el.on('ajax:complete', 'a[data-w2p_method][data-w2p_disable_with]', function (e) {
|
||||
web2py.enableElement($(this));
|
||||
});
|
||||
},
|
||||
/* Disables form elements:
|
||||
- Caches element value in 'ujs:enable-with' data store
|
||||
- Replaces element text with value of 'data-disable-with' attribute
|
||||
- Sets disabled property to true
|
||||
*/
|
||||
disableFormElements: function (form) {
|
||||
form.find(web2py.disableSelector).each(function () {
|
||||
var element = $(this),
|
||||
method = element.is('button') ? 'html' : 'val';
|
||||
var disable_with = element.data('w2p_disable_with');
|
||||
if(disable_with == undefined) {
|
||||
element.data('w2p_disable_with', element[method]())
|
||||
}
|
||||
if (element.data('w2p:enable-with') === undefined) {
|
||||
element.data('w2p:enable-with', element[method]());
|
||||
}
|
||||
element[method](element.data('w2p_disable_with'));
|
||||
element.prop('disabled', true);
|
||||
});
|
||||
},
|
||||
|
||||
/* Re-enables disabled form elements:
|
||||
- Replaces element text with cached value from 'ujs:enable-with' data store (created in `disableFormElements`)
|
||||
- Sets disabled property to false
|
||||
*/
|
||||
enableFormElements: function (form) {
|
||||
form.find(web2py.enableSelector).each(function () {
|
||||
var element = $(this),
|
||||
method = element.is('button') ? 'html' : 'val';
|
||||
if(element.data('w2p:enable-with')) {
|
||||
element[method](element.data('w2p:enable-with'));
|
||||
element.removeData('w2p:enable-with');
|
||||
}
|
||||
element.prop('disabled', false);
|
||||
});
|
||||
},
|
||||
form_handlers: function () {
|
||||
var el = $(document);
|
||||
el.on('ajax:beforeSend', 'form[data-w2p_target]', function (e) {
|
||||
web2py.disableFormElements($(this));
|
||||
});
|
||||
el.on('ajax:complete', 'form[data-w2p_target]', function (e) {
|
||||
web2py.enableFormElements($(this));
|
||||
});
|
||||
},
|
||||
/* Invalidate and force reload of a web2py component
|
||||
*/
|
||||
invalidate: function(target) {
|
||||
$('div[data-w2p_remote]', target).each(function () {
|
||||
var el = $('#' + $(this).attr('id')).get(0);
|
||||
if (el.timing !== undefined) { // Block triggering regular routines
|
||||
clearInterval(el.timing);
|
||||
}
|
||||
});
|
||||
$.web2py.component_handler(target);
|
||||
},
|
||||
}
|
||||
|
||||
/*end of functions */
|
||||
/*main hook*/
|
||||
$(function () {
|
||||
var flash = $('.flash');
|
||||
flash.hide();
|
||||
if(flash.html()) web2py.flash(flash.html());
|
||||
web2py.ajax_init(document);
|
||||
web2py.event_handlers();
|
||||
web2py.a_handlers();
|
||||
web2py.form_handlers();
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
||||
/* compatibility code - start */
|
||||
ajax = jQuery.web2py.ajax;
|
||||
web2py_component = jQuery.web2py.component;
|
||||
web2py_websocket = jQuery.web2py.web2py_websocket;
|
||||
web2py_ajax_page = jQuery.web2py.ajax_page;
|
||||
/*needed for IS_STRONG(entropy)*/
|
||||
web2py_validate_entropy = jQuery.web2py.validate_entropy;
|
||||
/*needed for crud.search and SQLFORM.grid's search*/
|
||||
web2py_ajax_fields = jQuery.web2py.ajax_fields;
|
||||
/*used for LOAD(ajax=False)*/
|
||||
web2py_trap_form = jQuery.web2py.trap_form;
|
||||
|
||||
/*undocumented - rare*/
|
||||
popup = jQuery.web2py.popup;
|
||||
collapse = jQuery.web2py.collapse;
|
||||
fade = jQuery.web2py.fade;
|
||||
|
||||
/* internals - shouldn't be needed
|
||||
web2py_ajax_init = jQuery.web2py.ajax_init;
|
||||
web2py_event_handlers = jQuery.web2py.event_handlers;
|
||||
web2py_trap_link = jQuery.web2py.trap_link;
|
||||
web2py_calc_entropy = jQuery.web2py.calc_entropy;
|
||||
*/
|
||||
/* compatibility code - end*/
|
||||
|
||||
1
applications/welcome3/views/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
268
applications/welcome3/views/appadmin.html
Normal file
@@ -0,0 +1,268 @@
|
||||
{{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':}}
|
||||
<h2>{{=T("Available Databases and Tables")}}</h2>
|
||||
{{if not databases:}}{{=T("No databases in this application")}}{{pass}}
|
||||
<table>
|
||||
{{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}}
|
||||
<tr>
|
||||
<th style="font-size: 1.75em;">
|
||||
{{=A("%s.%s" % (db,table),_href=URL('select',args=[db],vars=dict(query=qry)))}}
|
||||
</th>
|
||||
<td>
|
||||
{{=A(str(T('New Record')),_href=URL('insert',args=[db,table]),_class="btn")}}
|
||||
</td>
|
||||
</tr>
|
||||
{{pass}}
|
||||
{{pass}}
|
||||
</table>
|
||||
|
||||
{{elif request.function=='select':}}
|
||||
<h2>{{=XML(str(T("Database %s select"))%A(request.args[0],_href=URL('index'))) }}
|
||||
</h2>
|
||||
{{if tb:}}
|
||||
<h3>{{=T('Traceback')}}</h3>
|
||||
<pre>
|
||||
{{=tb}}
|
||||
</pre>
|
||||
{{pass}}
|
||||
{{if table:}}
|
||||
{{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn")}}<br/><br/>
|
||||
<h3>{{=T("Rows in Table")}}</h3><br/>
|
||||
{{else:}}
|
||||
<h3>{{=T("Rows selected")}}</h3><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/>
|
||||
<h4>{{=T("%s selected", nrows)}}</h4>
|
||||
{{if start>0:}}{{=A(T('previous %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start-step)),_class="btn")}}{{pass}}
|
||||
{{if stop<nrows:}}{{=A(T('next %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start+step)),_class="btn")}}{{pass}}
|
||||
{{if rows:}}
|
||||
<div style="overflow: auto;" width="80%">
|
||||
{{linkto = lambda f, t, r: URL('update', args=[request.args[0], r, f]) if f else "#"}}
|
||||
{{upload=URL('download',args=request.args[0])}}
|
||||
{{=SQLTABLE(rows,linkto,upload,orderby=True,_class='sortable')}}
|
||||
</div>
|
||||
{{pass}}
|
||||
<br/><br/><h3>{{=T("Import/Export")}}</h3><br/>
|
||||
<a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}" class="btn">{{=T("export as csv file")}}</a>
|
||||
{{=formcsv or ''}}
|
||||
|
||||
{{elif request.function=='insert':}}
|
||||
<h2>{{=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}}
|
||||
</h2>
|
||||
<h3>{{=T("New Record")}}</h3><br/>
|
||||
{{=form}}
|
||||
{{elif request.function=='update':}}
|
||||
<h2>{{=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}}
|
||||
</h2>
|
||||
<h3>{{=T("Edit current record")}}</h3><br/><br/>{{=form}}
|
||||
|
||||
{{elif request.function=='state':}}
|
||||
<h2>{{=T("Internal State")}}</h2>
|
||||
<h3>{{=T("Current request")}}</h3>
|
||||
{{=BEAUTIFY(request)}}
|
||||
<br/><h3>{{=T("Current response")}}</h3>
|
||||
{{=BEAUTIFY(response)}}
|
||||
<br/><h3>{{=T("Current session")}}</h3>
|
||||
{{=BEAUTIFY(session)}}
|
||||
|
||||
|
||||
{{elif request.function == 'ccache':}}
|
||||
<h2>{{T("Cache")}}</h2>
|
||||
<div class="list">
|
||||
|
||||
<div class="list-header">
|
||||
<h3>{{T("Statistics")}}</h3>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<h4>{{=T("Overview")}}</h4>
|
||||
<p>{{=T.M("Number of entries: **%s**", total['entries'])}}</p>
|
||||
{{if total['entries'] > 0:}}
|
||||
<p>{{=T.M("Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses})",
|
||||
dict(ratio=total['ratio'], hits=total['hits'], misses=total['misses']))}}
|
||||
</p>
|
||||
<p>
|
||||
{{=T("Size of cache:")}}
|
||||
{{if object_stats:}}
|
||||
{{=T.M("**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}", dict(items=total['objects'], bytes=total['bytes']))}}
|
||||
{{if total['bytes'] > 524287:}}
|
||||
{{=T.M("(**%.0d MB**)", total['bytes'] / 1048576)}}
|
||||
{{pass}}
|
||||
{{else:}}
|
||||
{{=T.M("**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}}
|
||||
{{pass}}
|
||||
</p>
|
||||
<p>
|
||||
{{=T.M("Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.",
|
||||
dict(hours=total['oldest'][0], min=total['oldest'][1], sec=total['oldest'][2]))}}
|
||||
</p>
|
||||
{{=BUTTON(T('Cache Keys'), _onclick='jQuery("#all_keys").toggle();')}}
|
||||
<div class="hidden" id="all_keys">
|
||||
{{=total['keys']}}
|
||||
</div>
|
||||
<br />
|
||||
{{pass}}
|
||||
|
||||
<h4>{{=T("RAM")}}</h4>
|
||||
<p>{{=T.M("Number of entries: **%s**", ram['entries'])}}</p>
|
||||
{{if ram['entries'] > 0:}}
|
||||
<p>{{=T.M("Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})",
|
||||
dict( ratio=ram['ratio'], hits=ram['hits'], misses=ram['misses']))}}
|
||||
</p>
|
||||
<p>
|
||||
{{=T("Size of cache:")}}
|
||||
{{if object_stats:}}
|
||||
{{=T.M("**%(items)s** items, **%(bytes)s** %%{byte(bytes)}", dict(items=ram['objects'], bytes=ram['bytes']))}}
|
||||
{{if ram['bytes'] > 524287:}}
|
||||
{{=T.M("(**%.0d MB**)", ram['bytes'] / 10485576)}}
|
||||
{{pass}}
|
||||
{{else:}}
|
||||
{{=T.M("``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}}
|
||||
{{pass}}
|
||||
</p>
|
||||
<p>
|
||||
{{=T.M("RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.",
|
||||
dict(hours=ram['oldest'][0], min=ram['oldest'][1], sec=ram['oldest'][2]))}}
|
||||
</p>
|
||||
{{=BUTTON(T('RAM Cache Keys'), _onclick='jQuery("#ram_keys").toggle();')}}
|
||||
<div class="hidden" id="ram_keys">
|
||||
{{=ram['keys']}}
|
||||
</div>
|
||||
<br />
|
||||
{{pass}}
|
||||
|
||||
<h4>{{=T("DISK")}}</h4>
|
||||
<p>{{=T.M("Number of entries: **%s**", disk['entries'])}}</p>
|
||||
{{if disk['entries'] > 0:}}
|
||||
<p>
|
||||
{{=T.M("Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})",
|
||||
dict(ratio=disk['ratio'], hits=disk['hits'], misses=disk['misses']))}}
|
||||
</p>
|
||||
<p>
|
||||
{{=T("Size of cache:")}}
|
||||
{{if object_stats:}}
|
||||
{{=T.M("**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}", dict( items=disk['objects'], bytes=disk['bytes']))}}
|
||||
{{if disk['bytes'] > 524287:}}
|
||||
{{=T.M("(**%.0d MB**)", disk['bytes'] / 1048576)}}
|
||||
{{pass}}
|
||||
{{else:}}
|
||||
{{=T.M("``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}}
|
||||
{{pass}}
|
||||
</p>
|
||||
<p>
|
||||
{{=T.M("DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.",
|
||||
dict(hours=disk['oldest'][0], min=disk['oldest'][1], sec=disk['oldest'][2]))}}
|
||||
</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">
|
||||
<h3>{{=T("Manage Cache")}}</h3>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<p>
|
||||
{{=form}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
{{pass}}
|
||||
|
||||
{{if request.function=='graph_model':}}
|
||||
<h2>{{=T("Graph Model")}}</h2>
|
||||
{{if not pgv:}}
|
||||
{{=T('pygraphviz library not found')}}
|
||||
{{elif not databases:}}
|
||||
{{=T("No databases in this application")}}
|
||||
{{else:}}
|
||||
<div class="btn-group">
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<i class="icon-download"></i> {{=T('Save model as...')}}
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['png'])}}">png</a></li>
|
||||
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['svg'])}}">svg</a></li>
|
||||
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['pdf'])}}">pdf</a></li>
|
||||
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['ps'])}}">ps</a></li>
|
||||
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['dot'])}}">dot</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br />
|
||||
{{=IMG(_src=URL('appadmin', 'bg_graph_model'))}}
|
||||
{{pass}}
|
||||
{{pass}}
|
||||
|
||||
{{if request.function == 'manage':}}
|
||||
<h2>{{=heading}}</h2>
|
||||
<ul class="nav nav-tabs">
|
||||
{{for k, tablename in enumerate(tablenames):}}
|
||||
<li{{=XML(' class="active"') if k == 0 else ''}}>
|
||||
<a href="#table-{{=tablename}}" data-toggle="tab">{{=labels[k]}}</a>
|
||||
</li>
|
||||
{{pass}}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
{{for k, tablename in enumerate(tablenames):}}
|
||||
<div class="tab-pane{{=XML(' active') if k == 0 else ''}}" id="table-{{=tablename}}">
|
||||
{{=LOAD(f='manage.load', args=[request.args(0), k], ajax=True)}}
|
||||
</div>
|
||||
{{pass}}
|
||||
</div>
|
||||
{{pass}}
|
||||
50
applications/welcome3/views/default/index.html
Normal file
@@ -0,0 +1,50 @@
|
||||
{{left_sidebar_enabled,right_sidebar_enabled=False,('message' in globals())}}
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
{{block head}}
|
||||
<style>
|
||||
#w2padmin-btn {margin:30px 0 30px 0;}
|
||||
</style>
|
||||
{{end head}}
|
||||
|
||||
{{if 'message' in globals():}}
|
||||
<h2>{{=message}}</h2>
|
||||
<p class="lead">{{=T('How did you get here?')}}</p>
|
||||
<ol>
|
||||
<li>{{=T('You are successfully running web2py')}}</li>
|
||||
<li>{{=XML(T('You visited the url %s', A(request.env.path_info,_href=request.env.path_info)))}}</li>
|
||||
<li>{{=XML(T('Which called the function %s located in the file %s',
|
||||
(A(request.function+'()',_href='#'),
|
||||
A('web2py/applications/%(application)s/controllers/%(controller)s.py'%request,
|
||||
_href=URL('admin','default','peek', args=(request.application,'controllers',request.controller+'.py'))))))}}</li>
|
||||
<li>{{=XML(T('The output of the file is a dictionary that was rendered by the view %s',
|
||||
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>
|
||||
</ol>
|
||||
{{elif 'content' in globals():}}
|
||||
{{=content}}
|
||||
{{else:}}
|
||||
{{=BEAUTIFY(response._vars)}}
|
||||
{{pass}}
|
||||
|
||||
{{block right_sidebar}}
|
||||
<button id="w2padmin-btn" class="btn btn-primary btn-lg btn-block">
|
||||
<i class="glyphicon glyphicon-cog"></i> {{=T("Administrative Interface")}}</button>
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">{{=T("Don't know what to do?")}}</div>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">{{=A(T("Online examples"), _href=URL('examples','default','index'))}}</li>
|
||||
<li class="list-group-item"><a href="http://web2py.com">web2py.com</a></li>
|
||||
<li class="list-group-item"><a href="http://web2py.com/book">{{=T('Documentation')}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{block page_js}}
|
||||
<script>
|
||||
$('#w2padmin-btn').click(function() {
|
||||
window.location = "{{=URL('admin','default','index')}}";
|
||||
});
|
||||
</script>
|
||||
{{end}}
|
||||
36
applications/welcome3/views/default/user.html
Normal file
@@ -0,0 +1,36 @@
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
<h2>
|
||||
{{=T('Sign Up') if request.args(0) == 'register' else T('Log In') if request.args(0) == 'login' else T(request.args(0).replace('_',' ').title())}}
|
||||
</h2>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div id="web2py_user_form" class="col-lg-6">
|
||||
{{
|
||||
if request.args(0)=='login':
|
||||
if not 'register' in auth.settings.actions_disabled:
|
||||
form.add_button(T('Sign Up'),URL(args='register', vars={'_next': request.vars._next} if request.vars._next else None),_class='btn btn-default')
|
||||
pass
|
||||
if not 'request_reset_password' in auth.settings.actions_disabled:
|
||||
form.add_button(T('Lost Password'),URL(args='request_reset_password'),_class='btn btn-default')
|
||||
pass
|
||||
pass
|
||||
=form
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{block page_js}}
|
||||
<script>
|
||||
jQuery("#web2py_user_form input:visible:enabled:first").focus();
|
||||
{{if request.args(0)=='register':}}
|
||||
web2py_validate_entropy(jQuery('#auth_user_password'),100);
|
||||
{{elif request.args(0)=='change_password':}}
|
||||
web2py_validate_entropy(jQuery('#no_table_new_password'),100);
|
||||
{{pass}}
|
||||
</script>
|
||||
{{end page_js}}
|
||||
|
||||
16
applications/welcome3/views/generic.html
Normal file
@@ -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:}}
|
||||
{{=BEAUTIFY(response._vars.values()[0])}}
|
||||
{{elif len(response._vars)>1:}}
|
||||
{{=BEAUTIFY(response._vars)}}
|
||||
{{pass}}
|
||||
{{if request.is_local:}}
|
||||
{{=response.toolbar()}}
|
||||
{{pass}}
|
||||
17
applications/welcome3/views/generic.ics
Normal file
@@ -0,0 +1,17 @@
|
||||
{{
|
||||
###
|
||||
# response._vars contains the dictionary returned by the controller action
|
||||
# Assuming something like:
|
||||
#
|
||||
# db.define_table('event',
|
||||
# Field('title'),
|
||||
# Field('start_datetime','datetime'),
|
||||
# Field('stop_datetime','datetime'))
|
||||
# events = db(db.event).select()
|
||||
#
|
||||
# Aor this to work the action must return something like
|
||||
#
|
||||
# dict(events=events, title='title',link=URL('action'),timeshift=0)
|
||||
#
|
||||
###
|
||||
from gluon.serializers import ics}}{{=XML(ics(**response._vars))}}
|
||||
1
applications/welcome3/views/generic.json
Normal file
@@ -0,0 +1 @@
|
||||
{{from gluon.serializers import json}}{{=XML(json(response._vars))}}
|
||||
23
applications/welcome3/views/generic.jsonp
Normal file
@@ -0,0 +1,23 @@
|
||||
{{
|
||||
###
|
||||
# response._vars contains the dictionary returned by the controller action
|
||||
###
|
||||
|
||||
# security check! This file is an example for a jsonp view.
|
||||
# it is not safe to use as a generic.jsonp because of security implications.
|
||||
|
||||
if response.view == 'generic.jsonp':
|
||||
raise HTTP(501,'generic.jsonp diasbled for security reasons')
|
||||
|
||||
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')
|
||||
}}
|
||||
30
applications/welcome3/views/generic.load
Normal file
@@ -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}}
|
||||
69
applications/welcome3/views/generic.map
Normal file
@@ -0,0 +1,69 @@
|
||||
{{"""
|
||||
this is an example of usage of google map
|
||||
the web2py action should be something like:
|
||||
|
||||
def map():
|
||||
return dict(
|
||||
googlemap_key='...',
|
||||
center_latitude = 41.878,
|
||||
center_longitude = -87.629,
|
||||
scale = 7,
|
||||
maker = lambda point: A(row.id,_href='...')
|
||||
points = db(db.point).select() where a points have latitute and longitude
|
||||
)
|
||||
|
||||
the corresponding views/defaut/map.html should be something like:
|
||||
|
||||
\{\{extend 'layout.html'\}\}
|
||||
<center>\{\{include 'generic.map'\}\}</center>
|
||||
|
||||
"""}}
|
||||
<script src="http://maps.google.com/maps?file=api&v=2&key={{=googlemap_key}}" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function load() {
|
||||
if (GBrowserIsCompatible()) {
|
||||
var map = new GMap2(document.getElementById("map"));
|
||||
map.addControl(new GSmallMapControl());
|
||||
map.addControl(new GMapTypeControl());
|
||||
map.setCenter(new GLatLng({{=center_latitude}},
|
||||
{{=center_longitude}}), {{=scale}});
|
||||
// Create a base icon for all of our markers that specifies the
|
||||
// shadow, icon dimensions, etc.
|
||||
var baseIcon = new GIcon();
|
||||
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
|
||||
baseIcon.iconSize = new GSize(20, 34);
|
||||
baseIcon.shadowSize = new GSize(37, 34);
|
||||
baseIcon.iconAnchor = new GPoint(9, 34);
|
||||
baseIcon.infoWindowAnchor = new GPoint(9, 2);
|
||||
baseIcon.infoShadowAnchor = new GPoint(18, 14);
|
||||
var blueIcon = new GIcon();
|
||||
blueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
|
||||
blueIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
|
||||
blueIcon.iconSize = new GSize(37, 34);
|
||||
blueIcon.shadowSize = new GSize(37, 34);
|
||||
blueIcon.iconAnchor = new GPoint(9, 34);
|
||||
blueIcon.infoWindowAnchor = new GPoint(9, 2);
|
||||
blueIcon.infoShadowAnchor = new GPoint(18, 14);
|
||||
|
||||
function createMarker(point, i, message) {
|
||||
// Set up our GMarkerOptions object
|
||||
if(i==0) markerOptions = { icon:blueIcon };
|
||||
else markerOptions= {}
|
||||
var marker = new GMarker(point, markerOptions);
|
||||
GEvent.addListener(marker, "click", function() {
|
||||
marker.openInfoWindowHtml(message);
|
||||
});
|
||||
return marker;
|
||||
}
|
||||
{{for point in points:}}{{if point.latitude and point.longitude:}}
|
||||
var point = new GLatLng({{=point.latitude}},{{=point.longitude}});
|
||||
map.addOverlay(createMarker(point, 0,
|
||||
'{{=point.get('map_marker',maker(point))}}'));
|
||||
{{pass}}{{pass}}
|
||||
}
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
<div id="map" style="width: 800px; height: 500px"></div>
|
||||
<script>load();</script>
|
||||
11
applications/welcome3/views/generic.pdf
Normal file
@@ -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)
|
||||
}}
|
||||
10
applications/welcome3/views/generic.rss
Normal file
@@ -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))}}
|
||||
1
applications/welcome3/views/generic.xml
Normal file
@@ -0,0 +1 @@
|
||||
{{from gluon.serializers import xml}}{{=XML(xml(response._vars,quote=False))}}
|
||||
143
applications/welcome3/views/layout.html
Normal file
@@ -0,0 +1,143 @@
|
||||
<!--[if HTML5]><![endif]-->
|
||||
<!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 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge{{=not request.is_local and ',chrome=1' or ''}}">
|
||||
<!-- 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">
|
||||
<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="">
|
||||
<!-- include stylesheets -->
|
||||
{{
|
||||
response.files.insert(0,URL('static','css/web2py.css'))
|
||||
response.files.insert(1,URL('static','css/bootstrap.min.css'))
|
||||
response.files.insert(4,URL('static','css/web2py-bootstrap3.css'))
|
||||
}}
|
||||
<!-- All JavaScript at the bottom, except for Modernizr which enables
|
||||
HTML5 elements & feature detects -->
|
||||
<script src="{{=URL('static','js/modernizr.custom.js')}}"></script>
|
||||
<!-- Favicons -->
|
||||
<link rel="shortcut icon" href="{{=URL('static','images/favicon.ico')}}" type="image/x-icon">
|
||||
<link rel="apple-touch-icon" href="{{=URL('static','images/favicon.png')}}">
|
||||
{{include 'web2py_ajax.html'}}
|
||||
{{block head}}{{end}}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="{{=URL('static','js/respond.min.js')}}"></script>
|
||||
<![endif]-->
|
||||
{{
|
||||
# using sidebars need to know what sidebar you want to use
|
||||
mc0 = 'col-md-12'
|
||||
mc1 = 'col-md-9'
|
||||
mc2 = 'col-md-6'
|
||||
left_sidebar_enabled = globals().get('left_sidebar_enabled', False)
|
||||
right_sidebar_enabled = globals().get('right_sidebar_enabled', False)
|
||||
middle_column = {0: mc0, 1: mc1, 2: mc2}[
|
||||
(left_sidebar_enabled and 1 or 0)+(right_sidebar_enabled and 1 or 0)]
|
||||
}}
|
||||
</head>
|
||||
<body>
|
||||
<div class="flash alert centered alert-dismissable">{{=response.flash or ''}}</div>
|
||||
<!-- Navbar =================================================================== -->
|
||||
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
{{=response.logo or ''}}
|
||||
</div>
|
||||
<div class="collapse navbar-collapse navbar-ex1-collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
{{='auth' in globals() and auth.navbar('Welcome',mode='dropdown') or ''}}
|
||||
</ul>
|
||||
{{if response.menu:}}
|
||||
{{=MENU(response.menu, _class='nav navbar-nav',li_class='dropdown',ul_class='dropdown-menu')}}
|
||||
{{pass}}
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- Masthead ================================================================= -->
|
||||
<header class="container">
|
||||
<div class="page-header">
|
||||
{{if response.title:}}
|
||||
<h1>{{=response.title}}
|
||||
<small>{{=response.subtitle or ''}}</small></h1>
|
||||
{{pass}}
|
||||
</div>
|
||||
</header>
|
||||
<!-- Main ===================================================================== -->
|
||||
<main class="container" id="content" role="main">
|
||||
<div class="row">
|
||||
{{if left_sidebar_enabled:}}
|
||||
<!-- left sidebar ---------------------------------------------------------- -->
|
||||
<div class="col-md-3">
|
||||
{{block left_sidebar}}
|
||||
{{end left_sidebar}}
|
||||
</div>
|
||||
{{pass}}
|
||||
<!-- central column -------------------------------------------------------- -->
|
||||
<div class="{{=middle_column}}">
|
||||
{{block center_page}}
|
||||
{{include}}
|
||||
{{end center_page}}
|
||||
</div>
|
||||
{{if right_sidebar_enabled:}}
|
||||
<!-- right sidebar --------------------------------------------------------- -->
|
||||
<div class="col-md-3">
|
||||
{{block right_sidebar}}
|
||||
{{end right_sidebar}}
|
||||
</div>
|
||||
{{pass}}
|
||||
</div>
|
||||
</main>
|
||||
<!-- Footer =================================================================== -->
|
||||
<footer id="footer" class="container">
|
||||
<div class="row">
|
||||
{{block footer}}
|
||||
<div class="col-xs-6">
|
||||
<p>{{=T('Copyright')}} © {{=request.now.year}}</p>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<p class="pull-right">{{=T('Powered by')}} <a href="http://www.web2py.com/">web2py</a></p>
|
||||
</div>
|
||||
{{end footer}}
|
||||
</div>
|
||||
</footer>
|
||||
<!-- The javascript =========================================================== -->
|
||||
<script src="{{=URL('static','js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{=URL('static','js/web2py-bootstrap3.js')}}"></script>
|
||||
{{block page_js}}{{end page_js}}
|
||||
{{if response.google_analytics_id:}}
|
||||
<!-- Analytics ================================================================ -->
|
||||
<script src="{{=URL('static','js/analytics.min.js')}}"></script>
|
||||
<script type="text/javascript">
|
||||
analytics.initialize({
|
||||
'Google Analytics':{trackingId:'{{=response.google_analytics_id}}'}
|
||||
});
|
||||
</script>
|
||||
{{pass}}
|
||||
<!-- Share ==================================================================== -->
|
||||
<script src="{{=URL('static','js/share.js',vars=dict(static=URL('static','images')))}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
16
applications/welcome3/views/web2py_ajax.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<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_disable_with_message = "{{=T('Working...')}}";
|
||||
var w2p_ajax_date_format = "{{=T('%Y-%m-%d')}}";
|
||||
var w2p_ajax_datetime_format = "{{=T('%Y-%m-%d %H:%M:%S')}}";
|
||||
var ajax_error_500 = '{{=T.M('An error occured, please [[reload %s]] the page') % URL(args=request.args, vars=request.get_vars) }}'
|
||||
//--></script>
|
||||
{{
|
||||
response.files.insert(0,URL('static','js/jquery.js'))
|
||||
response.files.insert(1,URL('static','css/calendar.css'))
|
||||
response.files.insert(2,URL('static','js/calendar.js'))
|
||||
response.files.insert(3,URL('static','js/web2py.js'))
|
||||
response.include_meta()
|
||||
response.include_files()
|
||||
}}
|
||||