Added: web2py current files
This commit is contained in:
parent
1615f2425d
commit
3c85651561
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
cache
|
||||
databases
|
||||
errors
|
||||
sessions
|
17
.project
Normal file
17
.project
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>transcription</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.python.pydev.PyDevBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.python.pydev.pythonNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
5
.pydevproject
Normal file
5
.pydevproject
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?eclipse-pydev version="1.0"?><pydev_project>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python interpreter</pydev_property>
|
||||
</pydev_project>
|
3
.settings/org.eclipse.core.resources.prefs
Normal file
3
.settings/org.eclipse.core.resources.prefs
Normal file
@ -0,0 +1,3 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//controllers/default.py=utf-8
|
||||
encoding//models/db.py=utf-8
|
4
LICENSE
Normal file
4
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
__init__.py
Normal file
1
__init__.py
Normal file
@ -0,0 +1 @@
|
||||
|
BIN
__pycache__/__init__.cpython-36.pyc
Normal file
BIN
__pycache__/__init__.cpython-36.pyc
Normal file
Binary file not shown.
693
controllers/appadmin.py
Normal file
693
controllers/appadmin.py
Normal file
@ -0,0 +1,693 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# ##########################################################
|
||||
# ## make sure administrator is on localhost
|
||||
# ###########################################################
|
||||
|
||||
import os
|
||||
import socket
|
||||
import datetime
|
||||
import copy
|
||||
import gluon.contenttype
|
||||
import gluon.fileutils
|
||||
from gluon._compat import iteritems
|
||||
|
||||
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 request.env.trusted_lan_prefix and \
|
||||
remote_addr.startswith(request.env.trusted_lan_prefix):
|
||||
request.is_local = True
|
||||
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
|
||||
if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)):
|
||||
raise HTTP(403, 'Not authorized')
|
||||
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():
|
||||
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(r'(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)')
|
||||
if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'):
|
||||
regex = re.compile(r'(?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'))
|
||||
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
|
||||
form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px',
|
||||
_name='query', _value=request.vars.query or '', _class='form-control',
|
||||
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 '', _class='form-control')), TR(T('Delete:'), INPUT(_name='delete_check',
|
||||
_class='delete', _type='checkbox', value=False), ''),
|
||||
TR('', '', INPUT(_type='submit', _value=T('Submit'), _class='btn btn-primary'))),
|
||||
_action=URL(r=request, args=request.args))
|
||||
|
||||
tb = None
|
||||
if form.accepts(request.vars, formname=None):
|
||||
regex = re.compile(request.args[0] + r'\.(?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 as 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'), _class='btn btn-primary'))
|
||||
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 as 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 pympler.asizeof import asizeof
|
||||
except ImportError:
|
||||
asizeof = False
|
||||
|
||||
import shelve
|
||||
import os
|
||||
import copy
|
||||
import time
|
||||
import math
|
||||
from pydal.contrib 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:
|
||||
# get ram stats directly from the cache object
|
||||
ram_stats = cache.ram.stats[request.application]
|
||||
ram['hits'] = ram_stats['hit_total'] - ram_stats['misses']
|
||||
ram['misses'] = ram_stats['misses']
|
||||
try:
|
||||
ram['ratio'] = ram['hits'] * 100 / ram_stats['hit_total']
|
||||
except (KeyError, ZeroDivisionError):
|
||||
ram['ratio'] = 0
|
||||
|
||||
for key, value in iteritems(cache.ram.storage):
|
||||
if asizeof:
|
||||
ram['bytes'] += asizeof(value[1])
|
||||
ram['objects'] += 1
|
||||
ram['entries'] += 1
|
||||
if value[0] < ram['oldest']:
|
||||
ram['oldest'] = value[0]
|
||||
ram['keys'].append((key, GetInHMS(time.time() - value[0])))
|
||||
|
||||
for key in cache.disk.storage:
|
||||
value = cache.disk.storage[key]
|
||||
if key == 'web2py_cache_statistics' and isinstance(value[1], dict):
|
||||
disk['hits'] = value[1]['hit_total'] - value[1]['misses']
|
||||
disk['misses'] = value[1]['misses']
|
||||
try:
|
||||
disk['ratio'] = disk['hits'] * 100 / value[1]['hit_total']
|
||||
except (KeyError, ZeroDivisionError):
|
||||
disk['ratio'] = 0
|
||||
else:
|
||||
if asizeof:
|
||||
disk['bytes'] += asizeof(value[1])
|
||||
disk['objects'] += 1
|
||||
disk['entries'] += 1
|
||||
if value[0] < disk['oldest']:
|
||||
disk['oldest'] = value[0]
|
||||
disk['keys'].append((key, GetInHMS(time.time() - value[0])))
|
||||
|
||||
ram_keys = list(ram) # ['hits', 'objects', 'ratio', 'entries', 'keys', 'oldest', 'bytes', 'misses']
|
||||
ram_keys.remove('ratio')
|
||||
ram_keys.remove('oldest')
|
||||
for key in ram_keys:
|
||||
total[key] = ram[key] + disk[key]
|
||||
|
||||
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=asizeof != 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 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
|
||||
|
||||
def hooks():
|
||||
import functools
|
||||
import inspect
|
||||
list_op = ['_%s_%s' %(h,m) for h in ['before', 'after'] for m in ['insert','update','delete']]
|
||||
tables = []
|
||||
with_build_it = False
|
||||
for db_str in sorted(databases):
|
||||
db = databases[db_str]
|
||||
for t in db.tables:
|
||||
method_hooks = []
|
||||
for op in list_op:
|
||||
functions = []
|
||||
for f in getattr(db[t], op):
|
||||
if hasattr(f, '__call__'):
|
||||
try:
|
||||
if isinstance(f, (functools.partial)):
|
||||
f = f.func
|
||||
filename = inspect.getsourcefile(f)
|
||||
details = {'funcname':f.__name__,
|
||||
'filename':filename[len(request.folder):] if request.folder in filename else None,
|
||||
'lineno': inspect.getsourcelines(f)[1]}
|
||||
if details['filename']: # Built in functions as delete_uploaded_files are not editable
|
||||
details['url'] = URL(a='admin',c='default',f='edit', args=[request['application'], details['filename']],vars={'lineno':details['lineno']})
|
||||
if details['filename'] or with_build_it:
|
||||
functions.append(details)
|
||||
# compiled app and windows build don't support code inspection
|
||||
except:
|
||||
pass
|
||||
if len(functions):
|
||||
method_hooks.append({'name': op, 'functions':functions})
|
||||
if len(method_hooks):
|
||||
tables.append({'name': '%s.%s' % (db_str, t), 'slug': IS_SLUG()('%s.%s' % (db_str,t))[0], 'method_hooks':method_hooks})
|
||||
# Render
|
||||
ul_main = UL(_class='nav nav-list')
|
||||
for t in tables:
|
||||
ul_main.append(A(t['name'], _onclick="collapse('a_%s')" % t['slug']))
|
||||
ul_t = UL(_class='nav nav-list', _id='a_%s' % t['slug'], _style='display:none')
|
||||
for op in t['method_hooks']:
|
||||
ul_t.append(LI(op['name']))
|
||||
ul_t.append(UL([LI(A(f['funcname'], _class='editor_filelink', _href=f['url']if 'url' in f else None, **{'_data-lineno':f['lineno']-1})) for f in op['functions']]))
|
||||
ul_main.append(ul_t)
|
||||
return ul_main
|
||||
|
||||
|
||||
# ##########################################################
|
||||
# d3 based model visualizations
|
||||
# ###########################################################
|
||||
|
||||
def d3_graph_model():
|
||||
''' See https://www.facebook.com/web2py/posts/145613995589010 from Bruno Rocha
|
||||
and also the app_admin bg_graph_model function
|
||||
|
||||
Create a list of table dicts, called 'nodes'
|
||||
'''
|
||||
|
||||
nodes = []
|
||||
links = []
|
||||
|
||||
for database in databases:
|
||||
db = eval_in_global_env(database)
|
||||
for tablename in db.tables:
|
||||
fields = []
|
||||
for field in db[tablename]:
|
||||
f_type = field.type
|
||||
if not isinstance(f_type, str):
|
||||
disp = ' '
|
||||
elif f_type == 'string':
|
||||
disp = field.length
|
||||
elif f_type == 'id':
|
||||
disp = 'PK'
|
||||
elif f_type.startswith('reference') or \
|
||||
f_type.startswith('list:reference'):
|
||||
disp = 'FK'
|
||||
else:
|
||||
disp = ' '
|
||||
fields.append(dict(name=field.name, type=field.type, disp=disp))
|
||||
|
||||
if isinstance(f_type, str) and (
|
||||
f_type.startswith('reference') or
|
||||
f_type.startswith('list:reference')):
|
||||
referenced_table = f_type.split()[1].split('.')[0]
|
||||
|
||||
links.append(dict(source=tablename, target = referenced_table))
|
||||
|
||||
nodes.append(dict(name=tablename, type='table', fields = fields))
|
||||
|
||||
# d3 v4 allows individual modules to be specified. The complete d3 library is included below.
|
||||
response.files.append(URL('admin','static','js/d3.min.js'))
|
||||
response.files.append(URL('admin','static','js/d3_graph.js'))
|
||||
return dict(databases=databases, nodes=nodes, links=links)
|
57
controllers/default.py
Normal file
57
controllers/default.py
Normal file
@ -0,0 +1,57 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# -------------------------------------------------------------------------
|
||||
# This is a sample controller
|
||||
# this file is released under public domain and you can use without limitations
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# ---- example index page ----
|
||||
def index():
|
||||
return dict(u1="Überschrift 1", u2="Überschrift 2")
|
||||
|
||||
# ---- API (example) -----
|
||||
@auth.requires_login()
|
||||
def api_get_user_email():
|
||||
if not request.env.request_method == 'GET': raise HTTP(403)
|
||||
return response.json({'status':'success', 'email':auth.user.email})
|
||||
|
||||
# ---- Smart Grid (example) -----
|
||||
@auth.requires_membership('admin') # can only be accessed by members of admin groupd
|
||||
def grid():
|
||||
response.view = 'generic.html' # use a generic view
|
||||
tablename = request.args(0)
|
||||
if not tablename in db.tables: raise HTTP(403)
|
||||
grid = SQLFORM.smartgrid(db[tablename], args=[tablename], deletable=False, editable=False)
|
||||
return dict(grid=grid)
|
||||
|
||||
# ---- Embedded wiki (example) ----
|
||||
def wiki():
|
||||
auth.wikimenu() # add the wiki to the menu
|
||||
return auth.wiki()
|
||||
|
||||
# ---- Action for login/register/etc (required for auth) -----
|
||||
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/bulk_register
|
||||
use @auth.requires_login()
|
||||
@auth.requires_membership('group name')
|
||||
@auth.requires_permission('read','table name',record_id)
|
||||
to decorate functions that need access control
|
||||
also notice there is http://..../[app]/appadmin/manage/auth to allow administrator to manage users
|
||||
"""
|
||||
return dict(form=auth())
|
||||
|
||||
# ---- action to server uploaded static content (required) ---
|
||||
@cache.action()
|
||||
def download():
|
||||
"""
|
||||
allows downloading of uploaded files
|
||||
http://..../[app]/default/download/[filename]
|
||||
"""
|
||||
return response.download(request, db)
|
57
controllers/default.py.bak
Normal file
57
controllers/default.py.bak
Normal file
@ -0,0 +1,57 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# -------------------------------------------------------------------------
|
||||
# This is a sample controller
|
||||
# this file is released under public domain and you can use without limitations
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# ---- example index page ----
|
||||
def index():
|
||||
return dict(message="Überschrift 1", lala="Überschrift 2")
|
||||
|
||||
# ---- API (example) -----
|
||||
@auth.requires_login()
|
||||
def api_get_user_email():
|
||||
if not request.env.request_method == 'GET': raise HTTP(403)
|
||||
return response.json({'status':'success', 'email':auth.user.email})
|
||||
|
||||
# ---- Smart Grid (example) -----
|
||||
@auth.requires_membership('admin') # can only be accessed by members of admin groupd
|
||||
def grid():
|
||||
response.view = 'generic.html' # use a generic view
|
||||
tablename = request.args(0)
|
||||
if not tablename in db.tables: raise HTTP(403)
|
||||
grid = SQLFORM.smartgrid(db[tablename], args=[tablename], deletable=False, editable=False)
|
||||
return dict(grid=grid)
|
||||
|
||||
# ---- Embedded wiki (example) ----
|
||||
def wiki():
|
||||
auth.wikimenu() # add the wiki to the menu
|
||||
return auth.wiki()
|
||||
|
||||
# ---- Action for login/register/etc (required for auth) -----
|
||||
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/bulk_register
|
||||
use @auth.requires_login()
|
||||
@auth.requires_membership('group name')
|
||||
@auth.requires_permission('read','table name',record_id)
|
||||
to decorate functions that need access control
|
||||
also notice there is http://..../[app]/appadmin/manage/auth to allow administrator to manage users
|
||||
"""
|
||||
return dict(form=auth())
|
||||
|
||||
# ---- action to server uploaded static content (required) ---
|
||||
@cache.action()
|
||||
def download():
|
||||
"""
|
||||
allows downloading of uploaded files
|
||||
http://..../[app]/default/download/[filename]
|
||||
"""
|
||||
return response.download(request, db)
|
1
cron/crontab
Normal file
1
cron/crontab
Normal file
@ -0,0 +1 @@
|
||||
#crontab
|
266
languages/ar.py
Normal file
266
languages/ar.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'ar',
|
||||
'!langname!': 'Arabic',
|
||||
'"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 %%{row} deleted',
|
||||
'%s %%{row} updated': '%s %%{row} updated',
|
||||
'%s selected': '%s selected',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'نبذة',
|
||||
'Access Control': 'متحكمات الوصول',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'وصفات أجاكس',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'هل أنت متأكد بحذف هذا الكائن ؟',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Available Databases and Tables',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'لا يمكن بأن يكون خالي',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Change password',
|
||||
'Check to delete': 'أختر للحذف',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'IP المستخدم',
|
||||
'Community': 'المجتمع',
|
||||
'Components and Plugins': 'العناصر والإضافات',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'متحكم',
|
||||
'Copyright': 'الحقوق',
|
||||
'Current request': 'Current request',
|
||||
'Current response': 'Current response',
|
||||
'Current session': 'Current session',
|
||||
'data uploaded': 'data uploaded',
|
||||
'Database': 'قاعدة البيانات',
|
||||
'Database %s select': 'Database %s select',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'نموذج قاعدة البيانات',
|
||||
'Delete:': 'Delete:',
|
||||
'Demo': 'تجربة',
|
||||
'Deployment Recipes': 'الوصفات المنشورة',
|
||||
'Description': 'الوصف',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'المستندات',
|
||||
"Don't know what to do?": 'لا تعلم ماذا ستفعل ؟',
|
||||
'done!': 'done!',
|
||||
'Download': 'تحميل',
|
||||
'E-mail': 'البريد الإلكتروني',
|
||||
'Edit current record': 'Edit current record',
|
||||
'Email and SMS': 'البريد الإلكتروني والرسالة النصية',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'الأخطاء',
|
||||
'export as csv file': 'export as csv file',
|
||||
'FAQ': 'الأسئلة الشائعة',
|
||||
'First name': 'الأسم الأول',
|
||||
'Forms and Validators': 'الإستمارات والمدققات',
|
||||
'Free Applications': 'تطبيقات مجانية',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'المجموعة %(group_id)s قد أنشئت',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'هوية المجموعة',
|
||||
'Group uniquely assigned to user %(id)s': 'المجموعة مخصصة للمستخدم %(id)s',
|
||||
'Groups': 'مجموعات',
|
||||
'Hello World': 'مرحباً بالعالم',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'الرئيسية',
|
||||
'How did you get here?': 'كيف أستطعت الوصول إلى هنا ؟',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Internal State',
|
||||
'Introduction': 'مقدمة',
|
||||
'Invalid email': 'بريد إلكتروني غير صالح',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Invalid Query',
|
||||
'invalid request': 'invalid request',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'أسم العائلة',
|
||||
'Layout': 'النسق',
|
||||
'Live Chat': 'المحادثة الحيّة',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'تم تسجيل الدخول',
|
||||
'Logged out': 'تم تسجيل الخروج',
|
||||
'Login': 'تسجيل الدخول',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'تسجيل الخروج',
|
||||
'Lost Password': 'فقدت كلمة المرور',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'قالب القوائم',
|
||||
'My Sites': 'موقعي',
|
||||
'Name': 'الأسم',
|
||||
'New password': 'New password',
|
||||
'New Record': 'New Record',
|
||||
'new record inserted': 'new record inserted',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'No databases in this application',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'أسم الكائن أو الجدول',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'أمثلة على الأنترنت',
|
||||
'or import from csv file': 'or import from csv file',
|
||||
'Origin': 'أصل',
|
||||
'Other Recipes': 'وصفات أخرى',
|
||||
'Overview': 'نظرة عامة',
|
||||
'Password': 'كلمة المرور',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'حقول كلمة المرور لا تتطابق',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'الرجاء إعادة إدخال كلمة المرور',
|
||||
'Plugins': 'الإضافات',
|
||||
'Powered by': 'مدعوم بواسطة',
|
||||
'Preface': 'المدخل',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'الملف الشخصي',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'بايثون',
|
||||
'Query:': 'Query:',
|
||||
'Quick Examples': 'أمثلة سريعة',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'وصفات',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'record does not exist',
|
||||
'Record id': 'Record id',
|
||||
'Record ID': 'هوية السجل ',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'التسجيل',
|
||||
'Registration identifier': 'مُعرف التسجيل',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'رمز التسجيل',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'تم التسجيل بنجاح',
|
||||
'Remember me (for 30 days)': 'تذكرني ( إلى 30 يوم)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'إعادة ظبط مفتاح كلمة المرور',
|
||||
'Role': 'دور',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Rows in Table',
|
||||
'Rows selected': 'Rows selected',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'خدمات',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'state',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'أسلوب النمط',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Submit',
|
||||
'Support': 'الدعم',
|
||||
'Table': 'Table',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '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 output of the file is a dictionary that was rendered by the view %s': 'نتاج هذا الملف هو قاموس قًدم بواسطة العارض %s',
|
||||
'The Views': 'المشاهدات',
|
||||
'This App': 'هذا التطبيق',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'البصمة الزمنية',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'تويتر',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'unable to parse csv file',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': '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.',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'User %(id)s Logged-in': 'المستخدم %(id)s قد سجل دخوله',
|
||||
'User %(id)s Logged-out': 'المستخدم %(id)s قد سجل خروجه',
|
||||
'User %(id)s Password changed': 'User %(id)s Password changed',
|
||||
'User %(id)s Password reset': 'User %(id)s Password reset',
|
||||
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'المستخدم %(id)s مسجل',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'هوية المستخدم',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'تأكيد كلمة المرور',
|
||||
'Videos': 'الفيديوهات',
|
||||
'View': 'العرض',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': 'مرحباً بكم في ويب2 باي !',
|
||||
'Which called the function %s located in the file %s': 'الدالة المسماة %s موجودة في ملف %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'You are successfully running web2py': 'أستطعت تثبيت web2py بنجاح !',
|
||||
'You can modify this application and adapt it to your needs': 'تستطيع تعديل هذا التطبيق لما يناسب إحتياجك',
|
||||
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': ' ملقد زرت الرابط %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/ca.py
Normal file
266
languages/ca.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'ca',
|
||||
'!langname!': 'Català',
|
||||
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"actualizi" és una expressió opcional com "camp1=\'nou_valor\'". No es poden actualitzar o eliminar resultats de un JOIN',
|
||||
'%s %%{row} deleted': '%s %%{fila} %%{eliminada}',
|
||||
'%s %%{row} updated': '%s %%{fila} %%{actualitzada}',
|
||||
'%s selected': '%s %%{seleccionat}',
|
||||
'%Y-%m-%d': '%d/%m/%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Hi ha hagut un error, si us plau [[recarregui %s]] la pàgina',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': "Nombre d'entrades: **%s**",
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Sobre',
|
||||
'Access Control': "Control d'Accés",
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Receptes AJAX',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'admin inhabilitat, el canal no és segur',
|
||||
'Apply changes': 'Aplicar canvis',
|
||||
'Are you sure you want to delete this object?': 'Està segur que vol esborrar aquest objecte?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Bases de dades i taules disponibles',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'caché',
|
||||
'Cache': 'Caché',
|
||||
'Cache Cleared': 'Caché Netejada',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Claus de la Caché',
|
||||
'Cannot be empty': 'No pot estar buit',
|
||||
'Change Password': 'Canviï la Contrasenya',
|
||||
'Change password': 'Canviï la contrasenya',
|
||||
'Check to delete': 'Marqui per a eliminar',
|
||||
'Clear CACHE?': 'Netejar Memòrica Cau?',
|
||||
'Clear DISK': 'Netejar DISC',
|
||||
'Clear RAM': 'Netejar RAM',
|
||||
'Click on the link %(link)s to reset your password': "Cliqui en l'enllaç %(link)s per a reiniciar la seva contrasenya",
|
||||
'Client IP': 'IP del Client',
|
||||
'Community': 'Comunitat',
|
||||
'Components and Plugins': 'Components i Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Sol·licitud en curs',
|
||||
'Current response': 'Resposta en curs',
|
||||
'Current session': 'Sessió en curs',
|
||||
'data uploaded': 'dades pujades',
|
||||
'Database': 'Base de dades',
|
||||
'Database %s select': 'selecció a base de dades %s',
|
||||
'Database Administration (appadmin)': 'Administració de Base de Dades (appadmin)',
|
||||
'db': 'bdd',
|
||||
'DB Model': 'Model BDD',
|
||||
'Delete:': 'Eliminar:',
|
||||
'Demo': 'Demostració',
|
||||
'Deployment Recipes': 'Receptes de desplegament',
|
||||
'Description': 'Descripció',
|
||||
'design': 'diseny',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISC',
|
||||
'Disk Cache Keys': 'Claus de Caché en Disc',
|
||||
'Disk Cleared': 'Disc netejat',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentació',
|
||||
"Don't know what to do?": 'No sap què fer?',
|
||||
'done!': '¡fet!',
|
||||
'Download': 'Descàrregues',
|
||||
'E-mail': 'Correu electrònic',
|
||||
'Edit current record': 'Editar el registre actual',
|
||||
'Email and SMS': 'Correu electrònic i SMS',
|
||||
'Email sent': 'Correu electrònic enviat',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'exportar com fitxer CSV',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Nom',
|
||||
'Forms and Validators': 'Formularis i validadors',
|
||||
'Free Applications': 'Aplicacions Lliures',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Grupo %(group_id)s creat',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'ID de Grup',
|
||||
'Group uniquely assigned to user %(id)s': 'Grup assignat únicament al usuari %(id)s',
|
||||
'Groups': 'Grups',
|
||||
'Hello World': 'Hola Món',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Inici',
|
||||
'How did you get here?': 'Com has arribat aquí?',
|
||||
'import': 'importar',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Privilegis insuficients',
|
||||
'Internal State': 'Estat Intern',
|
||||
'Introduction': 'Introducció',
|
||||
'Invalid email': 'Correo electrónico invàlid',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Inici de sessió invàlida',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Consulta invàlida',
|
||||
'invalid request': 'sol·licitud invàlida',
|
||||
'Invalid reset password': 'Reinici de contrasenya invàlid',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Clau',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Cognom',
|
||||
'Layout': 'Diseny de pàgina',
|
||||
'Live Chat': 'Xat en viu',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Sessió iniciada',
|
||||
'Logged out': 'Sessió finalitzada',
|
||||
'Login': 'Inici de sessió',
|
||||
'Login disabled by administrator': 'Inici de sessió inhabilitat pel administrador',
|
||||
'Logout': 'Fi de sessió',
|
||||
'Lost Password': 'Contrasenya perdida',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Gestionar la Caché',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Model "menu"',
|
||||
'My Sites': 'Els Meus Llocs',
|
||||
'Name': 'Nombre',
|
||||
'New password': 'Contrasenya nova',
|
||||
'New Record': 'Registre nou',
|
||||
'new record inserted': 'nou registre insertat',
|
||||
'next %s rows': 'següents %s files',
|
||||
'No databases in this application': 'No hi ha bases de dades en esta aplicació',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Nom del objecte o taula',
|
||||
'Old password': 'Contrasenya anterior',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Ejemples en línia',
|
||||
'or import from csv file': 'o importar desde fitxer CSV',
|
||||
'Origin': 'Origen',
|
||||
'Other Recipes': 'Altres Receptes',
|
||||
'Overview': 'Resum',
|
||||
'Password': 'Contrasenya',
|
||||
'Password changed': 'Contrasenya cambiada',
|
||||
"Password fields don't match": 'Els camps de contrasenya no coincideixen',
|
||||
'Password reset': 'Reinici de contrasenya',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permís',
|
||||
'Permissions': 'Permisos',
|
||||
'please input your password again': 'si us plau, entri un altre cop la seva contrasenya',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Aquest lloc utilitza',
|
||||
'Preface': 'Prefaci',
|
||||
'previous %s rows': '%s files prèvies',
|
||||
'Profile': 'Perfil',
|
||||
'Profile updated': 'Perfil actualitzat',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Consulta:',
|
||||
'Quick Examples': 'Exemple Ràpids',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Claus de la Caché en RAM',
|
||||
'Ram Cleared': 'Ram Netjeda',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Receptes',
|
||||
'Record': 'Registre',
|
||||
'Record %(id)s created': 'Registre %(id)s creat',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Registre Creat',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'el registre no existe',
|
||||
'Record id': 'Id de registre',
|
||||
'Record ID': 'ID de Registre',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': "Registri's",
|
||||
'Registration identifier': 'Identificador de Registre',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Clau de registre',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registre amb èxit',
|
||||
'Remember me (for 30 days)': "Recordi'm (durant 30 dies)",
|
||||
'Request reset password': 'Sol·licitud de restabliment de contrasenya',
|
||||
'Reset Password key': 'Restaurar Clau de la Contrasenya',
|
||||
'Role': 'Rol',
|
||||
'Roles': 'Rols',
|
||||
'Rows in Table': 'Files a la taula',
|
||||
'Rows selected': 'Files seleccionades',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Serveis',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Mida de la Caché:',
|
||||
'state': 'estat',
|
||||
'Statistics': 'Estadístiques',
|
||||
'Stylesheet': "Fulla d'estil",
|
||||
'submit': 'enviar',
|
||||
'Submit': 'Enviar',
|
||||
'Support': 'Suport',
|
||||
'Table': 'taula',
|
||||
'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" és una condición com "db.tabla1.campo1==\'valor\'". Algo com "db.tabla1.campo1==db.tabla2.campo2" resulta en un JOIN SQL.',
|
||||
'The Core': 'El Nucli',
|
||||
'The output of the file is a dictionary that was rendered by the view %s': 'El resultat de aquesta funció és un diccionari que és desplegat per la vista %s',
|
||||
'The Views': 'Les Vistes',
|
||||
'This App': 'Aquesta Aplicació',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'Aquest correu electrònic ja té un compte',
|
||||
'Time in Cache (h:m:s)': 'Temps en Caché (h:m:s)',
|
||||
'Timestamp': 'Marca de temps',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'no és possible analitzar el fitxer CSV',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Actualizi:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, i ~(...) para NOT, para crear consultas més complexes.',
|
||||
'User': 'Usuari',
|
||||
'User %(id)s is impersonating %(other_id)s': 'El usuari %(id)s està suplantant %(other_id)s',
|
||||
'User %(id)s Logged-in': 'El usuari %(id)s inicià la sessió',
|
||||
'User %(id)s Logged-out': 'El usuari %(id)s finalitzà la sessió',
|
||||
'User %(id)s Password changed': 'Contrasenya del usuari %(id)s canviada',
|
||||
'User %(id)s Password reset': 'Contrasenya del usuari %(id)s reiniciada',
|
||||
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'Actualitzat el perfil del usuari %(id)s',
|
||||
'User %(id)s Registered': 'Usuari %(id)s Registrat',
|
||||
'User %(id)s Username retrieved': 'Se ha recuperat el nom de usuari del usuari %(id)s',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID de Usuari',
|
||||
'Username': 'Nom de usuari',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Recuperar nom de usuari',
|
||||
'Users': 'Usuaris',
|
||||
'Verify Password': 'Verificar Contrasenya',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Vista',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': '¡Benvingut a web2py!',
|
||||
'Which called the function %s located in the file %s': 'La qual va cridar la funció %s localitzada en el fitxer %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Treballant ...',
|
||||
'You are successfully running web2py': 'Vostè està executant web2py amb èxit',
|
||||
'You can modify this application and adapt it to your needs': 'Vostè pot modificar aquesta aplicació i adaptar-la a les seves necessitats',
|
||||
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Vostè va visitar la url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'El seu nom de usuari és: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/cs.py
Normal file
266
languages/cs.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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.',
|
||||
'%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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'O programu',
|
||||
'Access Control': 'Řízení přístupu',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Recepty s ajaxem',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin je zakázaná bez zabezpečeného spojení',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Opravdu chcete odstranit tento objekt?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Dostupné databáze a tabulky',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Klíče cache',
|
||||
'Cannot be empty': 'Nemůže být prázdné',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Změna hesla',
|
||||
'Check to delete': 'Označit ke smazání',
|
||||
'Clear CACHE?': 'Vymazat CACHE?',
|
||||
'Clear DISK': 'Vymazat DISK',
|
||||
'Clear RAM': 'Vymazat RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'IP adresa klienta',
|
||||
'Community': 'Komunita',
|
||||
'Components and Plugins': 'Komponenty a zásuvné moduly',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Kontrolér (Controller)',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktuální požadavek',
|
||||
'Current response': 'Aktuální odpověď',
|
||||
'Current session': 'Aktuální relace',
|
||||
'data uploaded': 'data nahrána',
|
||||
'Database': 'Rozhraní databáze',
|
||||
'Database %s select': 'databáze %s výběr',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'Databázový model',
|
||||
'Delete:': 'Smazat:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Postupy pro deployment',
|
||||
'Description': 'Popis',
|
||||
'design': 'návrh',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Klíče diskové cache',
|
||||
'Disk Cleared': 'Disk smazán',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Dokumentace',
|
||||
"Don't know what to do?": 'Nevíte kudy kam?',
|
||||
'done!': 'hotovo!',
|
||||
'Download': 'Stáhnout',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Upravit aktuální záznam',
|
||||
'Email and SMS': 'Email a SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Chyby',
|
||||
'export as csv file': 'exportovat do .csv souboru',
|
||||
'FAQ': 'Často kladené dotazy',
|
||||
'First name': 'Křestní jméno',
|
||||
'Forms and Validators': 'Formuláře a validátory',
|
||||
'Free Applications': 'Aplikace zdarma',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'ID skupiny',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Skupiny',
|
||||
'Hello World': 'Ahoj světe',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Domovská stránka',
|
||||
'How did you get here?': 'Jak jste se sem vlastně dostal?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Vnitřní stav',
|
||||
'Introduction': 'Úvod',
|
||||
'Invalid email': 'Neplatný email',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Nesprávné heslo',
|
||||
'Invalid Query': 'Neplatný dotaz',
|
||||
'invalid request': 'Neplatný požadavek',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Klíč',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Příjmení',
|
||||
'Layout': 'Rozvržení stránky (layout)',
|
||||
'Live Chat': 'Online pokec',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Přihlášení proběhlo úspěšně',
|
||||
'Logged out': 'Odhlášení proběhlo úspěšně',
|
||||
'Login': 'Přihlásit se',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Odhlásit se',
|
||||
'Lost Password': 'Zapomněl jste heslo',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Model rozbalovací nabídky',
|
||||
'My Sites': 'Správa aplikací',
|
||||
'Name': 'Jméno',
|
||||
'New password': 'Nové heslo',
|
||||
'New Record': 'Nový záznam',
|
||||
'new record inserted': 'nový záznam byl založen',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'V této aplikaci nejsou žádné databáze',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Objekt či tabulka',
|
||||
'Old password': 'Původní heslo',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Příklady online',
|
||||
'or import from csv file': 'nebo importovat z .csv souboru',
|
||||
'Origin': 'Původ',
|
||||
'Other Recipes': 'Ostatní zásuvné moduly',
|
||||
'Overview': 'Přehled',
|
||||
'Password': 'Heslo',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'Hesla se neshodují',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Zásuvné moduly',
|
||||
'Powered by': 'Poháněno',
|
||||
'Preface': 'Předmluva',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Dotaz:',
|
||||
'Quick Examples': 'Krátké příklady',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Klíče RAM Cache',
|
||||
'Ram Cleared': 'RAM smazána',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Postupy jak na to',
|
||||
'Record': 'Záznam',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'záznam neexistuje',
|
||||
'Record id': 'id záznamu',
|
||||
'Record ID': 'ID záznamu',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Zaregistrovat se',
|
||||
'Registration identifier': 'Registrační identifikátor',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registrační klíč',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Zapamatovat na 30 dní',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'Reset registračního klíče',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Záznamy v tabulce',
|
||||
'Rows selected': 'Záznamů zobrazeno',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Služby',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Velikost cache:',
|
||||
'state': 'stav',
|
||||
'Statistics': 'Statistika',
|
||||
'Stylesheet': 'CSS styly',
|
||||
'submit': 'odeslat',
|
||||
'Submit': 'Odeslat',
|
||||
'Support': 'Podpora',
|
||||
'Table': 'tabulka',
|
||||
'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 Core': 'Jádro (The Core)',
|
||||
'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 Views': 'Pohledy (The Views)',
|
||||
'This App': 'Tato aplikace',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Čas v Cache (h:m:s)',
|
||||
'Timestamp': 'Časové razítko',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'csv soubor nedá sa zpracovat',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Upravit:',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password reset': 'User %(id)s Password reset',
|
||||
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
|
||||
'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)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID uživatele',
|
||||
'Username': 'Přihlašovací jméno',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Zopakujte heslo',
|
||||
'Videos': 'Videa',
|
||||
'View': 'Pohled (View)',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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.',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'You are successfully running web2py': 'Úspěšně jste spustili web2py.',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Navštívili jste stránku %s,',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/de.py
Normal file
266
languages/de.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!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',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d\xa0%H:%M:%S',
|
||||
'%s %%{row} deleted': '%s %%{row} gelöscht',
|
||||
'%s %%{row} updated': '%s %%{row} aktualisiert',
|
||||
'%s selected': '%s ausgewählt',
|
||||
'(**%.0d MB**)': '(**%.0d\xa0MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{Item(Items)}, **%(bytes)s** %%{Byte(Bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** Items, **%(bytes)s** %%{Byte(Bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**nicht verfügbar** (benötigt die Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] Bibliothek)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d\xa0MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{Item(items)}, **%(bytes)s** %%{Byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{Byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**nicht verfügbar** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Hi ha hagut un error, si us plau [[recarregui %s]] la pàgina',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache geleert enthält Artikel bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK enthält Artikel bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Trefferquote:**%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': "Nombre d'entrades: **%s**",
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM enthält Elemente bis zu\xa0**%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**nicht verfügbar**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'A new password was emailed to you': 'Ein neues Passwort wurde per E-Mail an Sie gesendet',
|
||||
'API Example': 'API Beispiel',
|
||||
'About': 'Über',
|
||||
'Access Control': 'Zugangskontrolle',
|
||||
'Ajax Recipes': 'Ajax Rezepte',
|
||||
'An error occured, please [[reload %s]] the page': 'Ein Fehler ist aufgetreten, bitte [[laden %s]] Sie die Seite neu',
|
||||
'Apply changes': 'Aplicar canvis',
|
||||
'Are you sure you want to delete this object?': 'Sind Sie sich sicher, dass Sie dieses Objekt löschen wollen?',
|
||||
'Authentication code': 'Authentifizierungs code',
|
||||
'Available Databases and Tables': 'Verfügbare Datenbanken und Tabellen',
|
||||
"Buy web2py's book": "web2py's Buch kaufen",
|
||||
'Cache': 'Zwischenspeicher',
|
||||
'Cache Cleared': 'Cache geleert',
|
||||
'Cache Keys': 'Cache Schlüssel',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.',
|
||||
'Cannot be empty': 'Darf nicht leer sein',
|
||||
'Change Password': 'Canviï la Contrasenya',
|
||||
'Change password': 'Canviï la contrasenya',
|
||||
'Check to delete': 'Auswählen um zu löschen',
|
||||
'Clear CACHE?': 'CACHE löschen?',
|
||||
'Clear DISK': 'DISK löschen',
|
||||
'Clear RAM': 'RAM löschen',
|
||||
'Click on the link %(link)s to reset your password': "Klicke auf den Link %(link)s um das Passwort zurückzusetzen",
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Komponenten und Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Urheberrechte',
|
||||
'Current request': 'Derzeitiger Request',
|
||||
'Current response': 'Derzeitige Response',
|
||||
'Current session': 'Derzeitige Session',
|
||||
'DB Model': 'Muster-DB',
|
||||
'DISK': 'DISK',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.',
|
||||
'Database': 'Datenbank',
|
||||
'Database %s select': 'Datenbank %s ausgewählt',
|
||||
'Database Administration (appadmin)': 'Datenbankadministration (appadmin)',
|
||||
'Delete:': 'Lösche:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Entwicklungsrezepte',
|
||||
'Description': 'Beschreibung',
|
||||
'Design': 'Design',
|
||||
'Disk Cache Keys': 'Festplatten-Cache-Schlüssel',
|
||||
'Disk Cleared': 'Disk gelöscht',
|
||||
'Documentation': 'Dokumentation',
|
||||
"Don't know what to do?": 'Wissen Sie nicht weiter?',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'Correu electrònic',
|
||||
'Edit current record': 'Diesen Eintrag editieren',
|
||||
'Email and SMS': 'Email und SMS',
|
||||
'Email sent': 'Email gesendet',
|
||||
'Email verification': 'Email-Verifizierung',
|
||||
'Email verified': 'Email-Verifiziert',
|
||||
'Errors': 'Fehlermeldungen',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Nom',
|
||||
'Forms and Validators': 'Forms und Validators',
|
||||
'Free Applications': 'Kostenlose Anwendungen',
|
||||
'Function disabled': 'Funktion deaktiviert',
|
||||
'Graph Model': 'Muster-Graph',
|
||||
'Grid Example': 'Rasterbeispiel',
|
||||
'Group %(group_id)s created': 'Grupo %(group_id)s creat',
|
||||
'Group %(group_id)s deleted': 'Gruppe %(group_id)s gelöscht',
|
||||
'Group ID': 'ID de Grup',
|
||||
'Group uniquely assigned to user %(id)s': 'Gruppe eindeutig dem Benutzer zugewiesen %(id)s',
|
||||
'Groups': 'Gruppen',
|
||||
'Hello World': 'Hallo Welt',
|
||||
'Helping web2py': 'web2py helfen',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Trefferquote: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} und **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Startseite',
|
||||
'How did you get here?': 'Wie sind Sie hier her gelangt?',
|
||||
'Import/Export': 'Importieren/Exportieren',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Falscher Code. {0} weitere Versuche verbleiben.',
|
||||
'Insufficient privileges': 'Privilegis insuficients',
|
||||
'Internal State': 'Innerer Zustand',
|
||||
'Introduction': 'Einführung',
|
||||
'Invalid Query': 'Ungültige Query',
|
||||
'Invalid email': 'Ungültige Email',
|
||||
'Invalid key': 'Ungültiger Schlüssel',
|
||||
'Invalid login': 'Ungültige Anmeldung',
|
||||
'Invalid password': 'Ungültiges Passwort',
|
||||
'Invalid reset password': 'Ungültiges Passwort zurücksetzen',
|
||||
'Invalid user': 'Ungültiger Benutzer',
|
||||
'Invalid username': 'Ungültiger Benutzername',
|
||||
'Invitation to join %(site)s': 'Einladung um %(site)s zujoinen',
|
||||
'Key': 'Schlüssel',
|
||||
'Key verified': 'Schlüssel verifiziert',
|
||||
'Last name': 'Cognom',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Anmelden',
|
||||
'Logged in': 'Angemeldet',
|
||||
'Logged out': 'Abgemeldet',
|
||||
'Login': 'Anmeldung',
|
||||
'Login disabled by administrator': 'Anmeldung durch einen Administrator gesperrt',
|
||||
'Logout': 'Abmelden',
|
||||
'Lost Password': 'Passwort vergessen',
|
||||
'Lost your password?': 'Passwort verloren?',
|
||||
'Manage %(action)s': '%(action)s verwalten',
|
||||
'Manage Access Control': 'Zugangskontrolle verwalten',
|
||||
'Manage Cache': 'Cache verwalten',
|
||||
'Memberships': 'Mitgliedschaften',
|
||||
'Menu Model': 'Menü-Muster',
|
||||
'My Sites': 'Meine Seiten',
|
||||
'Name': 'Nombre',
|
||||
'New Record': 'Neuer Eintrag',
|
||||
'New password': 'Contrasenya nova',
|
||||
'No databases in this application': 'Keine Datenbank in dieser Anwendung',
|
||||
'Number of entries: **%s**': 'Nummer der Einträge: **%s**',
|
||||
'Object or table name': 'Objekt oder Tabellenname',
|
||||
'Old password': 'Altes Passwort',
|
||||
'Online book': 'Online Buch',
|
||||
'Online examples': 'Online Beispiele',
|
||||
'Origin': 'Urprung',
|
||||
'Other Recipes': 'Andere Rezepte',
|
||||
'Overview': 'Überblick',
|
||||
'Password': 'Passwort',
|
||||
'Password changed': 'Passwort geändert',
|
||||
"Password fields don't match": 'Passwörter stimmen nicht überein',
|
||||
'Password reset': 'Passort zurücksetzen',
|
||||
'Password retrieve': 'Passwort abrufen',
|
||||
'Permission': 'Erlaubnis',
|
||||
'Permissions': 'Erlaubnisse',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Unterstützt von',
|
||||
'Preface': 'Allgemeines',
|
||||
'Profile': 'Perfil',
|
||||
'Profile updated': 'Profil aktualisiert',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Abfrage:',
|
||||
'Quick Examples': 'Kurze Beispiele',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache-Schlüssel',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.',
|
||||
'Ram Cleared': 'Ram gelöscht',
|
||||
'Recipes': 'Rezepte',
|
||||
'Record': 'Eintrag',
|
||||
'Record %(id)s created': 'Registre %(id)s creat',
|
||||
'Record %(id)s deleted': 'Eintrag %(id)s gelöscht',
|
||||
'Record %(id)s read': 'Eintrag %(id)s gelesen',
|
||||
'Record %(id)s updated': 'Eintrag %(id)s aktualisiert',
|
||||
'Record Created': 'Eintrag erstellt',
|
||||
'Record Deleted': 'Eintrag gelöscht',
|
||||
'Record ID': 'ID des Eintrags',
|
||||
'Record Updated': 'Eintrag Aktualisiert',
|
||||
'Record id': 'id des Eintrags',
|
||||
'Register': "Registrieren",
|
||||
'Registration identifier': 'Kennung für die Registrierung',
|
||||
'Registration is pending approval': 'Die Registrierung steht noch aus',
|
||||
'Registration key': 'Registrierungsschlüssel',
|
||||
'Registration needs verification': 'Registrierung muss überprüft werden',
|
||||
'Registration successful': 'Registrierung erfolgreich',
|
||||
'Remember me (for 30 days)': "Erinnere mich (durant 30 dies)",
|
||||
'Request reset password': 'Passort zurücksetzen',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Rolle',
|
||||
'Roles': 'Rollen',
|
||||
'Rows in Table': 'Tabellenreihen',
|
||||
'Rows selected': 'Reihen ausgewählt',
|
||||
'Save model as...': 'Speichere Vorlage als...',
|
||||
'Services': 'Dienste',
|
||||
'Sign Up': 'Registrieren',
|
||||
'Sign up': 'Anmelden',
|
||||
'Size of cache:': 'Cachegröße:',
|
||||
'Statistics': 'Statistik',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'Submit': 'Absenden',
|
||||
'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 Views': 'Die Views',
|
||||
'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',
|
||||
'This App': 'Diese App',
|
||||
'This code was emailed to you and is required for login.': 'Dieser Code wurde per E-Mail an Sie gesendet und ist für die Anmeldung erforderlich.',
|
||||
'This email already has an account': 'Zu dieser Email gehört bereits ein Account',
|
||||
'Time in Cache (h:m:s)': 'Zeit im Cache (h:m:s)',
|
||||
'Timestamp': 'Zeitstempel',
|
||||
'Traceback': 'Zurückverfolgen',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Zweistufiger Login-Authentifizierungscode',
|
||||
'Unable to send email': 'Email kann nicht gesendet 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 eingeloggt',
|
||||
'User %(id)s Logged-out': 'Benutzer %(id)s ausgeloggt',
|
||||
'User %(id)s Password changed': 'Benutzer %(id)s Passwort geändert',
|
||||
'User %(id)s Password reset': 'Benutzer %(id)s Passwort zurückgesetzt',
|
||||
'User %(id)s Password retrieved': 'Benutzer %(id)s Passwort abgerufen',
|
||||
'User %(id)s Profile updated': 'Profil von Benutzer %(id)s aktualisiert',
|
||||
'User %(id)s Registered': 'Usuari %(id)s Registrat',
|
||||
'User %(id)s Username retrieved': 'Se ha recuperat el nom de usuari del usuari %(id)s',
|
||||
'User %(id)s Verification email sent': 'Benutzer %(id)s Bestätigungs-Email gesendet',
|
||||
'User %(id)s is impersonating %(other_id)s': 'El usuari %(id)s està suplantant %(other_id)s',
|
||||
'User %(id)s verified registration key': 'Benutzer %(id)s verifizierter Registrierungsschlüssel',
|
||||
'User ID': 'ID de Usuari',
|
||||
'Username': 'Nom de usuari',
|
||||
'Username already taken': 'Benutzername schon vergeben',
|
||||
'Username retrieve': 'Recuperar nom de usuari',
|
||||
'Users': 'Benutzer',
|
||||
'Verify Password': 'Verificar Contrasenya',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Ansicht',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Willkommen %(username)s! Klicken Sie auf den Link %(link)s, um Ihre Email zu bestätigen',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Beispiel',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'Sie wurden eingeladen,%(site)s beizutreten. Klicken Sie auf %(link)s, um den Vorgang abzuschließen',
|
||||
'You visited the url %s': 'Sie haben die URL %s besucht',
|
||||
'Your password is: %(password)s': 'Ihr Passwort lautet: %(password)s',
|
||||
'Your temporary login code is {0}': 'Ihr temporärer Login-Code lautet {0}',
|
||||
'Your username is: %(username)s': 'El seu nom de usuari és: %(username)s',
|
||||
'Your username was emailed to you': 'Ihr Benutzername wurde per E-Mail an Sie gesendet',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**nicht verfügbar**``:rot (benötigt die Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] Bibliothek)',
|
||||
'admin': 'admin',
|
||||
'appadmin is disabled because insecure channel': 'Appadmin ist deaktiviert, wegen der Benutzung eines unsicheren Kanals',
|
||||
'cache': 'zwischenspeicher',
|
||||
'data uploaded': 'Datei hochgeladen',
|
||||
'db': 'db',
|
||||
'design': 'Design',
|
||||
'done!': 'Fertig!',
|
||||
'export as csv file': 'als csv Datei exportieren',
|
||||
'import': 'Importieren',
|
||||
'invalid request': 'Ungültiger Request',
|
||||
'new record inserted': 'neuer Eintrag hinzugefügt',
|
||||
'next %s rows': 'nächste %s Reihen',
|
||||
'or import from csv file': 'oder von csv Datei importieren',
|
||||
'please input your password again': 'si us plau, entri un altre cop la seva contrasenya',
|
||||
'previous %s rows': 'vorherige %s Reihen',
|
||||
'pygraphviz library not found': 'pygraphviz Bibliothek wurde nicht gefunden',
|
||||
'record does not exist': 'Eintrag existiert nicht',
|
||||
'state': 'Status',
|
||||
'submit': 'Submit',
|
||||
'unable to parse csv file': 'csv Datei konnte nicht geparst werden',
|
||||
}
|
266
languages/en.py
Normal file
266
languages/en.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'en-us',
|
||||
'!langname!': 'English (US)',
|
||||
'"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 %%{row} deleted',
|
||||
'%s %%{row} updated': '%s %%{row} updated',
|
||||
'%s selected': '%s selected',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Available Databases and Tables',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Cannot be empty',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Change password',
|
||||
'Check to delete': 'Check to delete',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Current request',
|
||||
'Current response': 'Current response',
|
||||
'Current session': 'Current session',
|
||||
'data uploaded': 'data uploaded',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'Database %s select',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Delete:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Description',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'done!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Edit current record',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'export as csv file',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Hello World',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Internal State',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Invalid Query',
|
||||
'invalid request': 'invalid request',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'Login',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Lost Password',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'New password': 'New password',
|
||||
'New Record': 'New Record',
|
||||
'new record inserted': 'new record inserted',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'No databases in this application',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Online examples',
|
||||
'or import from csv file': 'or import from csv file',
|
||||
'Origin': 'Origin',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": "Password fields don't match",
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Query:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'record does not exist',
|
||||
'Record id': 'Record id',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Register',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registration key',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Remember me (for 30 days)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Rows in Table',
|
||||
'Rows selected': 'Rows selected',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'state',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Submit',
|
||||
'Support': 'Support',
|
||||
'Table': 'Table',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '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',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'unable to parse csv file',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': '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.',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'User %(id)s Registered',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'User ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Verify Password',
|
||||
'Videos': 'Videos',
|
||||
'View': 'View',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/es.py
Normal file
266
languages/es.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'%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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**no disponible** (requiere la libreria [[guppy http://pypi.python.org/pypi/guppy/ popup]] de Python)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ha ocurrido un error, por favor [[recargar %s]] la página',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**no disponible**``:red (Necesita libreria de Python: [[guppy http://pypi.python.org/pypi/guppy/ popup]])',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Acerca de',
|
||||
'Access Control': 'Control de Acceso',
|
||||
'admin': 'administrar',
|
||||
'Ajax Recipes': 'Recetas AJAX',
|
||||
'An error occured, please [[reload %s]] the page': 'Ha ocurrido un error, por favor [[reload %s]] la pagina',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin deshabilitado, el canal no es seguro',
|
||||
'Apply changes': 'Aplicar cambios',
|
||||
'Are you sure you want to delete this object?': '¿Está seguro que desea borrar este objeto?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Bases de datos y tablas disponibles',
|
||||
"Buy web2py's book": 'Compra el libro de web2py',
|
||||
'cache': 'caché',
|
||||
'Cache': 'Caché',
|
||||
'Cache Cleared': 'Cache Limpiada',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'La Cache contiene items con **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} de antiguedad.',
|
||||
'Cache Keys': 'Llaves de la Caché',
|
||||
'Cannot be empty': 'No puede estar vacío',
|
||||
'Change Password': 'Cambie la Contraseña',
|
||||
'Change password': 'Cambie la contraseña',
|
||||
'Check to delete': 'Marque para eliminar',
|
||||
'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',
|
||||
'Client IP': 'IP del Cliente',
|
||||
'Community': 'Comunidad',
|
||||
'Components and Plugins': 'Componentes y Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Solicitud en curso',
|
||||
'Current response': 'Respuesta en curso',
|
||||
'Current session': 'Sesión en curso',
|
||||
'data uploaded': 'datos subidos',
|
||||
'Database': 'Base de datos',
|
||||
'Database %s select': 'selección en base de datos %s',
|
||||
'Database Administration (appadmin)': 'Administración de Base de Datos (appadmin)',
|
||||
'db': 'bdd',
|
||||
'DB Model': 'Modelo BDD',
|
||||
'Delete:': 'Eliminar:',
|
||||
'Demo': 'Demostración',
|
||||
'Deployment Recipes': 'Recetas de despliegue',
|
||||
'Description': 'Descripción',
|
||||
'design': 'diseño',
|
||||
'Design': 'Diseño',
|
||||
'DISK': 'DISCO',
|
||||
'Disk Cache Keys': 'Llaves de Caché en Disco',
|
||||
'Disk Cleared': 'Disco limpiado',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'El DISCO contiene items con **%(hours)02d** %%{hora(hours)} **%(min)02d** %%{minuto(min)} **%(sec)02d** %%{segundo(sec)} de antiguedad.',
|
||||
'Documentation': 'Documentación',
|
||||
"Don't know what to do?": '¿No sabe que hacer?',
|
||||
'done!': '¡hecho!',
|
||||
'Download': 'Descargas',
|
||||
'E-mail': 'Correo electrónico',
|
||||
'Edit current record': 'Edite el registro actual',
|
||||
'Email and SMS': 'Correo electrónico y SMS',
|
||||
'Email sent': 'Correo electrónico enviado',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errores',
|
||||
'export as csv file': 'exportar como archivo CSV',
|
||||
'FAQ': 'Preguntas frecuentes',
|
||||
'First name': 'Nombre',
|
||||
'Forms and Validators': 'Formularios y validadores',
|
||||
'Free Applications': 'Aplicaciones Libres',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Modelo en Grafo',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Grupo %(group_id)s creado',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'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',
|
||||
'Helping web2py': 'Ayudando a web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Inicio',
|
||||
'How did you get here?': '¿Cómo llegaste aquí?',
|
||||
'import': 'importar',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Privilegios insuficientes',
|
||||
'Internal State': 'Estado Interno',
|
||||
'Introduction': 'Introducción',
|
||||
'Invalid email': 'Correo electrónico inválido',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Inicio de sesión inválido',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Consulta inválida',
|
||||
'invalid request': 'Solicitud inválida',
|
||||
'Invalid reset password': 'Reinicio de contraseña inválido',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Llave',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Apellido',
|
||||
'Layout': 'Diseño de página',
|
||||
'Live Chat': 'Chat en vivo',
|
||||
'Log In': 'Iniciar sesion',
|
||||
'Logged in': 'Sesión iniciada',
|
||||
'Logged out': 'Sesión finalizada',
|
||||
'Login': 'Inicio de sesión',
|
||||
'Login disabled by administrator': 'Inicio de sesión deshabilitado por el administrador',
|
||||
'Logout': 'Fin de sesión',
|
||||
'Lost Password': 'Contraseña perdida',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Gestionar %(action)s',
|
||||
'Manage Access Control': 'Gestionar control de acceso',
|
||||
'Manage Cache': 'Gestionar la Caché',
|
||||
'Memberships': 'Membresias',
|
||||
'Menu Model': 'Modelo "menu"',
|
||||
'My Sites': 'Mis Sitios',
|
||||
'Name': 'Nombre',
|
||||
'New password': 'Contraseña nueva',
|
||||
'New Record': 'Registro nuevo',
|
||||
'new record inserted': 'nuevo registro insertado',
|
||||
'next %s rows': 'siguiente %s filas',
|
||||
'No databases in this application': 'No hay bases de datos en esta aplicación',
|
||||
'Number of entries: **%s**': 'Numero de entradas: **%s**',
|
||||
'Object or table name': 'Nombre del objeto o tabla',
|
||||
'Old password': 'Contraseña vieja',
|
||||
'Online book': 'Libro Online',
|
||||
'Online examples': 'Ejemplos en línea',
|
||||
'or import from csv file': 'o importar desde archivo CSV',
|
||||
'Origin': 'Origen',
|
||||
'Other Recipes': 'Otras Recetas',
|
||||
'Overview': 'Resumen',
|
||||
'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',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permiso',
|
||||
'Permissions': 'Permisos',
|
||||
'please input your password again': 'por favor introduzca su contraseña otra vez',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Este sitio usa',
|
||||
'Preface': 'Prefacio',
|
||||
'previous %s rows': 'fila %s anterior',
|
||||
'Profile': 'Perfil',
|
||||
'Profile updated': 'Perfil actualizado',
|
||||
'pygraphviz library not found': 'Libreria pygraphviz no encontrada',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Consulta:',
|
||||
'Quick Examples': 'Ejemplos Rápidos',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Llaves de la Caché en RAM',
|
||||
'Ram Cleared': 'Ram Limpiada',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'La RAM contiene items con **%(hours)02d** %%{hora(hours)} **%(min)02d** %%{minuto(min)} **%(sec)02d** %%{segundo(sec)} de antiguedad.',
|
||||
'Recipes': 'Recetas',
|
||||
'Record': 'Registro',
|
||||
'Record %(id)s created': 'Registro %(id)s creado',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Registro Creado',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'el registro no existe',
|
||||
'Record id': 'Id de registro',
|
||||
'Record ID': 'ID de Registro',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Regístrese',
|
||||
'Registration identifier': 'Identificador de Registro',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Llave de registro',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registro con éxito',
|
||||
'Remember me (for 30 days)': 'Recuérdame (durante 30 días)',
|
||||
'Request reset password': 'Solicitar reinicio de contraseña',
|
||||
'Reset Password key': 'Restaurar Llave de la Contraseña',
|
||||
'Role': 'Rol',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Filas en la tabla',
|
||||
'Rows selected': 'Filas seleccionadas',
|
||||
'Save model as...': 'Guardar modelo como...',
|
||||
'Services': 'Servicios',
|
||||
'Sign Up': 'Registrarse',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Tamaño de la Caché:',
|
||||
'state': 'estado',
|
||||
'Statistics': 'Estadísticas',
|
||||
'Stylesheet': 'Hoja de estilo',
|
||||
'submit': 'enviar',
|
||||
'Submit': 'Enviar',
|
||||
'Support': 'Soporte',
|
||||
'Table': 'tabla',
|
||||
'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 Core': 'El Núcleo',
|
||||
'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 Views': 'Las Vistas',
|
||||
'This App': 'Esta Aplicación',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'Este correo electrónico ya tiene una cuenta',
|
||||
'Time in Cache (h:m:s)': 'Tiempo en Caché (h:m:s)',
|
||||
'Timestamp': 'Marca de tiempo',
|
||||
'Traceback': 'Rastrear',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'no es posible analizar el archivo CSV',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Actualice:',
|
||||
'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': 'Usuario',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'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 %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID de Usuario',
|
||||
'Username': 'Nombre de usuario',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Recuperar nombre de usuario',
|
||||
'Users': 'Usuarios',
|
||||
'Verify Password': 'Verificar Contraseña',
|
||||
'Videos': 'Vídeos',
|
||||
'View': 'Vista',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Trabajando...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Usted visitó la url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Su nombre de usuario es: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/fr-ca.py
Normal file
266
languages/fr-ca.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'À propos',
|
||||
'Access Control': "Contrôle d'accès",
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Recettes Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Bases de données et tables disponibles',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Ne peut pas être vide',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Change password',
|
||||
'Check to delete': 'Cliquez pour supprimer',
|
||||
'Clear CACHE?': 'Vider le CACHE?',
|
||||
'Clear DISK': 'Vider le DISQUE',
|
||||
'Clear RAM': 'Vider la RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'IP client',
|
||||
'Community': 'Communauté',
|
||||
'Components and Plugins': 'Composants et Plugiciels',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Contrôleur',
|
||||
'Copyright': "Droit d'auteur",
|
||||
'Current request': 'Demande actuelle',
|
||||
'Current response': 'Réponse actuelle',
|
||||
'Current session': 'Session en cours',
|
||||
'data uploaded': 'données téléchargées',
|
||||
'Database': 'base de données',
|
||||
'Database %s select': 'base de données %s selectionnée',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'Modèle BD',
|
||||
'Delete:': 'Supprimer:',
|
||||
'Demo': 'Démo',
|
||||
'Deployment Recipes': 'Recettes de déploiement',
|
||||
'Description': 'Description',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISQUE',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disque vidé',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": 'Vous ne savez pas quoi faire?',
|
||||
'done!': 'fait!',
|
||||
'Download': 'Téléchargement',
|
||||
'E-mail': 'Courriel',
|
||||
'Edit current record': "Modifier l'enregistrement courant",
|
||||
'Email and SMS': 'Courriel et texto',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'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',
|
||||
'Graph Model': 'Représentation graphique du modèle',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': '%(group_id)s groupe créé',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'ID du groupe',
|
||||
'Group uniquely assigned to user %(id)s': "Groupe unique attribué à l'utilisateur %(id)s",
|
||||
'Groups': 'Groupes',
|
||||
'Hello World': 'Bonjour le monde',
|
||||
'Helping web2py': 'Aider web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Accueil',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'importer',
|
||||
'Import/Export': 'Importer/Exporter',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'État interne',
|
||||
'Introduction': 'Présentation',
|
||||
'Invalid email': 'Courriel invalide',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Requête Invalide',
|
||||
'invalid request': 'requête invalide',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Clé',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Nom',
|
||||
'Layout': 'Mise en page',
|
||||
'Live Chat': 'Clavardage en direct',
|
||||
'Log In': 'Connexion',
|
||||
'Logged in': 'Connecté',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'Connexion',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Mot de passe perdu',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Gérer le Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu modèle',
|
||||
'My Sites': 'Mes sites',
|
||||
'Name': 'Nom',
|
||||
'New password': 'New password',
|
||||
'New Record': 'Nouvel enregistrement',
|
||||
'new record inserted': 'nouvel enregistrement inséré',
|
||||
'next %s rows': '%s prochaine lignes',
|
||||
'No databases in this application': "Cette application n'a pas de bases de données",
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Objet ou nom de table',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Exemples en ligne',
|
||||
'or import from csv file': "ou importer d'un fichier CSV",
|
||||
'Origin': 'Origine',
|
||||
'Other Recipes': 'Autres recettes',
|
||||
'Overview': 'Présentation',
|
||||
'Password': 'Mot de passe',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'Les mots de passe ne correspondent pas',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': "S'il vous plaît entrer votre mot de passe à nouveau",
|
||||
'Plugins': 'Plugiciels',
|
||||
'Powered by': 'Alimenté par',
|
||||
'Preface': 'Préface',
|
||||
'previous %s rows': '%s lignes précédentes',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'Bibliothèque pygraphviz introuvable',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Requête:',
|
||||
'Quick Examples': 'Exemples Rapides',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram vidée',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recettes',
|
||||
'Record': 'enregistrement',
|
||||
'Record %(id)s created': 'Enregistrement %(id)s créé',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Enregistrement %(id)s modifié',
|
||||
'Record Created': 'Enregistrement créé',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': "l'archive n'existe pas",
|
||||
'Record id': "id de l'enregistrement",
|
||||
'Record ID': "ID de l'enregistrement",
|
||||
'Record Updated': 'Enregistrement modifié',
|
||||
'Register': "S'inscrire",
|
||||
'Registration identifier': "Identifiant d'inscription",
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': "Clé d'enregistrement",
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'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é',
|
||||
'Role': 'Rôle',
|
||||
'Roles': 'Rôles',
|
||||
'Rows in Table': 'Lignes du tableau',
|
||||
'Rows selected': 'Lignes sélectionnées',
|
||||
'Save model as...': 'Enregistrer le modèle sous...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': "S'inscrire",
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Taille de la mémoire cache:',
|
||||
'state': 'état',
|
||||
'Statistics': 'Statistiques',
|
||||
'Stylesheet': 'Feuille de style',
|
||||
'submit': 'soumettre',
|
||||
'Submit': 'Soumettre',
|
||||
'Support': 'Soutien',
|
||||
'Table': '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 code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Temps en Cache (h:m:s)',
|
||||
'Timestamp': 'Horodatage',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': "incapable d'analyser le fichier cvs",
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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': 'Utilisateur',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'User %(id)s Logged-in': 'Utilisateur %(id)s connecté',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'Utilisateur %(id)s enregistré',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID utilisateur',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Utilisateurs',
|
||||
'Verify Password': 'Vérifiez le mot de passe',
|
||||
'Videos': 'Vidéos',
|
||||
'View': 'Vue',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Traitement en cours...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': "Vous avez visité l'URL %s",
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/fr.py
Normal file
266
languages/fr.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'À propos',
|
||||
'Access Control': "Contrôle d'accès",
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Recettes Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Bases de données et tables disponibles',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Ne peut pas être vide',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Change password',
|
||||
'Check to delete': 'Cliquez pour supprimer',
|
||||
'Clear CACHE?': 'Vider le CACHE?',
|
||||
'Clear DISK': 'Vider le DISQUE',
|
||||
'Clear RAM': 'Vider la RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'IP client',
|
||||
'Community': 'Communauté',
|
||||
'Components and Plugins': 'Composants et Plugiciels',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Contrôleur',
|
||||
'Copyright': "Droit d'auteur",
|
||||
'Current request': 'Demande actuelle',
|
||||
'Current response': 'Réponse actuelle',
|
||||
'Current session': 'Session en cours',
|
||||
'data uploaded': 'données téléchargées',
|
||||
'Database': 'base de données',
|
||||
'Database %s select': 'base de données %s selectionnée',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'Modèle BD',
|
||||
'Delete:': 'Supprimer:',
|
||||
'Demo': 'Démo',
|
||||
'Deployment Recipes': 'Recettes de déploiement',
|
||||
'Description': 'Description',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISQUE',
|
||||
'Disk Cache Keys': 'Clés de cache du disque',
|
||||
'Disk Cleared': 'Disque vidé',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": 'Vous ne savez pas quoi faire?',
|
||||
'done!': 'fait!',
|
||||
'Download': 'Téléchargement',
|
||||
'E-mail': 'Courriel',
|
||||
'Edit current record': "Modifier l'enregistrement courant",
|
||||
'Email and SMS': 'Courriel et texto',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'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',
|
||||
'Graph Model': 'Représentation graphique du modèle',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': '%(group_id)s groupe créé',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'ID du groupe',
|
||||
'Group uniquely assigned to user %(id)s': "Groupe unique attribué à l'utilisateur %(id)s",
|
||||
'Groups': 'Groupes',
|
||||
'Hello World': 'Bonjour le monde',
|
||||
'Helping web2py': 'Aider web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Accueil',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'importer',
|
||||
'Import/Export': 'Importer/Exporter',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'État interne',
|
||||
'Introduction': 'Présentation',
|
||||
'Invalid email': 'Courriel invalide',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Requête Invalide',
|
||||
'invalid request': 'requête invalide',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Clé',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Nom',
|
||||
'Layout': 'Mise en page',
|
||||
'Live Chat': 'Clavardage en direct',
|
||||
'Log In': 'Connexion',
|
||||
'Logged in': 'Connecté',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'Connexion',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Mot de passe perdu',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Gérer le Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu modèle',
|
||||
'My Sites': 'Mes sites',
|
||||
'Name': 'Nom',
|
||||
'New password': 'New password',
|
||||
'New Record': 'Nouvel enregistrement',
|
||||
'new record inserted': 'nouvel enregistrement inséré',
|
||||
'next %s rows': '%s prochaine lignes',
|
||||
'No databases in this application': "Cette application n'a pas de bases de données",
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Objet ou nom de table',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Exemples en ligne',
|
||||
'or import from csv file': "ou importer d'un fichier CSV",
|
||||
'Origin': 'Origine',
|
||||
'Other Recipes': 'Autres recettes',
|
||||
'Overview': 'Présentation',
|
||||
'Password': 'Mot de passe',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'Les mots de passe ne correspondent pas',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': "S'il vous plaît entrer votre mot de passe à nouveau",
|
||||
'Plugins': 'Plugiciels',
|
||||
'Powered by': 'Alimenté par',
|
||||
'Preface': 'Préface',
|
||||
'previous %s rows': '%s lignes précédentes',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'Bibliothèque pygraphviz introuvable',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Requête:',
|
||||
'Quick Examples': 'Exemples Rapides',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram vidée',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recettes',
|
||||
'Record': 'enregistrement',
|
||||
'Record %(id)s created': 'Enregistrement %(id)s créé',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Enregistrement %(id)s modifié',
|
||||
'Record Created': 'Enregistrement créé',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': "l'archive n'existe pas",
|
||||
'Record id': "id de l'enregistrement",
|
||||
'Record ID': "ID de l'enregistrement",
|
||||
'Record Updated': 'Enregistrement modifié',
|
||||
'Register': "S'inscrire",
|
||||
'Registration identifier': "Identifiant d'inscription",
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': "Clé d'enregistrement",
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'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é',
|
||||
'Role': 'Rôle',
|
||||
'Roles': 'Rôles',
|
||||
'Rows in Table': 'Lignes du tableau',
|
||||
'Rows selected': 'Lignes sélectionnées',
|
||||
'Save model as...': 'Enregistrer le modèle sous...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': "S'inscrire",
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Taille de la mémoire cache:',
|
||||
'state': 'état',
|
||||
'Statistics': 'Statistiques',
|
||||
'Stylesheet': 'Feuille de style',
|
||||
'submit': 'soumettre',
|
||||
'Submit': 'Soumettre',
|
||||
'Support': 'Soutien',
|
||||
'Table': '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 code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Temps en Cache (h:m:s)',
|
||||
'Timestamp': 'Horodatage',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': "incapable d'analyser le fichier cvs",
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'User %(id)s Logged-in': 'Utilisateur %(id)s connecté',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'Utilisateur %(id)s enregistré',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID utilisateur',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Vérifiez le mot de passe',
|
||||
'Videos': 'Vidéos',
|
||||
'View': 'Présentation',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': "Vous avez visité l'URL %s",
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/hi.py
Normal file
266
languages/hi.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'अप आडमिन (appadmin) अक्षम है क्योंकि असुरक्षित चैनल',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'उपलब्ध डेटाबेस और तालिका',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'वर्तमान अनुरोध',
|
||||
'Current response': 'वर्तमान प्रतिक्रिया',
|
||||
'Current session': 'वर्तमान सेशन',
|
||||
'data uploaded': 'डाटा अपलोड सम्पन्न ',
|
||||
'Database': 'डेटाबेस',
|
||||
'Database %s select': 'डेटाबेस %s चुनी हुई',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'मिटाना:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Description',
|
||||
'design': 'रचना करें',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'हो गया!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'वर्तमान रेकॉर्ड संपादित करें ',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'csv फ़ाइल के रूप में निर्यात',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Hello World',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'आयात / निर्यात',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'आंतरिक स्थिति',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'अमान्य प्रश्न',
|
||||
'invalid request': 'अवैध अनुरोध',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'लॉग इन',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'लॉग आउट',
|
||||
'Lost Password': 'पासवर्ड खो गया',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'New password': 'New password',
|
||||
'New Record': 'नया रेकॉर्ड',
|
||||
'new record inserted': 'नया रेकॉर्ड डाला',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'इस अनुप्रयोग में कोई डेटाबेस नहीं हैं',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'ऑनलाइन उदाहरण के लिए यहाँ क्लिक करें',
|
||||
'or import from csv file': 'या csv फ़ाइल से आयात',
|
||||
'Origin': 'Origin',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": "Password fields don't match",
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'प्रश्न:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'रिकॉर्ड मौजूद नहीं है',
|
||||
'Record id': 'रिकॉर्ड पहचानकर्ता (आईडी)',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'पंजीकृत (रजिस्टर) करना ',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registration key',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Remember me (for 30 days)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'तालिका में पंक्तियाँ ',
|
||||
'Rows selected': 'चयनित (चुने गये) पंक्तियाँ ',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'स्थिति',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Submit',
|
||||
'Support': '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.': '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',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'csv फ़ाइल पार्स करने में असमर्थ',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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.',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'User %(id)s Registered',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'User ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Verify Password',
|
||||
'Videos': 'Videos',
|
||||
'View': 'View',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/hu.py
Normal file
266
languages/hu.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'az appadmin a biztonságtalan csatorna miatt letiltva',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Elérhető adatbázisok és táblák',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'gyorsítótár',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Nem lehet üres',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Change password',
|
||||
'Check to delete': 'Törléshez válaszd ki',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Jelenlegi lekérdezés',
|
||||
'Current response': 'Jelenlegi válasz',
|
||||
'Current session': 'Jelenlegi folyamat',
|
||||
'data uploaded': 'adat feltöltve',
|
||||
'Database': 'adatbázis',
|
||||
'Database %s select': 'adatbázis %s kiválasztás',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Töröl:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Description',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'kész!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Aktuális bejegyzés szerkesztése',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'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',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Hello Világ',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Internal State',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Hibás lekérdezés',
|
||||
'invalid request': 'hibás kérés',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Szerkezet',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'Login',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Lost Password',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menü model',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'New password': 'New password',
|
||||
'New Record': 'Új bejegyzés',
|
||||
'new record inserted': 'új bejegyzés felvéve',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'Nincs adatbázis ebben az alkalmazásban',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'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 Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": "Password fields don't match",
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Lekérdezés:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'bejegyzés',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'bejegyzés nem létezik',
|
||||
'Record id': 'bejegyzés id',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Register',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registration key',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Remember me (for 30 days)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Sorok a táblában',
|
||||
'Rows selected': 'Kiválasztott sorok',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'állapot',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Submit',
|
||||
'Support': 'Support',
|
||||
'Table': 'tábla',
|
||||
'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',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'nem lehet a csv fájlt beolvasni',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'User %(id)s Registered',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'User ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Verify Password',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Nézet',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/id.py
Normal file
266
languages/id.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'id',
|
||||
'!langname!': 'Indonesian',
|
||||
'"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 %%{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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Tentang',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Resep Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'AppAdmin dinonaktifkan karena kanal tidak aman',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Apakah Anda yakin ingin menghapus ini?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Database dan Tabel yang tersedia',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Tidak boleh kosong',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Ubah kata sandi',
|
||||
'Check to delete': 'Centang untuk menghapus',
|
||||
'Clear CACHE?': 'Hapus CACHE?',
|
||||
'Clear DISK': 'Hapus DISK',
|
||||
'Clear RAM': 'Hapus RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Komunitas',
|
||||
'Components and Plugins': 'Komponen dan Plugin',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Hak Cipta',
|
||||
'Current request': 'Current request',
|
||||
'Current response': 'Current response',
|
||||
'Current session': 'Current session',
|
||||
'data uploaded': 'data diunggah',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'Memilih Database %s',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Hapus:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Keterangan',
|
||||
'design': 'disain',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Dihapus',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Dokumentasi',
|
||||
"Don't know what to do?": 'Tidak tahu apa yang harus dilakukan?',
|
||||
'done!': 'selesai!',
|
||||
'Download': 'Unduh',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Edit current record',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email dikirim',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Kesalahan',
|
||||
'export as csv file': 'ekspor sebagai file csv',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Aplikasi Gratis',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Grup %(group_id)s dibuat',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Grup unik yang diberikan kepada pengguna %(id)s',
|
||||
'Groups': 'Grup',
|
||||
'Hello World': 'Halo Dunia',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Halaman Utama',
|
||||
'How did you get here?': 'Bagaimana kamu bisa di sini?',
|
||||
'import': 'impor',
|
||||
'Import/Export': 'Impor/Ekspor',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Internal State',
|
||||
'Introduction': 'Pengenalan',
|
||||
'Invalid email': 'Email tidak benar',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Invalid Query',
|
||||
'invalid request': 'invalid request',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Masuk',
|
||||
'Logged out': 'Keluar',
|
||||
'Login': 'Masuk',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Keluar',
|
||||
'Lost Password': 'Lupa Kata Sandi',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Mengelola Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'Situs Saya',
|
||||
'Name': 'Name',
|
||||
'New password': 'Kata sandi baru',
|
||||
'New Record': 'New Record',
|
||||
'new record inserted': 'new record inserted',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'Tidak ada database dalam aplikasi ini',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Kata sandi lama',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Contoh Online',
|
||||
'or import from csv file': 'atau impor dari file csv',
|
||||
'Origin': 'Origin',
|
||||
'Other Recipes': 'Resep Lainnya',
|
||||
'Overview': 'Ikhtisar',
|
||||
'Password': 'Kata sandi',
|
||||
'Password changed': 'Kata sandi berubah',
|
||||
"Password fields don't match": 'Kata sandi tidak sama',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'silahkan masukan kata sandi anda lagi',
|
||||
'Plugins': 'Plugin',
|
||||
'Powered by': 'Didukung oleh',
|
||||
'Preface': 'Pendahuluan',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profil',
|
||||
'Profile updated': 'Profil diperbarui',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Query:',
|
||||
'Quick Examples': 'Contoh Cepat',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Dihapus',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Resep',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'record does not exist',
|
||||
'Record id': 'Record id',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Daftar',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registration key',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Pendaftaran berhasil',
|
||||
'Remember me (for 30 days)': 'Ingat saya (selama 30 hari)',
|
||||
'Request reset password': 'Meminta reset kata sandi',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Baris dalam Tabel',
|
||||
'Rows selected': 'Baris dipilih',
|
||||
'Save model as...': 'Simpan model sebagai ...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Ukuran cache:',
|
||||
'state': 'state',
|
||||
'Statistics': 'Statistik',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Submit',
|
||||
'Support': 'Mendukung',
|
||||
'Table': 'Tabel',
|
||||
'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': 'App Ini',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Waktu di Cache (h: m: s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'tidak mampu mengurai file csv',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Perbarui:',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'Pengguna %(id)s Profil diperbarui',
|
||||
'User %(id)s Registered': 'Pengguna %(id)s Terdaftar',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'User ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Verifikasi Kata Sandi',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Lihat',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': 'Selamat Datang di web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Anda mengunjungi url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/it.py
Normal file
266
languages/it.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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 ',
|
||||
'%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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Numero di entità: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'About',
|
||||
'Access Control': 'Controllo Accessi',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'Amministrazione (appadmin) disabilitata: comunicazione non sicura',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Sicuro di voler cancellare questo oggetto ?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Database e tabelle disponibili',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Non può essere vuoto',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Cambia Password',
|
||||
'Check to delete': 'Seleziona per cancellare',
|
||||
'Clear CACHE?': 'Resetta CACHE?',
|
||||
'Clear DISK': 'Resetta DISK',
|
||||
'Clear RAM': 'Resetta RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Componenti and Plugin',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Richiesta (request) corrente',
|
||||
'Current response': 'Risposta (response) corrente',
|
||||
'Current session': 'Sessione (session) corrente',
|
||||
'data uploaded': 'dati caricati',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'Database %s select',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'Modello di DB',
|
||||
'Delete:': 'Cancella:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Descrizione',
|
||||
'design': 'progetta',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentazione',
|
||||
"Don't know what to do?": 'Non sai cosa fare?',
|
||||
'done!': 'fatto!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Modifica record corrente',
|
||||
'Email and SMS': 'Email e SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errori',
|
||||
'export as csv file': 'esporta come file CSV',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Nome',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'ID Gruppo',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Salve Mondo',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'Come sei arrivato qui?',
|
||||
'import': 'importa',
|
||||
'Import/Export': 'Importa/Esporta',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Stato interno',
|
||||
'Introduction': 'Introduzione',
|
||||
'Invalid email': 'Email non valida',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Login non valido',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Richiesta (query) non valida',
|
||||
'invalid request': 'richiesta non valida',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Chiave',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Cognome',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Loggato',
|
||||
'Logged out': 'Disconnesso',
|
||||
'Login': 'Login',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Password Smarrita',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu Modelli',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Nome',
|
||||
'New password': 'Nuova password',
|
||||
'New Record': 'Nuovo elemento (record)',
|
||||
'new record inserted': 'nuovo record inserito',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'Nessun database presente in questa applicazione',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Oggeto o nome tabella',
|
||||
'Old password': 'Vecchia password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Vedere gli esempi',
|
||||
'or import from csv file': 'oppure importa da file CSV',
|
||||
'Origin': 'Origine',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'I campi password non sono uguali',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'perfavore reimmeti la tua password',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profilo',
|
||||
'Profile updated': 'Profile updated',
|
||||
'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',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'il record non esiste',
|
||||
'Record id': 'Record id',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Registrati',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Chiave di Registazione',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registrazione avvenuta',
|
||||
'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',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Righe nella tabella',
|
||||
'Rows selected': 'Righe selezionate',
|
||||
'Save model as...': 'Salva modello come...',
|
||||
'Services': 'Servizi',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'stato',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Foglio di stile (stylesheet)',
|
||||
'submit': 'Inviai',
|
||||
'Submit': 'Invia',
|
||||
'Support': 'Support',
|
||||
'Table': '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 code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Ora (timestamp)',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'non riesco a decodificare questo file CSV',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'User %(id)s Registered',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID Utente',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Verifica Password',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Vista',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': "Hai visitato l'URL %s",
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/my-mm.py
Normal file
266
languages/my-mm.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'my-mm',
|
||||
'!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 %%{row} ဖျက်ပြီးပြီ',
|
||||
'%s %%{row} updated': '%s %%{row} ပြင်ပြီးပြီ',
|
||||
'%s selected': '%s ခု ရွေးထားသည်',
|
||||
'%Y-%m-%d': '%Y-%m-%d',
|
||||
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'အကြောင်း',
|
||||
'Access Control': 'အသုံးပြု ခြင်းဆိုင်ရာ ထိန်းချုပ်ရန်',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'စိတ်မချရသော လမ်းကြောင်းမှ ဝင်ရောက်သဖြင့် appadmin ကို အသုံးပြု၍ မရပါ',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'သင် ဒီအရာ ဖျက်ရန် သေချာပါသလား။',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'အသုံးပြုနိုင်သော ဒေတာဘေစ့်များနှင့် ဇယားများ',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'အလွတ် မဖြစ်ရပါ',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Change password',
|
||||
'Check to delete': 'ဖျက်ရန် စစ်ဆေးပါ',
|
||||
'Clear CACHE?': 'CACHE ကို ရှင်းလင်းမည်မှာ ဟုတ်ပါသလား။',
|
||||
'Clear DISK': 'DISK ကို ရှင်းလင်းမည်။',
|
||||
'Clear RAM': 'RAM ကို ရှင်းလင်းမည်။',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'အသိုင်းအဝိုင်း',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'ကွန်ထရိုလာ',
|
||||
'Copyright': 'မူပိုင်ခွင့်',
|
||||
'Current request': 'Current request',
|
||||
'Current response': 'Current response',
|
||||
'Current session': 'Current session',
|
||||
'data uploaded': 'data uploaded',
|
||||
'Database': 'ဒေတာဘေစ့်',
|
||||
'Database %s select': 'Database %s select',
|
||||
'Database Administration (appadmin)': 'ဒေတာဘေစ့် စီမံခန့်ခွဲခြင်း (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Delete:',
|
||||
'Demo': 'အစမ်း၊ သရုပ်ပြမှုများ',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'ဖော်ပြချက်',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk ရှင်းလင်းပြီးပြီ',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'စာရွက်စာတမ်း အထောက်အကူများ',
|
||||
"Don't know what to do?": 'ဘာလုပ်ရမည်မသိ ဖြစ်နေပါသလား။',
|
||||
'done!': 'လုပ်ငန်း ဆောင်ရွက်ပြီးပြီ!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'အီးမေးလ်',
|
||||
'Edit current record': 'လက်ရှိ မှတ်တမ်းကို ပြင်ရန်',
|
||||
'Email and SMS': 'အီးမေးလ်နှင့် SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'အမှားများ',
|
||||
'export as csv file': ' csv file အနေနဲ့ ထုတ်ပေးရန်',
|
||||
'FAQ': 'ဖြစ်လေ့ရှိသော ပြဿနာများ',
|
||||
'First name': 'အမည်၏ ပထမဆုံး စာလုံး',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'အခမဲ့ Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'အဖွဲ့များ',
|
||||
'Hello World': 'မင်္ဂလာပါ ကမ္ဘာကြီး။',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'မူလသို့',
|
||||
'How did you get here?': 'သင် ဘယ်လို ရောက်လာခဲ့သလဲ။',
|
||||
'import': 'သွင်းယူရန်',
|
||||
'Import/Export': 'သွင်းယူရန်/ထုတ်ယူရန်',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Internal State',
|
||||
'Introduction': 'မိတ်ဆက်',
|
||||
'Invalid email': 'အီးမေးလ် ဖြည့်သွင်းမှုမှားနေသည်',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Invalid Query',
|
||||
'invalid request': 'invalid request',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'မျိုးနွယ်အမည်',
|
||||
'Layout': 'အပြင်အဆင်',
|
||||
'Live Chat': 'တိုက်ရိုက် ဆက်သွယ် ပြောကြားရန်',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'ဝင်ရောက်အသုံးပြုရန်',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'ထွက်ရန်',
|
||||
'Lost Password': 'စကားဝှက် မသိတော့ပါ',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': '%(action)s ကို စီမံရန်',
|
||||
'Manage Access Control': 'အသုံးပြုခြင်းဆိုင်ရာ ထိန်းချုပ်မှု စီမံခန့်ခွဲရန်',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'အသင်းဝင်များ',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'ကျွန်ုပ်၏ Site များ',
|
||||
'Name': 'အမည်',
|
||||
'New password': 'New password',
|
||||
'New Record': 'မှတ်တမ်း အသစ်',
|
||||
'new record inserted': 'မှတ်တမ်း အသစ် ဖြည့်သွင်းပြီးပြီ',
|
||||
'next %s rows': 'နောက်အတန်း %s တန်း',
|
||||
'No databases in this application': 'ဒီ application တွင် မည်သည့် ဒေတာဘေစ့်မှ မရှိပါ',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'အွန်လိုင်း နမူနာများ',
|
||||
'or import from csv file': 'or import from csv file',
|
||||
'Origin': 'မူလ အစ',
|
||||
'Other Recipes': 'အခြား Recipes',
|
||||
'Overview': 'အပေါ်ယံရှုမြင်ခြင်း',
|
||||
'Password': 'စကားဝှက်',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'စကားဝှက်များ ကိုက်ညီမှု မရှိပါ',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'ခွင့်ပြုချက်',
|
||||
'Permissions': 'ခွင့်ပြုချက်များ',
|
||||
'please input your password again': 'ကျေးဇူးပြု၍ စကားဝှက်ကို ထပ်မံ ဖြည့်သွင်းပေးပါ',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'အားဖြည့်စွမ်းအားပေးသူ',
|
||||
'Preface': 'နိဒါန်း',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library ကို မတွေ့ပါ',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Query:',
|
||||
'Quick Examples': 'အမြန် အသုံးပြုနိုင်သော နမူနာများ',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram ရှင်းလင်းပြီးပြီ',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'မှတ်တမ်း',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'မှတ်တမ်း မရှိပါ',
|
||||
'Record id': 'Record id',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'မှတ်ပုံတင်ရန်',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registration key',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Remember me (for 30 days)',
|
||||
'Request reset password': 'စကားဝှက် အသစ် တောင်းဆိုရန်',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Rows in Table',
|
||||
'Rows selected': 'ရွေးထားသော အတန်းများ',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'state',
|
||||
'Statistics': 'ကိန်းဂဏန်း အချက်အလက်များ',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'ပြုလုပ်ပါ',
|
||||
'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.': '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': 'ဒီ App',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'ဒီအီးမေးလ်တွင် အကောင့် ရှိပြီး ဖြစ်ပါသည်',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'unable to parse csv file',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': '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.',
|
||||
'User': 'အသုံးပြုသူ',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'User %(id)s Registered',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'User ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'အသုံးပြုသူများ',
|
||||
'Verify Password': 'စကားဝှက်ကို အတည်ပြုပါ',
|
||||
'Videos': 'ဗွီဒီယိုများ',
|
||||
'View': 'ဗျူး',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': 'web2py မှ ကြိုဆိုပါသည်။',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'ဆောင်ရွက်နေပါသည် ။ ။ ။',
|
||||
'You are successfully running web2py': 'သင်သည် web2py ကို အောင်မြင်စွာ လည်ပတ်မောင်းနှင်စေပါသည်။',
|
||||
'You can modify this application and adapt it to your needs': 'သင် ဒီ application ကို ပြုပြင်မွမ်းမံနိုင်ပါသည်။ ထို့အပြင် သင့်လိုအပ်ချက်များနှင့် ကိုက်ညီစေရန် ပြုလုပ်နိုင်ပါသည်။',
|
||||
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'သင် လည်ပတ်ခဲ့သော URL %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/my.py
Normal file
266
languages/my.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'!langcode!': 'my',
|
||||
'!langname!': 'Malay',
|
||||
'"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 %%{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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Mengenai',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Resipi Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Apakah anda yakin anda mahu memadam ini?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Available Databases and Tables',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Tidak boleh kosong',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Tukar kata laluan',
|
||||
'Check to delete': 'Check to delete',
|
||||
'Clear CACHE?': 'Hapus CACHE?',
|
||||
'Clear DISK': 'Hapus DISK',
|
||||
'Clear RAM': 'Hapus RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Komuniti',
|
||||
'Components and Plugins': 'Komponen dan Plugin',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Hak Cipta',
|
||||
'Current request': 'Current request',
|
||||
'Current response': 'Current response',
|
||||
'Current session': 'Current session',
|
||||
'data uploaded': 'data diunggah',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'Database %s select',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Hapus:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Description',
|
||||
'design': 'disain',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Dihapuskan',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Dokumentasi',
|
||||
"Don't know what to do?": 'Tidak tahu apa yang perlu dilakukan?',
|
||||
'done!': 'selesai!',
|
||||
'Download': 'Unduh',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Edit current record',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Emel dihantar',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Kesalahan',
|
||||
'export as csv file': 'eksport sebagai file csv',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Aplikasi Percuma',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Kumpulan %(group_id)s dicipta',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Kumpulan unik yang diberikan kepada pengguna %(id)s',
|
||||
'Groups': 'Kumpulan',
|
||||
'Hello World': 'Halo Dunia',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Laman Utama',
|
||||
'How did you get here?': 'Bagaimana kamu boleh di sini?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Eksport',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Internal State',
|
||||
'Introduction': 'Pengenalan',
|
||||
'Invalid email': 'Emel tidak benar',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Invalid Query',
|
||||
'invalid request': 'invalid request',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Masuk',
|
||||
'Logged out': 'Keluar',
|
||||
'Login': 'Masuk',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Keluar',
|
||||
'Lost Password': 'Lupa Kata Laluan',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Menguruskan Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'Laman Saya',
|
||||
'Name': 'Name',
|
||||
'New password': 'Kata laluan baru',
|
||||
'New Record': 'New Record',
|
||||
'new record inserted': 'new record inserted',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'No databases in this application',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Kata laluan lama',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Contoh Online',
|
||||
'or import from csv file': 'atau import dari file csv',
|
||||
'Origin': 'Origin',
|
||||
'Other Recipes': 'Resipi Lain',
|
||||
'Overview': 'Tinjauan',
|
||||
'Password': 'Kata laluan',
|
||||
'Password changed': 'Kata laluan berubah',
|
||||
"Password fields don't match": 'Kata laluan tidak sama',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'sila masukan kata laluan anda lagi',
|
||||
'Plugins': 'Plugin',
|
||||
'Powered by': 'Disokong oleh',
|
||||
'Preface': 'Pendahuluan',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profil',
|
||||
'Profile updated': 'Profil dikemaskini',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Query:',
|
||||
'Quick Examples': 'Contoh Cepat',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Dihapuskan',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Resipi',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'record does not exist',
|
||||
'Record id': 'Record id',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Daftar',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registration key',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Pendaftaran berjaya',
|
||||
'Remember me (for 30 days)': 'Ingat saya (selama 30 hari)',
|
||||
'Request reset password': 'Meminta reset kata laluan',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Rows in Table',
|
||||
'Rows selected': 'Baris dipilih',
|
||||
'Save model as...': 'Simpan model sebagai ...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Saiz cache:',
|
||||
'state': 'state',
|
||||
'Statistics': 'Statistik',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Submit',
|
||||
'Support': 'Menyokong',
|
||||
'Table': 'Table',
|
||||
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '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': 'App Ini',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Waktu di Cache (h: m: s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'tidak mampu mengurai file csv',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Kemas kini:',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'Pengguna %(id)s Profil dikemaskini',
|
||||
'User %(id)s Registered': 'Pengguna %(id)s Didaftarkan',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'User ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Pengesahan Kata Laluan',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Lihat',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': 'Selamat Datang di web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Anda melawat url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/nl.py
Normal file
266
languages/nl.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'%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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Over',
|
||||
'Access Control': 'Toegangscontrole',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recepten',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is uitgezet vanwege een onveilig kanaal',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Weet je zeker dat je dit object wilt verwijderen?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Beschikbare databases en tabellen',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Mag niet leeg zijn',
|
||||
'Change Password': 'Wijzig wachtwoord',
|
||||
'Change password': 'Wijzig Wachtwoord',
|
||||
'Check to delete': 'Vink aan om te verwijderen',
|
||||
'Clear CACHE?': 'Leeg CACHE?',
|
||||
'Clear DISK': 'Leeg DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components en Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Huidige request',
|
||||
'Current response': 'Huidige response',
|
||||
'Current session': 'Huidige sessie',
|
||||
'data uploaded': 'data geupload',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'Database %s select',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Verwijder:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recepten',
|
||||
'Description': 'Beschrijving',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Geleegd',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentatie',
|
||||
"Don't know what to do?": 'Weet je niet wat je moet doen?',
|
||||
'done!': 'gereed!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Bewerk huidig record',
|
||||
'Email and SMS': 'E-mail en SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'exporteer als csv-bestand',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Voornaam',
|
||||
'Forms and Validators': 'Formulieren en Validators',
|
||||
'Free Applications': 'Gratis Applicaties',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Groep %(group_id)s gemaakt',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'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',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'Hoe ben je hier gekomen?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Interne State',
|
||||
'Introduction': 'Introductie',
|
||||
'Invalid email': 'Ongeldig emailadres',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Ongeldig wachtwoord',
|
||||
'Invalid Query': 'Ongeldige Query',
|
||||
'invalid request': 'ongeldige request',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Achternaam',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Ingelogd',
|
||||
'Logged out': 'Uitgelogd',
|
||||
'Login': 'Login',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Wachtwoord Kwijt',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Beheer Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'Mijn Sites',
|
||||
'Name': 'Naam',
|
||||
'New password': 'Nieuw wachtwoord',
|
||||
'New Record': 'Nieuw Record',
|
||||
'new record inserted': 'nieuw record ingevoegd',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'Geen database in deze applicatie',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object of tabelnaam',
|
||||
'Old password': 'Oude wachtwoord',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Online voorbeelden',
|
||||
'or import from csv file': 'of importeer van csv-bestand',
|
||||
'Origin': 'Bron',
|
||||
'Other Recipes': 'Andere Recepten',
|
||||
'Overview': 'Overzicht',
|
||||
'Password': 'Wachtwoord',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'Wachtwoordvelden komen niet overeen',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'geef alstublieft nogmaals uw wachtwoord',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Inleiding',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profiel',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Query:',
|
||||
'Quick Examples': 'Snelle Voorbeelden',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Geleegd',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recepten',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'record bestaat niet',
|
||||
'Record id': 'Record id',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Registreer',
|
||||
'Registration identifier': 'Registratie identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registratie sleutel',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registratie succesvol',
|
||||
'Remember me (for 30 days)': 'Onthoudt mij (voor 30 dagen)',
|
||||
'Request reset password': 'Vraag een wachtwoord reset aan',
|
||||
'Reset Password key': 'Reset Wachtwoord sleutel',
|
||||
'Role': 'Rol',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Rijen in tabel',
|
||||
'Rows selected': 'Rijen geselecteerd',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Grootte van cache:',
|
||||
'state': 'state',
|
||||
'Statistics': 'Statistieken',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Submit',
|
||||
'Support': 'Support',
|
||||
'Table': 'Tabel',
|
||||
'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 Core': 'De Core',
|
||||
'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 Views': 'De Views',
|
||||
'This App': 'Deze App',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Tijd in Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp (timestamp)',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'niet mogelijk om csv-bestand te parsen',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Update:',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'Profiel van Gebruiker %(id)s geupdate',
|
||||
'User %(id)s Registered': 'Gebruiker %(id)s Geregistreerd',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'User ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Verifieer Wachtwoord',
|
||||
'Videos': 'Videos',
|
||||
'View': 'View',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Je bezocht de url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/pl.py
Normal file
266
languages/pl.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'administracja aplikacji wyłączona z powodu braku bezpiecznego połączenia',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Dostępne bazy danych i tabele',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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ąć',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'IP klienta',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Kontroler',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktualne żądanie',
|
||||
'Current response': 'Aktualna odpowiedź',
|
||||
'Current session': 'Aktualna sesja',
|
||||
'data uploaded': 'dane wysłane',
|
||||
'Database': 'baza danych',
|
||||
'Database %s select': 'wybór z bazy danych %s',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'baza danych',
|
||||
'DB Model': 'Model bazy danych',
|
||||
'Delete:': 'Usuń:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Opis',
|
||||
'design': 'projektuj',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'zrobione!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'Adres e-mail',
|
||||
'Edit current record': 'Edytuj obecny rekord',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'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',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'ID grupy',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Witaj Świecie',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Importuj/eksportuj',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Stan wewnętrzny',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Błędny adres email',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Błędne zapytanie',
|
||||
'invalid request': 'Błędne żądanie',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Nazwisko',
|
||||
'Layout': 'Układ',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'Zaloguj',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Wyloguj',
|
||||
'Lost Password': 'Przypomnij hasło',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Model menu',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Nazwa',
|
||||
'New password': 'New password',
|
||||
'New Record': 'Nowy rekord',
|
||||
'new record inserted': 'nowy rekord został wstawiony',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'Brak baz danych w tej aplikacji',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'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 Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Hasło',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'Pola hasła nie są zgodne ze sobą',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Zasilane przez',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Zapytanie:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'rekord',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'rekord nie istnieje',
|
||||
'Record id': 'id rekordu',
|
||||
'Record ID': 'ID rekordu',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Zarejestruj',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Klucz rejestracji',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Remember me (for 30 days)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Rola',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Wiersze w tabeli',
|
||||
'Rows selected': 'Wybrane wiersze',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'stan',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Arkusz stylów',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Wyślij',
|
||||
'Support': 'Support',
|
||||
'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.': '"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',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Znacznik czasu',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'nie można sparsować pliku csv',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'Użytkownik %(id)s został zarejestrowany',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID użytkownika',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Potwierdź hasło',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Widok',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
19
languages/plural-cs.py
Normal file
19
languages/plural-cs.py
Normal file
@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'den': ['dny', 'dn\\xc5\\xaf'],
|
||||
'dnem': ['dny', 'dny'],
|
||||
'hodina': ['hodiny', 'hodin'],
|
||||
'hodinou': ['hodinami', 'hodinami'],
|
||||
'minuta': ['minuty', 'minut'],
|
||||
'minutou': ['minutami', 'minutami'],
|
||||
'měsíc': ['m\\xc4\\x9bs\\xc3\\xadce', 'm\\xc4\\x9bs\\xc3\\xadc\\xc5\\xaf'],
|
||||
'měsícem': ['m\\xc4\\x9bs\\xc3\\xadci', 'm\\xc4\\x9bs\\xc3\\xadci'],
|
||||
'rok': ['roky', 'let'],
|
||||
'rokem': ['roky', 'lety'],
|
||||
'soubor': ['soubory', 'soubor\\xc5\\xaf'],
|
||||
'týden': ['t\\xc3\\xbddny', 't\\xc3\\xbddn\\xc5\\xaf'],
|
||||
'týdnem': ['t\\xc3\\xbddny', 't\\xc3\\xbddny'],
|
||||
'vteřina': ['vte\\xc5\\x99iny', 'vte\\xc5\\x99in'],
|
||||
'vteřinou': ['vte\\xc5\\x99inami', 'vte\\xc5\\x99inami'],
|
||||
'záznam': ['z\\xc3\\xa1znamy', 'z\\xc3\\xa1znam\\xc5\\xaf'],
|
||||
}
|
14
languages/plural-en.py
Normal file
14
languages/plural-en.py
Normal file
@ -0,0 +1,14 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'account': ['accounts'],
|
||||
'book': ['books'],
|
||||
'is': ['are'],
|
||||
'man': ['men'],
|
||||
'miss': ['misses'],
|
||||
'person': ['people'],
|
||||
'quark': ['quarks'],
|
||||
'shop': ['shops'],
|
||||
'this': ['these'],
|
||||
'was': ['were'],
|
||||
'woman': ['women'],
|
||||
}
|
7
languages/plural-es.py
Normal file
7
languages/plural-es.py
Normal file
@ -0,0 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'actualizada': ['actualizadas'],
|
||||
'eliminada': ['eliminadas'],
|
||||
'fila': ['filas'],
|
||||
'seleccionado': ['seleccionados'],
|
||||
}
|
15
languages/plural-ru.py
Normal file
15
languages/plural-ru.py
Normal file
@ -0,0 +1,15 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'выбрана': ['выбраны','выбрано'],
|
||||
'год': ['года','лет'],
|
||||
'день': ['дня', 'дней'],
|
||||
'запись': ['записи','записей'],
|
||||
'изменена': ['изменены','изменено'],
|
||||
'месяц': ['месяца','месяцев'],
|
||||
'минуту': ['минуты','минут'],
|
||||
'неделю': ['недели','недель'],
|
||||
'секунду': ['секунды','секунд'],
|
||||
'строка': ['строки','строк'],
|
||||
'удалена': ['удалены','удалено'],
|
||||
'час': ['часа','часов'],
|
||||
}
|
16
languages/plural-uk.py
Normal file
16
languages/plural-uk.py
Normal file
@ -0,0 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'байт': ['\\xd0\\xb1\\xd0\\xb0\\xd0\\xb9\\xd1\\x82\\xd0\\xb8', '\\xd0\\xb1\\xd0\\xb0\\xd0\\xb9\\xd1\\x82\\xd1\\x96\\xd0\\xb2'],
|
||||
'годину': ['\\xd0\\xb3\\xd0\\xbe\\xd0\\xb4\\xd0\\xb8\\xd0\\xbd\\xd0\\xb8', '\\xd0\\xb3\\xd0\\xbe\\xd0\\xb4\\xd0\\xb8\\xd0\\xbd'],
|
||||
'день': ['\\xd0\\xb4\\xd0\\xbd\\xd1\\x96', '\\xd0\\xb4\\xd0\\xbd\\xd1\\x96\\xd0\\xb2'],
|
||||
'елемент': ['\\xd0\\xb5\\xd0\\xbb\\xd0\\xb5\\xd0\\xbc\\xd0\\xb5\\xd0\\xbd\\xd1\\x82\\xd0\\xb8', '\\xd0\\xb5\\xd0\\xbb\\xd0\\xb5\\xd0\\xbc\\xd0\\xb5\\xd0\\xbd\\xd1\\x82\\xd1\\x96\\xd0\\xb2'],
|
||||
'запис': ['\\xd0\\xb7\\xd0\\xb0\\xd0\\xbf\\xd0\\xb8\\xd1\\x81\\xd0\\xb8', '\\xd0\\xb7\\xd0\\xb0\\xd0\\xbf\\xd0\\xb8\\xd1\\x81\\xd1\\x96\\xd0\\xb2'],
|
||||
'місяць': ['\\xd0\\xbc\\xd1\\x96\\xd1\\x81\\xd1\\x8f\\xd1\\x86\\xd1\\x96', '\\xd0\\xbc\\xd1\\x96\\xd1\\x81\\xd1\\x8f\\xd1\\x86\\xd1\\x96\\xd0\\xb2'],
|
||||
'поцілювання': ['\\xd0\\xbf\\xd0\\xbe\\xd1\\x86\\xd1\\x96\\xd0\\xbb\\xd1\\x8e\\xd0\\xb2\\xd0\\xb0\\xd0\\xbd\\xd0\\xbd\\xd1\\x8f', '\\xd0\\xbf\\xd0\\xbe\\xd1\\x86\\xd1\\x96\\xd0\\xbb\\xd1\\x8e\\xd0\\xb2\\xd0\\xb0\\xd0\\xbd\\xd1\\x8c'],
|
||||
'рядок': ['\\xd1\\x80\\xd1\\x8f\\xd0\\xb4\\xd0\\xba\\xd0\\xb8', '\\xd1\\x80\\xd1\\x8f\\xd0\\xb4\\xd0\\xba\\xd1\\x96\\xd0\\xb2'],
|
||||
'рік': ['\\xd1\\x80\\xd0\\xbe\\xd0\\xba\\xd0\\xb8', '\\xd1\\x80\\xd0\\xbe\\xd0\\xba\\xd1\\x96\\xd0\\xb2'],
|
||||
'секунду': ['\\xd1\\x81\\xd0\\xb5\\xd0\\xba\\xd1\\x83\\xd0\\xbd\\xd0\\xb4\\xd0\\xb8', '\\xd1\\x81\\xd0\\xb5\\xd0\\xba\\xd1\\x83\\xd0\\xbd\\xd0\\xb4'],
|
||||
'схибнення': ['\\xd1\\x81\\xd1\\x85\\xd0\\xb8\\xd0\\xb1\\xd0\\xbd\\xd0\\xb5\\xd0\\xbd\\xd0\\xbd\\xd1\\x8f', '\\xd1\\x81\\xd1\\x85\\xd0\\xb8\\xd0\\xb1\\xd0\\xbd\\xd0\\xb5\\xd0\\xbd\\xd1\\x8c'],
|
||||
'тиждень': ['\\xd1\\x82\\xd0\\xb8\\xd0\\xb6\\xd0\\xbd\\xd1\\x96', '\\xd1\\x82\\xd0\\xb8\\xd0\\xb6\\xd0\\xbd\\xd1\\x96\\xd0\\xb2'],
|
||||
'хвилину': ['\\xd1\\x85\\xd0\\xb2\\xd0\\xb8\\xd0\\xbb\\xd0\\xb8\\xd0\\xbd\\xd0\\xb8', '\\xd1\\x85\\xd0\\xb2\\xd0\\xb8\\xd0\\xbb\\xd0\\xb8\\xd0\\xbd'],
|
||||
}
|
266
languages/pt-br.py
Normal file
266
languages/pt-br.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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 linha apagadas',
|
||||
'%s %%{row} updated': '%s linha atualizadas',
|
||||
'%s selected': '%s selecionado',
|
||||
'%Y-%m-%d': '%d-%m-%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ocorreu um erro, por favor [[reload %s]] a página',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'Uma nova senha foi enviada por email para você',
|
||||
'About': 'Sobre',
|
||||
'Access Control': 'Controle de Acesso',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Receitas de Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'Exmplo de API',
|
||||
'appadmin is disabled because insecure channel': 'Administração desativada porque o canal não é seguro',
|
||||
'Apply changes': 'Aplicar Mudanças',
|
||||
'Are you sure you want to delete this object?': 'Você tem certeza que quer apagar este objeto?',
|
||||
'Authentication code': 'Código de autenticação',
|
||||
'Available Databases and Tables': 'Bancos de dados e tabelas disponíveis',
|
||||
"Buy web2py's book": 'Compre o livro do web2py',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache limpo',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Chaves de cache',
|
||||
'Cannot be empty': 'Não pode estar vazio',
|
||||
'Change Password': 'Trocar Senhar',
|
||||
'Change password': 'Trocar senha',
|
||||
'Check to delete': 'Marque para apagar',
|
||||
'Clear CACHE?': 'Limpar CACHE?',
|
||||
'Clear DISK': 'Limpar DISCO',
|
||||
'Clear RAM': 'Limpar memória RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'IP do cliente',
|
||||
'Community': 'Comunidade',
|
||||
'Components and Plugins': 'Componentes e Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Requisição atual',
|
||||
'Current response': 'Resposta atual',
|
||||
'Current session': 'Sessão atual',
|
||||
'data uploaded': 'dados enviados',
|
||||
'Database': 'banco de dados',
|
||||
'Database %s select': 'Selecionar banco de dados %s',
|
||||
'Database Administration (appadmin)': 'Administração de Banco de Dados (appadmin)',
|
||||
'db': 'bd',
|
||||
'DB Model': 'Modelo BD',
|
||||
'Delete:': 'Apagar:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Receitas de deploy',
|
||||
'Description': 'Descrição',
|
||||
'design': 'projeto',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Chaves do Cache de Disco',
|
||||
'Disk Cleared': 'Disco Limpo',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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 current record': 'Editar o registro atual',
|
||||
'Email and SMS': 'Email e SMS',
|
||||
'Email sent': 'Email enviado',
|
||||
'Email verification': 'Verificação de email',
|
||||
'Email verified': 'Email verificado',
|
||||
'Errors': 'Erros',
|
||||
'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',
|
||||
'Function disabled': 'Função desabilitada',
|
||||
'Graph Model': 'Modelo em Grafo',
|
||||
'Grid Example': 'Exemplo de Grade',
|
||||
'Group %(group_id)s created': 'Grupo %(group_id)s criado',
|
||||
'Group %(group_id)s deleted': 'Grupo %(group_id)s excluído',
|
||||
'Group ID': 'ID do Grupo',
|
||||
'Group uniquely assigned to user %(id)s': 'Gurpo unicamente atribuído ao usuário %(id)s',
|
||||
'Groups': 'Grupos',
|
||||
'Hello World': 'Olá Mundo',
|
||||
'Helping web2py': 'Ajudando web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Principal',
|
||||
'How did you get here?': 'Como você chegou aqui?',
|
||||
'import': 'importar',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Privilégios insuficientes',
|
||||
'Internal State': 'Estado Interno',
|
||||
'Introduction': 'Introdução',
|
||||
'Invalid email': 'Email inválido',
|
||||
'Invalid key': 'Chave inválida',
|
||||
'Invalid login': 'Login Inválido',
|
||||
'Invalid password': 'Senha inválida',
|
||||
'Invalid Query': 'Consulta Inválida',
|
||||
'invalid request': 'requisição inválida',
|
||||
'Invalid reset password': 'Recriação de senha inválida',
|
||||
'Invalid user': 'Usuário inválido',
|
||||
'Invalid username': 'Nome de usuário inválido',
|
||||
'Invitation to join %(site)s': 'Convite para entrar %(site)s',
|
||||
'Key': 'Chave',
|
||||
'Key verified': 'Chave verificada',
|
||||
'Last name': 'Sobrenome',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Chat ao vivo',
|
||||
'Log In': 'Entrar',
|
||||
'Logged in': 'Conectado',
|
||||
'Logged out': 'Desconectado',
|
||||
'Login': 'Entrar',
|
||||
'Login disabled by administrator': 'Login desabilitado pelo administrador',
|
||||
'Logout': 'Sair',
|
||||
'Lost Password': 'Esqueceu sua senha?',
|
||||
'Lost your password?': 'Esqueceu sua senha?',
|
||||
'Manage %(action)s': 'Gerenciar %(action)s',
|
||||
'Manage Access Control': 'Gerenciar controle de acesso',
|
||||
'Manage Cache': 'Gerenciar Cache',
|
||||
'Memberships': 'Grupos',
|
||||
'Menu Model': 'Modelo de Menu',
|
||||
'My Sites': 'Meus sites',
|
||||
'Name': 'Nome',
|
||||
'New password': 'Nova senha',
|
||||
'New Record': 'Novo Registro',
|
||||
'new record inserted': 'novo registro inserido',
|
||||
'next %s rows': 'próximas %s ´linhas',
|
||||
'No databases in this application': 'Não há bancos de dados nesta aplicação',
|
||||
'Number of entries: **%s**': 'Número de entradas: **%s**',
|
||||
'Object or table name': 'Nome do objeto do da tabela',
|
||||
'Old password': 'Senha antiga',
|
||||
'Online book': 'Livro online',
|
||||
'Online examples': 'Exemplos online',
|
||||
'or import from csv file': 'ou importar de um arquivo csv',
|
||||
'Origin': 'Origem',
|
||||
'Other Recipes': 'Outras Receitas',
|
||||
'Overview': 'Visão Geral',
|
||||
'Password': 'Senha',
|
||||
'Password changed': 'Senha trocada',
|
||||
"Password fields don't match": 'Senhas não conferem',
|
||||
'Password reset': 'Recriar senha',
|
||||
'Password retrieve': 'Recuperar senha',
|
||||
'Permission': 'Permissão',
|
||||
'Permissions': 'Permissões',
|
||||
'please input your password again': 'por favor digite a senha novamente',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Desenvolvido com',
|
||||
'Preface': 'Prefácio',
|
||||
'previous %s rows': '%s linhas anteriores',
|
||||
'Profile': 'Perfil',
|
||||
'Profile updated': 'Perfil atualizado',
|
||||
'pygraphviz library not found': 'biblioteca pygraphviz não encontrada',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Consulta:',
|
||||
'Quick Examples': 'Exemplos rápidos',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Chaves de Cache RAM ',
|
||||
'Ram Cleared': 'Ram Limpa',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Receitas',
|
||||
'Record': 'Registro',
|
||||
'Record %(id)s created': 'Registro %(id)s criado',
|
||||
'Record %(id)s deleted': 'Registro %(id)s excluído',
|
||||
'Record %(id)s read': 'Registro %(id)s lido',
|
||||
'Record %(id)s updated': 'Registro %(id)s atualizado',
|
||||
'Record Created': 'Registro Criado',
|
||||
'Record Deleted': 'Registro Excluído',
|
||||
'record does not exist': 'registro não existe',
|
||||
'Record id': 'id do registro',
|
||||
'Record ID': 'ID do Registro',
|
||||
'Record Updated': 'Registro Atualizado',
|
||||
'Register': 'Cadastre-se',
|
||||
'Registration identifier': 'Idenficador de Cadastro',
|
||||
'Registration is pending approval': 'Aprovação de cadastro pendente',
|
||||
'Registration key': 'Chave de cadastro',
|
||||
'Registration needs verification': 'Cadastro necessita verficação',
|
||||
'Registration successful': 'Cadastro finalizado',
|
||||
'Remember me (for 30 days)': 'Mantenha-me logado (por 30 dias)',
|
||||
'Request reset password': 'Requerer recriação de senha',
|
||||
'Reset Password key': 'Resetar chave de senha',
|
||||
'Role': 'Papel',
|
||||
'Roles': 'Papéis',
|
||||
'Rows in Table': 'Linhas na tabela',
|
||||
'Rows selected': 'Linhas selecionadas',
|
||||
'Save model as...': 'Salvar modelo como...',
|
||||
'Services': 'Serviço',
|
||||
'Sign Up': 'Cadastrar',
|
||||
'Sign up': 'Cadastrar',
|
||||
'Size of cache:': 'Tamanho do cache:',
|
||||
'state': 'estado',
|
||||
'Statistics': 'Estatísticas',
|
||||
'Stylesheet': 'Folha de estilo',
|
||||
'submit': 'enviar',
|
||||
'Submit': 'Enviar',
|
||||
'Support': 'Suporte',
|
||||
'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.': '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 code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'Este email já tem uma conta',
|
||||
'Time in Cache (h:m:s)': 'Tempo em Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Código de Autenticação de Login em Dois Fatores',
|
||||
'unable to parse csv file': 'não foi possível analisar arquivo csv',
|
||||
'Unable to send email': 'Não foi possível enviar email',
|
||||
'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': 'Usuário',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'User %(id)s Logged-in': 'Usuário %(id)s entrou',
|
||||
'User %(id)s Logged-out': 'Usuário %(id)s saiu',
|
||||
'User %(id)s Password changed': 'Usuário %(id)s trocou a senha',
|
||||
'User %(id)s Password reset': 'Usuário %(id)s recirar a senha',
|
||||
'User %(id)s Password retrieved': 'Usuário %(id)s Recuperou a senha',
|
||||
'User %(id)s Profile updated': 'Usuário %(id)s Atualizou perfil',
|
||||
'User %(id)s Registered': 'Usuário %(id)s Cadastrou-se',
|
||||
'User %(id)s Username retrieved': 'Usuário %(id)s Recuperou nome de usuário',
|
||||
'User %(id)s Verification email sent': 'Usuário %(id)s Email de verificação enviado',
|
||||
'User %(id)s verified registration key': 'Usuário %(id)s chave de cadastro verificada',
|
||||
'User ID': 'ID do Usuário',
|
||||
'Username': 'Nome de Usuário',
|
||||
'Username already taken': 'Nome de usuário já existe',
|
||||
'Username retrieve': 'Recuperar nome de usuário',
|
||||
'Users': 'Usuários',
|
||||
'Verify Password': 'Verificar Senha',
|
||||
'Videos': 'Vídeos',
|
||||
'View': 'Visualização',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Exmplo de Wiki',
|
||||
'Working...': 'Trabalhando...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Você acessou a url %s',
|
||||
'Your password is: %(password)s': 'Sua senha é: %(password)s',
|
||||
'Your temporary login code is {0}': 'Seu código temporário de login é {0}',
|
||||
'Your username is: %(username)s': 'Seu nome de usuário é: %(username)s',
|
||||
'Your username was emailed to you': 'Seu nome de usuário foi enviado por email para você',
|
||||
}
|
266
languages/pt.py
Normal file
266
languages/pt.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Sobre',
|
||||
'Access Control': 'Controle de acesso',
|
||||
'admin': 'administrador',
|
||||
'Ajax Recipes': 'Formulas Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'Ocorreu um erro, por favor [[recarregue %s]] a página',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin está desactivada pois o canal é inseguro',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Tem a certeza que quer deletar este objeto?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'bases de dados e tabelas disponíveis',
|
||||
"Buy web2py's book": 'Comprar Livros web2py',
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Limpo',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'não pode ser vazio',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Change password',
|
||||
'Check to delete': 'seleccione para eliminar',
|
||||
'Clear CACHE?': 'apagar CACHE?',
|
||||
'Clear DISK': 'apagar DISK',
|
||||
'Clear RAM': 'apagar RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Comunidade',
|
||||
'Components and Plugins': 'Componentes e Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controlador',
|
||||
'Copyright': 'Direitos de Autor',
|
||||
'Current request': 'Pedido Corrente',
|
||||
'Current response': 'Resposta Corrente',
|
||||
'Current session': 'Sessão Corrente',
|
||||
'data uploaded': 'Informação enviada',
|
||||
'Database': 'base de dados',
|
||||
'Database %s select': 'selecção de base de dados %s',
|
||||
'Database Administration (appadmin)': 'Base de Dados da Administração (appadmin)',
|
||||
'db': 'bd',
|
||||
'DB Model': 'Modelo de BD',
|
||||
'Delete:': 'Eliminar:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Description',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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 current record': 'Edição de registo currente',
|
||||
'Email and SMS': 'Email e SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Erros',
|
||||
'export as csv file': 'exportar como ficheiro csv',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Olá Mundo',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Importar/Exportar',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Estado interno',
|
||||
'Introduction': 'Introdução',
|
||||
'Invalid email': 'Invalid email',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Consulta Inválida',
|
||||
'invalid request': 'Pedido Inválido',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Last name',
|
||||
'Layout': 'Esboço',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': 'Login',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Perdeu a Senha',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu do Modelo',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Nome',
|
||||
'New password': 'New password',
|
||||
'New Record': 'Novo Registo',
|
||||
'new record inserted': 'novo registo inserido',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'Não há bases de dados nesta aplicação',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Livro Online',
|
||||
'Online examples': 'Exemplos online',
|
||||
'or import from csv file': 'ou importe a partir de ficheiro csv',
|
||||
'Origin': 'Origin',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Password',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": "Password fields don't match",
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Suportado por',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Interrogação:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Receitas',
|
||||
'Record': 'registo',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'registo inexistente',
|
||||
'Record id': 'id de registo',
|
||||
'Record ID': 'Record ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Registar',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registration key',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Lembrar de mim (por 30 dias)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Linhas numa tabela',
|
||||
'Rows selected': 'Linhas seleccionadas',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Registar-se',
|
||||
'Sign up': 'Registar-se',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'estado',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Folha de estilo',
|
||||
'submit': 'submeter',
|
||||
'Submit': 'Submit',
|
||||
'Support': 'Support',
|
||||
'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',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Timestamp',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'não foi possível carregar ficheiro csv',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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.',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': 'User %(id)s Registered',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'User ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Verify Password',
|
||||
'Videos': 'Videos',
|
||||
'View': 'Vista',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': 'Bem-vindo(a) ao web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/ro.py
Normal file
266
languages/ro.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'%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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Despre',
|
||||
'Access Control': 'Control acces',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Rețete Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin dezactivat deoarece conexiunea nu e sigură',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Sigur ștergeți acest obiect?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Baze de date și tabele disponibile',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Chei cache',
|
||||
'Cannot be empty': 'Nu poate fi vid',
|
||||
'Change Password': 'Schimbare parolă',
|
||||
'Change password': 'Schimbare parolă',
|
||||
'Check to delete': 'Coșați pentru a șterge',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'IP client',
|
||||
'Community': 'Comunitate',
|
||||
'Components and Plugins': 'Componente și plugin-uri',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controlor',
|
||||
'Copyright': 'Drepturi de autor',
|
||||
'Current request': 'Cerere curentă',
|
||||
'Current response': 'Răspuns curent',
|
||||
'Current session': 'Sesiune curentă',
|
||||
'data uploaded': 'date încărcate',
|
||||
'Database': 'bază de date',
|
||||
'Database %s select': 'selectare bază de date %s',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'Model bază de date',
|
||||
'Delete:': 'Șterge:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Rețete de instalare',
|
||||
'Description': 'Descriere',
|
||||
'design': 'design',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Chei cache de disc',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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',
|
||||
'Edit current record': 'Editare înregistrare curentă',
|
||||
'Email and SMS': 'E-mail și SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Erori',
|
||||
'export as csv file': 'exportă ca fișier csv',
|
||||
'FAQ': 'Întrebări frecvente',
|
||||
'First name': 'Prenume',
|
||||
'Forms and Validators': 'Formulare și validatori',
|
||||
'Free Applications': 'Aplicații gratuite',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Grup %(group_id)s creat',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'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',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Acasă',
|
||||
'How did you get here?': 'Cum ați ajuns aici?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Stare internă',
|
||||
'Introduction': 'Introducere',
|
||||
'Invalid email': 'E-mail invalid',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Parolă invalidă',
|
||||
'Invalid Query': 'Interogare invalidă',
|
||||
'invalid request': 'cerere invalidă',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Nume',
|
||||
'Layout': 'Șablon',
|
||||
'Live Chat': 'Chat live',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logat',
|
||||
'Logged out': 'Delogat',
|
||||
'Login': 'Autentificare',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Ieșire',
|
||||
'Lost Password': 'Parolă pierdută',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Model meniu',
|
||||
'My Sites': 'Site-urile mele',
|
||||
'Name': 'Nume',
|
||||
'New password': 'Parola nouă',
|
||||
'New Record': 'Înregistrare nouă',
|
||||
'new record inserted': 'înregistrare nouă adăugată',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'Aplicație fără bază de date',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Obiect sau nume de tabel',
|
||||
'Old password': 'Parola veche',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Exemple online',
|
||||
'or import from csv file': 'sau importă din fișier csv',
|
||||
'Origin': 'Origine',
|
||||
'Other Recipes': 'Alte rețete',
|
||||
'Overview': 'Prezentare de ansamblu',
|
||||
'Password': 'Parola',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'Câmpurile de parolă nu se potrivesc',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'introduceți parola din nou',
|
||||
'Plugins': 'Plugin-uri',
|
||||
'Powered by': 'Pus în mișcare de',
|
||||
'Preface': 'Prefață',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profil',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Interogare:',
|
||||
'Quick Examples': 'Exemple rapide',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'Chei cache RAM',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Rețete',
|
||||
'Record': 'înregistrare',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'înregistrare inexistentă',
|
||||
'Record id': 'id înregistrare',
|
||||
'Record ID': 'ID înregistrare',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Înregistrare',
|
||||
'Registration identifier': 'Identificator de autentificare',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Cheie înregistrare',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Autentificare reușită',
|
||||
'Remember me (for 30 days)': 'Ține-mă minte (timp de 30 de zile)',
|
||||
'Request reset password': 'Cerere resetare parolă',
|
||||
'Reset Password key': 'Cheie restare parolă',
|
||||
'Role': 'Rol',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Linii în tabel',
|
||||
'Rows selected': 'Linii selectate',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Servicii',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'stare',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Foaie de stiluri',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Înregistrează',
|
||||
'Support': 'Suport',
|
||||
'Table': 'tabel',
|
||||
'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 Core': 'Nucleul',
|
||||
'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 Views': 'Vederile',
|
||||
'This App': 'Această aplicație',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Moment în timp (timestamp)',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'imposibil de analizat fișierul csv',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Actualizare:',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'Profil utilizator %(id)s actualizat',
|
||||
'User %(id)s Registered': 'Utilizator %(id)s înregistrat',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID utilizator',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Verifică parola',
|
||||
'Videos': 'Video-uri',
|
||||
'View': 'Vedere',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Ați vizitat adresa %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/ru.py
Normal file
266
languages/ru.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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 нельзя изменить или удалить.',
|
||||
'%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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'About',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Вы уверены, что хотите удалить этот объект?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Базы данных и таблицы',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Controller',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Текущий запрос',
|
||||
'Current response': 'Текущий ответ',
|
||||
'Current session': 'Текущая сессия',
|
||||
'data uploaded': 'данные загружены',
|
||||
'Database': 'Database',
|
||||
'Database %s select': 'выбор базы данных %s',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'БД',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Удалить:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': 'Описание',
|
||||
'design': 'дизайн',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': 'готово!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Редактировать текущую запись',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': 'экспорт в csv-файл',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Имя',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Group ID',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Заработало!',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Импорт/экспорт',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Внутренне состояние',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': 'Неверный email',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Неверный логин',
|
||||
'Invalid password': 'Неверный пароль',
|
||||
'Invalid Query': 'Неверный запрос',
|
||||
'invalid request': 'неверный запрос',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Фамилия',
|
||||
'Layout': 'Layout',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Вход выполнен',
|
||||
'Logged out': 'Выход выполнен',
|
||||
'Login': 'Вход',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Выход',
|
||||
'Lost Password': 'Забыли пароль?',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Menu Model',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'New password': 'Новый пароль',
|
||||
'New Record': 'Новая запись',
|
||||
'new record inserted': 'новая запись добавлена',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'В приложении нет баз данных',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Старый пароль',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'примеры он-лайн',
|
||||
'or import from csv file': 'или импорт из csv-файла',
|
||||
'Origin': 'Происхождение',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': 'Пароль',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'Пароли не совпадают',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': 'Powered by',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Запрос:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'запись не найдена',
|
||||
'Record id': 'id записи',
|
||||
'Record ID': 'ID записи',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Зарегистрироваться',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Ключ регистрации',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Запомнить меня (на 30 дней)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'Сбросить ключ пароля',
|
||||
'Role': 'Роль',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Строк в таблице',
|
||||
'Rows selected': 'Выделено строк',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'состояние',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'submit',
|
||||
'Submit': 'Отправить',
|
||||
'Support': '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 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',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Отметка времени',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'нечитаемый csv-файл',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Изменить:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Для построение сложных запросов используйте операторы "И": (...)&(...), "ИЛИ": (...)|(...), "НЕ": ~(...).',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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': 'User %(id)s Password reset',
|
||||
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'Пользователь %(id)s обновил профиль',
|
||||
'User %(id)s Registered': 'Пользователь %(id)s зарегистрировался',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID пользователя',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Повторите пароль',
|
||||
'Videos': 'Videos',
|
||||
'View': 'View',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/sk.py
Normal file
266
languages/sk.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'O nás',
|
||||
'Access Control': 'Kontrola prístupu',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax recepty',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin je zakázaný bez zabezpečeného spojenia',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Ste si istý, že chcete vymazať tento objekt?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Dostupné databázy a tabuľky',
|
||||
"Buy web2py's book": "Kúpte si web2py's knihu",
|
||||
'cache': 'cache',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache vymazané',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache kľúče',
|
||||
'Cannot be empty': 'Nemôže byť prázdne',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Change password',
|
||||
'Check to delete': 'Označiť na zmazanie',
|
||||
'Clear CACHE?': 'Vyčistiť CACHE?',
|
||||
'Clear DISK': 'Vyčistiť DISK',
|
||||
'Clear RAM': 'Vyčistiť RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'Client IP',
|
||||
'Community': 'komunita',
|
||||
'Components and Plugins': 'Komponenty a pluginy',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Kontrolér',
|
||||
'Copyright': 'Copyright',
|
||||
'Current request': 'Aktuálna požiadavka',
|
||||
'Current response': 'Aktuálna odpoveď',
|
||||
'Current session': 'Aktuálne sedenie',
|
||||
'data uploaded': 'údaje naplnené',
|
||||
'Database': 'Databáza',
|
||||
'Database %s select': 'Databáza %s výber',
|
||||
'Database Administration (appadmin)': 'Správa databázy (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': 'DB Model',
|
||||
'Delete:': 'Zmazať:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Recepty pre nasadenie',
|
||||
'Description': 'Popis',
|
||||
'design': 'návrh',
|
||||
'Design': 'Návrh',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk vyčistený',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Dokumentácia',
|
||||
"Don't know what to do?": 'Neviete, čo robiť?',
|
||||
'done!': 'hotovo!',
|
||||
'Download': 'Stiahnuť',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit current record': 'Upraviť aktuálny záznam',
|
||||
'Email and SMS': 'Email a SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Chyby',
|
||||
'export as csv file': 'exportovať do csv súboru',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'Krstné meno',
|
||||
'Forms and Validators': 'Formuláre a schvalovače',
|
||||
'Free Applications': 'Aplikácie zadarmo',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Model grafu',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'ID skupiny',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Skupiny',
|
||||
'Hello World': 'Ahoj svet',
|
||||
'Helping web2py': 'Pomáhať web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Domov',
|
||||
'How did you get here?': 'Ako ste sa sem dostali?',
|
||||
'import': 'import',
|
||||
'Import/Export': 'Import/Export',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Vnútorný stav',
|
||||
'Introduction': 'Úvod',
|
||||
'Invalid email': 'Neplatný email',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Nesprávne heslo',
|
||||
'Invalid Query': 'Neplatná otázka',
|
||||
'invalid request': 'Neplatná požiadavka',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Kľúč',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Priezvisko',
|
||||
'Layout': 'Usporiadanie',
|
||||
'Live Chat': 'Živý Chat',
|
||||
'Log In': 'Prihlásiť sa',
|
||||
'Logged in': 'Prihlásený',
|
||||
'Logged out': 'Odhlásený',
|
||||
'Login': 'Login',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Logout',
|
||||
'Lost Password': 'Stratené heslo?',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Spravovať %(action)s',
|
||||
'Manage Access Control': 'Spravovať kontrolu prístupu',
|
||||
'Manage Cache': 'Spravovať cache',
|
||||
'Memberships': 'Členstvá',
|
||||
'Menu Model': 'Model menu',
|
||||
'My Sites': 'Moje stránky',
|
||||
'Name': 'Meno',
|
||||
'New password': 'Nové heslo',
|
||||
'New Record': 'Nový záznam',
|
||||
'new record inserted': 'nový záznam bol vložený',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'V tejto aplikácii nie sú databázy',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Staré heslo',
|
||||
'Online book': 'Online kniha',
|
||||
'Online examples': 'online príklady',
|
||||
'or import from csv file': 'alebo naimportovať z csv súboru',
|
||||
'Origin': 'Pôvod',
|
||||
'Other Recipes': 'Ostatné recepty',
|
||||
'Overview': 'Náhľad',
|
||||
'Password': 'Heslo',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": "Password fields don't match",
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Povolenie',
|
||||
'Permissions': 'Povolenia',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Pluginy',
|
||||
'Powered by': 'Beží na',
|
||||
'Preface': 'Predslov',
|
||||
'previous %s rows': 'predchádzajúce %s riadky',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'knižnica pygraphviz nenájdená',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Otázka:',
|
||||
'Quick Examples': 'Rýchle príklady',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM cache kľúče',
|
||||
'Ram Cleared': 'Ram vyčistená',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recepty',
|
||||
'Record': 'Záznam',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'záznam neexistuje',
|
||||
'Record id': 'id záznamu',
|
||||
'Record ID': 'ID záznamu',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Zaregistrovať sa',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Registračný kľúč',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': 'Zapamätaj si ma (na 30 dní)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': 'Nastaviť registračný kľúč',
|
||||
'Role': 'Rola',
|
||||
'Roles': 'Role',
|
||||
'Rows in Table': 'Riadkov v tabuľke',
|
||||
'Rows selected': 'Označených riadkov',
|
||||
'Save model as...': 'Uložiť model ako...',
|
||||
'Services': 'Služby',
|
||||
'Sign Up': 'Prihlásiť sa',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Veľkosť cache:',
|
||||
'state': 'stav',
|
||||
'Statistics': 'Štatistiky',
|
||||
'Stylesheet': 'Stylesheet',
|
||||
'submit': 'odoslať',
|
||||
'Submit': 'Odoslať',
|
||||
'Support': 'Podpora',
|
||||
'Table': 'Tabuľka',
|
||||
'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': 'Jadro',
|
||||
'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 vykreslený v zobrazení %s',
|
||||
'The Views': 'Zobrazenia',
|
||||
'This App': 'Táto aplikácia',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Čas v cache (h:m:s)',
|
||||
'Timestamp': 'Časová pečiatka',
|
||||
'Traceback': 'Vystopovať',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'nedá sa načítať csv súbor',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password reset': 'User %(id)s Password reset',
|
||||
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'Používateľ %(id)s upravil profil',
|
||||
'User %(id)s Registered': 'Používateľ %(id)s sa zaregistroval',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'ID používateľa',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Používatelia',
|
||||
'Verify Password': 'Zopakujte heslo',
|
||||
'Videos': 'Videá',
|
||||
'View': 'Zobraziť',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': 'Vitajte vo web2py!',
|
||||
'Which called the function %s located in the file %s': 'Ktorý zavolal funkciu %s nachádzajúci sa v súbore %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Pracuje...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Navštívili ste URL %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/tr.py
Normal file
266
languages/tr.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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 %%{row} deleted': '%s %%{row} deleted',
|
||||
'%s %%{row} updated': '%s %%{row} updated',
|
||||
'%s selected': '%s selected',
|
||||
'%Y-%m-%d': '%d-%m-%Y',
|
||||
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Bir hata oluştu, lütfen sayfayı [[yenileyin yükleyin %s]] ',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Hakkında',
|
||||
'Access Control': 'Erişim Denetimi',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Tarifleri',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
|
||||
'Apply changes': 'Değişiklikleri uygula',
|
||||
'Are you sure you want to delete this object?': 'Bu nesneyi silmek istediğinden emin misin?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Kullanılabilir Varitabanları ve Tablolar',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'zula',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Cache Keys',
|
||||
'Cannot be empty': 'Boş bırakılamaz',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Parolayı değiştir',
|
||||
'Check to delete': 'Silmek için denetle',
|
||||
'Clear CACHE?': 'Clear CACHE?',
|
||||
'Clear DISK': 'Clear DISK',
|
||||
'Clear RAM': 'Clear RAM',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'İstemci IP',
|
||||
'Community': 'Topluluk',
|
||||
'Components and Plugins': 'Bileşenler ve Eklentiler',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Denetçi',
|
||||
'Copyright': 'Telif',
|
||||
'Current request': 'Current request',
|
||||
'Current response': 'Current response',
|
||||
'Current session': 'Current session',
|
||||
'data uploaded': 'data uploaded',
|
||||
'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',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Kitap',
|
||||
"Don't know what to do?": 'Neleri nasıl yapacağını bilmiyor musun?',
|
||||
'done!': 'done!',
|
||||
'Download': 'İndir',
|
||||
'E-mail': 'E-posta',
|
||||
'Edit current record': 'Edit current record',
|
||||
'Email and SMS': 'E-posta ve kısa mesaj (SMS)',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Hatalar',
|
||||
'export as csv file': 'csv dosyası olarak dışa aktar',
|
||||
'FAQ': 'SSS',
|
||||
'First name': 'Ad',
|
||||
'Forms and Validators': 'Biçimler ve Doğrulayıcılar',
|
||||
'Free Applications': 'Ücretsiz uygulamalar',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Grafik Modeli',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': '%(group_id)s takımı oluşturuldu',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'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',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'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',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Internal State',
|
||||
'Introduction': 'Giriş',
|
||||
'Invalid email': 'Yanlış eposta',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': 'Invalid Query',
|
||||
'invalid request': 'invalid request',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Soyad',
|
||||
'Layout': 'Şablon',
|
||||
'Live Chat': 'Canlı Sohbet',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Giriş yapıldı',
|
||||
'Logged out': 'Çıkış yapıldı',
|
||||
'Login': 'Giriş',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Terket',
|
||||
'Lost Password': 'Şifremi unuttum',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Model Menü',
|
||||
'My Sites': 'Sitelerim',
|
||||
'Name': 'İsim',
|
||||
'New password': 'Yeni parola',
|
||||
'New Record': 'Yeni Kayıt',
|
||||
'new record inserted': 'new record inserted',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'No databases in this application',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Nesne ya da tablo adı',
|
||||
'Old password': 'Eski parola',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Canlı örnekler',
|
||||
'or import from csv file': 'veya csv dosyasından içe aktar',
|
||||
'Origin': 'Asıl',
|
||||
'Other Recipes': 'Diğer Tarifler',
|
||||
'Overview': 'Göz gezdir',
|
||||
'Password': 'Parola',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": 'Parolalar uyuşmuyor',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'lütfen parolanızı tekrar girin',
|
||||
'Plugins': 'Eklentiler',
|
||||
'Powered by': 'Yazılım Temeli',
|
||||
'Preface': 'Önzös',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profil',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': 'Sorgu:',
|
||||
'Quick Examples': 'Hızlı Örnekler',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Tarifeler',
|
||||
'Record': 'Record',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'record does not exist',
|
||||
'Record id': 'Record id',
|
||||
'Record ID': 'Kayıt ID',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': 'Kayıt ol',
|
||||
'Registration identifier': 'Kayıt belirleyicisi',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Kayıt anahtarı',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Kayıt başarılı',
|
||||
'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',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Tablodaki Satırlar',
|
||||
'Rows selected': 'Rows selected',
|
||||
'Save model as...': 'Modeli farklı kaydet...',
|
||||
'Services': 'Hizmetler',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'durum',
|
||||
'Statistics': 'Statistics',
|
||||
'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 code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'Bu e-postaya ait bir hesap zaten var',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': 'Zaman damgası',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'unable to parse csv file',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'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': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'User %(id)s Logged-in': '%(id)s Giriş yaptı',
|
||||
'User %(id)s Logged-out': '%(id)s çıkış yaptı',
|
||||
'User %(id)s Password changed': 'User %(id)s Password changed',
|
||||
'User %(id)s Password reset': 'Kullanıc %(id)s Parolasını sıfırla',
|
||||
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': '%(id)s Kayıt oldu',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'Kullanıcı ID',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Parolanı Onayla',
|
||||
'Videos': 'Videolar',
|
||||
'View': 'Görünüm',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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 ',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': '%s adresini ziyaret ettin',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/uk.py
Normal file
266
languages/uk.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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=\'нове_значення\'". Ви не можете змінювати або вилучати дані об\'єднаних таблиць.',
|
||||
'%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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**``%.0d``:red МБ**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{елемент(items)}, **%(bytes)s** %%{байт(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@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)}.",
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': 'Про додаток',
|
||||
'Access Control': 'Контроль доступу',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Рецепти для Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'використовується незахищенний канал (HTTP). Appadmin вимкнено',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': "Ви впевнені, що хочете вилучити цей об'єкт?",
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': 'Доступні бази даних та таблиці',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': 'кеш',
|
||||
'Cache': 'Кеш',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Cache Keys': 'Ключі кешу',
|
||||
'Cannot be empty': 'Порожнє значення неприпустиме',
|
||||
'Change Password': 'Change Password',
|
||||
'Change password': 'Змінити пароль',
|
||||
'Check to delete': 'Позначити для вилучення',
|
||||
'Clear CACHE?': 'Очистити ВЕСЬ кеш?',
|
||||
'Clear DISK': 'Очистити ДИСКОВИЙ кеш',
|
||||
'Clear RAM': "Очистити кеш В ПАМ'ЯТІ",
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': 'IP клієнта',
|
||||
'Community': 'Спільнота',
|
||||
'Components and Plugins': 'Компоненти та втулки',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': 'Контролер',
|
||||
'Copyright': 'Правовласник',
|
||||
'Current request': 'Поточний запит (current request)',
|
||||
'Current response': 'Поточна відповідь (current response)',
|
||||
'Current session': 'Поточна сесія (current session)',
|
||||
'data uploaded': 'дані завантажено',
|
||||
'Database': 'База даних',
|
||||
'Database %s select': 'Вибірка з бази даних %s',
|
||||
'Database Administration (appadmin)': 'Адміністрування Бази Даних (appadmin)',
|
||||
'db': 'база даних',
|
||||
'DB Model': 'Модель БД',
|
||||
'Delete:': 'Вилучити:',
|
||||
'Demo': 'Демо',
|
||||
'Deployment Recipes': 'Способи розгортання',
|
||||
'Description': 'Опис',
|
||||
'design': 'налаштування',
|
||||
'Design': 'Design',
|
||||
'DISK': 'ДИСК',
|
||||
'Disk Cache Keys': 'Ключі дискового кешу',
|
||||
'Disk Cleared': 'Дисковий кеш очищено',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Документація',
|
||||
"Don't know what to do?": 'Не знаєте що робити далі?',
|
||||
'done!': 'зроблено!',
|
||||
'Download': 'Завантажити',
|
||||
'E-mail': 'Ел.пошта',
|
||||
'Edit current record': 'Редагувати поточний запис',
|
||||
'Email and SMS': 'Ел.пошта та SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Помилки',
|
||||
'export as csv file': 'експортувати як файл csv',
|
||||
'FAQ': 'ЧаПи (FAQ)',
|
||||
'First name': "Ім'я",
|
||||
'Forms and Validators': 'Форми та коректність даних',
|
||||
'Free Applications': 'Вільні додатки',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Графова Модель',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Групу %(group_id)s створено',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': 'Ідентифікатор групи',
|
||||
'Group uniquely assigned to user %(id)s': "Група унікально зв'язана з користувачем %(id)s",
|
||||
'Groups': 'Групи',
|
||||
'Hello World': 'Привіт, світ!',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Початок',
|
||||
'How did you get here?': 'Як цього було досягнуто?',
|
||||
'import': 'Імпортувати',
|
||||
'Import/Export': 'Імпорт/Експорт',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': 'Внутрішній стан',
|
||||
'Introduction': 'Введення',
|
||||
'Invalid email': 'Невірна адреса ел.пошти',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': "Невірне ім'я користувача",
|
||||
'Invalid password': 'Невірний пароль',
|
||||
'Invalid Query': 'Помилковий запит',
|
||||
'invalid request': 'хибний запит',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Ключ',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': 'Прізвище',
|
||||
'Layout': 'Макет (Layout)',
|
||||
'Live Chat': 'Чат',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Вхід здійснено',
|
||||
'Logged out': 'Вихід здійснено',
|
||||
'Login': 'Вхід',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': 'Вихід',
|
||||
'Lost Password': 'Забули пароль',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Управління кешем',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': 'Модель меню',
|
||||
'My Sites': 'Сайт (усі додатки)',
|
||||
'Name': "Ім'я",
|
||||
'New password': 'Новий пароль',
|
||||
'New Record': 'Новий запис',
|
||||
'new record inserted': 'новий рядок додано',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': 'Даний додаток не використовує базу даних',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': "Об'єкт або назва таблиці",
|
||||
'Old password': 'Старий пароль',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': 'Зразковий демо-сайт',
|
||||
'or import from csv file': 'або імпортувати з csv-файлу',
|
||||
'Origin': 'Походження',
|
||||
'Other Recipes': 'Інші рецепти',
|
||||
'Overview': 'Огляд',
|
||||
'Password': 'Пароль',
|
||||
'Password changed': 'Пароль змінено',
|
||||
"Password fields don't match": 'Пароль не співпав',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'Будь-ласка введіть пароль ще раз',
|
||||
'Plugins': 'Втулки (Plugins)',
|
||||
'Powered by': 'Працює на',
|
||||
'Preface': 'Передмова',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Параметри',
|
||||
'Profile updated': 'Параметри змінено',
|
||||
'pygraphviz library not found': 'Бібліотека pygraphviz не знайдена (не встановлена)',
|
||||
'Python': 'Мова Python',
|
||||
'Query:': 'Запит:',
|
||||
'Quick Examples': 'Швидкі приклади',
|
||||
'RAM': "ОПЕРАТИВНА ПАМ'ЯТЬ (ОЗП)",
|
||||
'RAM Cache Keys': 'Ключі ОЗП-кешу',
|
||||
'Ram Cleared': 'ОЗП-кеш очищено',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Рецепти',
|
||||
'Record': 'запис',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Запис %(id)s змінено',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': 'запису не існує',
|
||||
'Record id': 'ід. запису',
|
||||
'Record ID': 'Ід.запису',
|
||||
'Record Updated': 'Запис змінено',
|
||||
'Register': 'Реєстрація',
|
||||
'Registration identifier': 'Реєстраційний ідентифікатор',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': 'Реєстраційний ключ',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Реєстрація пройшла успішно',
|
||||
'Remember me (for 30 days)': "Запам'ятати мене (на 30 днів)",
|
||||
'Request reset password': 'Запит на зміну пароля',
|
||||
'Reset Password key': 'Ключ скидання пароля',
|
||||
'Role': 'Роль',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Рядки в таблиці',
|
||||
'Rows selected': 'Відмічено рядків',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Сервіс',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'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 code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'Вказана адреса ел.пошти вже зареєстрована',
|
||||
'Time in Cache (h:m:s)': 'Час знаходження в кеші (h:m:s)',
|
||||
'Timestamp': 'Відмітка часу',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Твіттер',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': 'не вдається розібрати csv-файл',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': 'Оновити:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Для створення складних запитів використовуйте (...)&(...) замість AND, (...)|(...) замість OR, та ~(...) замість NOT.',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'Параметри користувача %(id)s змінено',
|
||||
'User %(id)s Registered': 'Користувач %(id)s зареєструвався',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': 'Ід.користувача',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': 'Повторити пароль',
|
||||
'Videos': 'Відео',
|
||||
'View': 'Відображення (View)',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': 'Ласкаво просимо до web2py!',
|
||||
'Which called the function %s located in the file %s': 'Управління передалось функції %s, яка розташована у файлі %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Працюємо...',
|
||||
'You are successfully running web2py': 'Ви успішно запустили web2py',
|
||||
'You can modify this application and adapt it to your needs': 'Ви можете модифікувати цей додаток і адаптувати його до своїх потреб',
|
||||
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'Ви відвідали наступну адресу: %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/zh-cn.py
Normal file
266
languages/zh-cn.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': '关于',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': '管理界面在非安全通道下被禁用',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': '确定要删除该对象么?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': '可提供的数据库和数据表',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': '高速缓存',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': '客户端网址(IP)',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': '控件',
|
||||
'Copyright': '版权所有',
|
||||
'Current request': '当前网络要求(request)',
|
||||
'Current response': '当前网络响应(response)',
|
||||
'Current session': '当前网络连接信息(session)',
|
||||
'data uploaded': '数据已上传',
|
||||
'Database': '数据库',
|
||||
'Database %s select': '已选择 %s 数据库',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': '数据库模型',
|
||||
'Delete:': '删除:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': '描述',
|
||||
'design': '设计',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': '完成!',
|
||||
'Download': '下载',
|
||||
'E-mail': '电子邮件',
|
||||
'Edit current record': '编辑当前记录',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': '以CSV格式导出',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': '名',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': '群组编号',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Hello World',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': '导入/导出',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': '內部状态',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': '不符合电子邮件格式',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': '无效的查询请求',
|
||||
'invalid request': '网络要求无效',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': '姓',
|
||||
'Layout': '网页布局',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': '登录',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': '登出',
|
||||
'Lost Password': '忘记密码',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': '菜单模型(menu)',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': '名字',
|
||||
'New password': 'New password',
|
||||
'New Record': '新记录',
|
||||
'new record inserted': '已插入新记录',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': '该应用程序不含数据库',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': '点击进入在线例子',
|
||||
'or import from csv file': '或导入CSV文件',
|
||||
'Origin': '原文',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': '概览',
|
||||
'Password': '密码',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": '密码不匹配',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': '基于下列技术构建:',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': '查询:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': '记录',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': '记录不存在',
|
||||
'Record id': '记录编号',
|
||||
'Record ID': '记录编号',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': '注册',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': '注册密钥',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': '记住我(30 天)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': '重置密码',
|
||||
'Role': '角色',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': '在数据表里的记录',
|
||||
'Rows selected': '笔记录被选择',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': '状态',
|
||||
'Statistics': '统计数据',
|
||||
'Stylesheet': '网页样式表',
|
||||
'submit': '提交',
|
||||
'Submit': '提交',
|
||||
'Support': '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.': '"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': '视图',
|
||||
'This App': '该应用',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': '时间戳',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': '无法解析CSV文件',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': '更新:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式可得到更复杂的条件表达式, (...)&(...) 代表必须都满足, (...)|(...) 代表其一, ~(...)则代表否.',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'User %(id)s Logged-in': '用户 %(id)s 已登录',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': '用户 %(id)s 已注册',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': '用户编号',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': '验证密码',
|
||||
'Videos': '视频',
|
||||
'View': '查看',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'Welcome to web2py!': '欢迎使用 web2py!',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'You are successfully running web2py': '您已成功运行 web2py',
|
||||
'You can modify this application and adapt it to your needs': '请根据您的需要修改本程序',
|
||||
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/zh-tw.py
Normal file
266
languages/zh-tw.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': '關於',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': '因為來自非安全通道,管理介面關閉',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': '可提供的資料庫和資料表',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': '快取記憶體',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': '客戶端網址(IP)',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': '控件',
|
||||
'Copyright': '版權所有',
|
||||
'Current request': '目前網路資料要求(request)',
|
||||
'Current response': '目前網路資料回應(response)',
|
||||
'Current session': '目前網路連線資訊(session)',
|
||||
'data uploaded': '資料已上傳',
|
||||
'Database': '資料庫',
|
||||
'Database %s select': '已選擇 %s 資料庫',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': '資料庫模組',
|
||||
'Delete:': '刪除:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': '描述',
|
||||
'design': '設計',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': '完成!',
|
||||
'Download': 'Download',
|
||||
'E-mail': '電子郵件',
|
||||
'Edit current record': '編輯當前紀錄',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': '以逗號分隔檔(csv)格式匯出',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': '名',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': '群組編號',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': '嗨! 世界',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': '匯入/匯出',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': '內部狀態',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': '不合法的電子郵件',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': '不合法的查詢',
|
||||
'invalid request': '不合法的網路要求(request)',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': '姓',
|
||||
'Layout': '網頁配置',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': '登入',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': '登出',
|
||||
'Lost Password': '密碼遺忘',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': '選單模組(menu)',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': '名字',
|
||||
'New password': 'New password',
|
||||
'New Record': '新紀錄',
|
||||
'new record inserted': '已插入新紀錄',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': '這應用程式不含資料庫',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': '點此處進入線上範例',
|
||||
'or import from csv file': '或是從逗號分隔檔(CSV)匯入',
|
||||
'Origin': '原文',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': '密碼',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": '密碼欄不匹配',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': '基於以下技術構建:',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': '查詢:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': '紀錄',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': '紀錄不存在',
|
||||
'Record id': '紀錄編號',
|
||||
'Record ID': '紀錄編號',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': '註冊',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': '註冊金鑰',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': '記住我(30 天)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': '重設密碼',
|
||||
'Role': '角色',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': '在資料表裏的資料',
|
||||
'Rows selected': '筆資料被選擇',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': '狀態',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': '網頁風格檔',
|
||||
'submit': 'submit',
|
||||
'Submit': '傳送',
|
||||
'Support': '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.表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',
|
||||
'This App': 'This App',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': '時間標記',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': '無法解析逗號分隔檔(csv)',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': '更新:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式來組合更複雜的條件式, (...)&(...) 代表同時存在的條件, (...)|(...) 代表擇一的條件, ~(...)則代表反向條件.',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'User %(id)s Logged-in': '使用者 %(id)s 已登入',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': '使用者 %(id)s 已註冊',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': '使用者編號',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': '驗證密碼',
|
||||
'Videos': 'Videos',
|
||||
'View': '視圖',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
266
languages/zh.py
Normal file
266
languages/zh.py
Normal file
@ -0,0 +1,266 @@
|
||||
# -*- 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',
|
||||
'(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
|
||||
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'A new password was emailed to you': 'A new password was emailed to you',
|
||||
'About': '關於',
|
||||
'Access Control': 'Access Control',
|
||||
'admin': 'admin',
|
||||
'Ajax Recipes': 'Ajax Recipes',
|
||||
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': '因為來自非安全通道,管理介面關閉',
|
||||
'Apply changes': 'Apply changes',
|
||||
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
|
||||
'Authentication code': 'Authentication code',
|
||||
'Available Databases and Tables': '可提供的資料庫和資料表',
|
||||
"Buy web2py's book": "Buy web2py's book",
|
||||
'cache': '快取記憶體',
|
||||
'Cache': 'Cache',
|
||||
'Cache Cleared': 'Cache Cleared',
|
||||
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'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',
|
||||
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
|
||||
'Client IP': '客戶端網址(IP)',
|
||||
'Community': 'Community',
|
||||
'Components and Plugins': 'Components and Plugins',
|
||||
'Config.ini': 'Config.ini',
|
||||
'Controller': '控件',
|
||||
'Copyright': '版權所有',
|
||||
'Current request': '目前網路資料要求(request)',
|
||||
'Current response': '目前網路資料回應(response)',
|
||||
'Current session': '目前網路連線資訊(session)',
|
||||
'data uploaded': '資料已上傳',
|
||||
'Database': '資料庫',
|
||||
'Database %s select': '已選擇 %s 資料庫',
|
||||
'Database Administration (appadmin)': 'Database Administration (appadmin)',
|
||||
'db': 'db',
|
||||
'DB Model': '資料庫模組',
|
||||
'Delete:': '刪除:',
|
||||
'Demo': 'Demo',
|
||||
'Deployment Recipes': 'Deployment Recipes',
|
||||
'Description': '描述',
|
||||
'design': '設計',
|
||||
'Design': 'Design',
|
||||
'DISK': 'DISK',
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'done!': '完成!',
|
||||
'Download': 'Download',
|
||||
'E-mail': '電子郵件',
|
||||
'Edit current record': '編輯當前紀錄',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Email sent': 'Email sent',
|
||||
'Email verification': 'Email verification',
|
||||
'Email verified': 'Email verified',
|
||||
'Errors': 'Errors',
|
||||
'export as csv file': '以逗號分隔檔(csv)格式匯出',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': '名',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Function disabled': 'Function disabled',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Group %(group_id)s created': 'Group %(group_id)s created',
|
||||
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
|
||||
'Group ID': '群組編號',
|
||||
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': '嗨! 世界',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
|
||||
'Home': 'Home',
|
||||
'How did you get here?': 'How did you get here?',
|
||||
'import': 'import',
|
||||
'Import/Export': '匯入/匯出',
|
||||
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
|
||||
'Insufficient privileges': 'Insufficient privileges',
|
||||
'Internal State': '內部狀態',
|
||||
'Introduction': 'Introduction',
|
||||
'Invalid email': '不合法的電子郵件',
|
||||
'Invalid key': 'Invalid key',
|
||||
'Invalid login': 'Invalid login',
|
||||
'Invalid password': 'Invalid password',
|
||||
'Invalid Query': '不合法的查詢',
|
||||
'invalid request': '不合法的網路要求(request)',
|
||||
'Invalid reset password': 'Invalid reset password',
|
||||
'Invalid user': 'Invalid user',
|
||||
'Invalid username': 'Invalid username',
|
||||
'Invitation to join %(site)s': 'Invitation to join %(site)s',
|
||||
'Key': 'Key',
|
||||
'Key verified': 'Key verified',
|
||||
'Last name': '姓',
|
||||
'Layout': '網頁配置',
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'Logged in': 'Logged in',
|
||||
'Logged out': 'Logged out',
|
||||
'Login': '登入',
|
||||
'Login disabled by administrator': 'Login disabled by administrator',
|
||||
'Logout': '登出',
|
||||
'Lost Password': '密碼遺忘',
|
||||
'Lost your password?': 'Lost your password?',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
'Manage Cache': 'Manage Cache',
|
||||
'Memberships': 'Memberships',
|
||||
'Menu Model': '選單模組(menu)',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': '名字',
|
||||
'New password': 'New password',
|
||||
'New Record': '新紀錄',
|
||||
'new record inserted': '已插入新紀錄',
|
||||
'next %s rows': 'next %s rows',
|
||||
'No databases in this application': '這應用程式不含資料庫',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Object or table name': 'Object or table name',
|
||||
'Old password': 'Old password',
|
||||
'Online book': 'Online book',
|
||||
'Online examples': '點此處進入線上範例',
|
||||
'or import from csv file': '或是從逗號分隔檔(CSV)匯入',
|
||||
'Origin': '原文',
|
||||
'Other Recipes': 'Other Recipes',
|
||||
'Overview': 'Overview',
|
||||
'Password': '密碼',
|
||||
'Password changed': 'Password changed',
|
||||
"Password fields don't match": '密碼欄不匹配',
|
||||
'Password reset': 'Password reset',
|
||||
'Password retrieve': 'Password retrieve',
|
||||
'Permission': 'Permission',
|
||||
'Permissions': 'Permissions',
|
||||
'please input your password again': 'please input your password again',
|
||||
'Plugins': 'Plugins',
|
||||
'Powered by': '基於以下技術構建:',
|
||||
'Preface': 'Preface',
|
||||
'previous %s rows': 'previous %s rows',
|
||||
'Profile': 'Profile',
|
||||
'Profile updated': 'Profile updated',
|
||||
'pygraphviz library not found': 'pygraphviz library not found',
|
||||
'Python': 'Python',
|
||||
'Query:': '查詢:',
|
||||
'Quick Examples': 'Quick Examples',
|
||||
'RAM': 'RAM',
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Record': '紀錄',
|
||||
'Record %(id)s created': 'Record %(id)s created',
|
||||
'Record %(id)s deleted': 'Record %(id)s deleted',
|
||||
'Record %(id)s read': 'Record %(id)s read',
|
||||
'Record %(id)s updated': 'Record %(id)s updated',
|
||||
'Record Created': 'Record Created',
|
||||
'Record Deleted': 'Record Deleted',
|
||||
'record does not exist': '紀錄不存在',
|
||||
'Record id': '紀錄編號',
|
||||
'Record ID': '紀錄編號',
|
||||
'Record Updated': 'Record Updated',
|
||||
'Register': '註冊',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration is pending approval': 'Registration is pending approval',
|
||||
'Registration key': '註冊金鑰',
|
||||
'Registration needs verification': 'Registration needs verification',
|
||||
'Registration successful': 'Registration successful',
|
||||
'Remember me (for 30 days)': '記住我(30 天)',
|
||||
'Request reset password': 'Request reset password',
|
||||
'Reset Password key': '重設密碼',
|
||||
'Role': '角色',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': '在資料表裏的資料',
|
||||
'Rows selected': '筆資料被選擇',
|
||||
'Save model as...': 'Save model as...',
|
||||
'Services': 'Services',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign up': 'Sign up',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': '狀態',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': '網頁風格檔',
|
||||
'submit': 'submit',
|
||||
'Submit': '傳送',
|
||||
'Support': '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.表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',
|
||||
'This App': 'This App',
|
||||
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
|
||||
'This email already has an account': 'This email already has an account',
|
||||
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
|
||||
'Timestamp': '時間標記',
|
||||
'Traceback': 'Traceback',
|
||||
'Twitter': 'Twitter',
|
||||
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
|
||||
'unable to parse csv file': '無法解析逗號分隔檔(csv)',
|
||||
'Unable to send email': 'Unable to send email',
|
||||
'Update:': '更新:',
|
||||
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式來組合更複雜的條件式, (...)&(...) 代表同時存在的條件, (...)|(...) 代表擇一的條件, ~(...)則代表反向條件.',
|
||||
'User': 'User',
|
||||
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
|
||||
'User %(id)s Logged-in': '使用者 %(id)s 已登入',
|
||||
'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 Password retrieved': 'User %(id)s Password retrieved',
|
||||
'User %(id)s Profile updated': 'User %(id)s Profile updated',
|
||||
'User %(id)s Registered': '使用者 %(id)s 已註冊',
|
||||
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
|
||||
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
|
||||
'User %(id)s verified registration key': 'User %(id)s verified registration key',
|
||||
'User ID': '使用者編號',
|
||||
'Username': 'Username',
|
||||
'Username already taken': 'Username already taken',
|
||||
'Username retrieve': 'Username retrieve',
|
||||
'Users': 'Users',
|
||||
'Verify Password': '驗證密碼',
|
||||
'Videos': 'Videos',
|
||||
'View': '視圖',
|
||||
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
|
||||
'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',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'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 have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
|
||||
'You visited the url %s': 'You visited the url %s',
|
||||
'Your password is: %(password)s': 'Your password is: %(password)s',
|
||||
'Your temporary login code is {0}': 'Your temporary login code is {0}',
|
||||
'Your username is: %(username)s': 'Your username is: %(username)s',
|
||||
'Your username was emailed to you': 'Your username was emailed to you',
|
||||
}
|
175
models/db.py
Normal file
175
models/db.py
Normal file
@ -0,0 +1,175 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# AppConfig configuration made easy. Look inside private/appconfig.ini
|
||||
# Auth is for authenticaiton and access control
|
||||
# -------------------------------------------------------------------------
|
||||
from gluon.contrib.appconfig import AppConfig
|
||||
from gluon.tools import Auth
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# 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 request.global_settings.web2py_version < "2.15.5":
|
||||
raise HTTP(500, "Requires web2py 2.15.5 or newer")
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# if SSL/HTTPS is properly configured and you want all HTTP requests to
|
||||
# be redirected to HTTPS, uncomment the line below:
|
||||
# -------------------------------------------------------------------------
|
||||
# request.requires_https()
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# once in production, remove reload=True to gain full speed
|
||||
# -------------------------------------------------------------------------
|
||||
configuration = AppConfig(reload=True)
|
||||
|
||||
if not request.env.web2py_runtime_gae:
|
||||
# ---------------------------------------------------------------------
|
||||
# if NOT running on Google App Engine use SQLite or other DB
|
||||
# ---------------------------------------------------------------------
|
||||
db = DAL(configuration.get('db.uri'),
|
||||
pool_size=configuration.get('db.pool_size'),
|
||||
migrate_enabled=configuration.get('db.migrate'),
|
||||
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 and not configuration.get('app.production'):
|
||||
response.generic_patterns.append('*')
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# choose a style for forms
|
||||
# -------------------------------------------------------------------------
|
||||
response.formstyle = 'bootstrap4_inline'
|
||||
response.form_label_separator = ''
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# (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)
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# host names must be a list of allowed host names (glob syntax allowed)
|
||||
auth = Auth(db, host_names=configuration.get('host.names'))
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# create all tables needed by auth, maybe add a list of extra fields
|
||||
# -------------------------------------------------------------------------
|
||||
auth.settings.extra_fields['auth_user'] = []
|
||||
auth.define_tables(username=False, signature=False)
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# configure email
|
||||
# -------------------------------------------------------------------------
|
||||
mail = auth.settings.mailer
|
||||
mail.settings.server = 'logging' if request.is_local else configuration.get('smtp.server')
|
||||
mail.settings.sender = configuration.get('smtp.sender')
|
||||
mail.settings.login = configuration.get('smtp.login')
|
||||
mail.settings.tls = configuration.get('smtp.tls') or False
|
||||
mail.settings.ssl = configuration.get('smtp.ssl') or False
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# configure auth policy
|
||||
# -------------------------------------------------------------------------
|
||||
auth.settings.registration_requires_verification = False
|
||||
auth.settings.registration_requires_approval = False
|
||||
auth.settings.reset_password_requires_verification = True
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# read more at http://dev.w3.org/html5/markup/meta.name.html
|
||||
# -------------------------------------------------------------------------
|
||||
response.meta.author = configuration.get('app.author')
|
||||
response.meta.description = configuration.get('app.description')
|
||||
response.meta.keywords = configuration.get('app.keywords')
|
||||
response.meta.generator = configuration.get('app.generator')
|
||||
response.show_toolbar = configuration.get('app.toolbar')
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# your http://google.com/analytics id
|
||||
# -------------------------------------------------------------------------
|
||||
response.google_analytics_id = configuration.get('google.analytics_id')
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# maybe use the scheduler
|
||||
# -------------------------------------------------------------------------
|
||||
if configuration.get('scheduler.enabled'):
|
||||
from gluon.scheduler import Scheduler
|
||||
scheduler = Scheduler(db, heartbeat=configuration.get('scheduler.heartbeat'))
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# 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)
|
||||
db = DAL("sqlite://storage.sqlite")
|
||||
|
||||
db.define_table('image',
|
||||
Field('title', unique=True),
|
||||
Field('file', 'upload'),
|
||||
format = '%(title)s')
|
||||
|
||||
db.define_table('post',
|
||||
Field('image_id', 'reference image'),
|
||||
Field('author'),
|
||||
Field('email'),
|
||||
Field('body', 'text'))
|
||||
|
||||
db.image.title.requires = IS_NOT_IN_DB(db, db.image.title)
|
||||
db.post.image_id.requires = IS_IN_DB(db, db.image.id, '%(title)s')
|
||||
db.post.author.requires = IS_NOT_EMPTY()
|
||||
db.post.email.requires = IS_EMAIL()
|
||||
db.post.body.requires = IS_NOT_EMPTY()
|
||||
|
||||
db.post.image_id.writable = db.post.image_id.readable = False
|
155
models/db.py.bak
Normal file
155
models/db.py.bak
Normal file
@ -0,0 +1,155 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# AppConfig configuration made easy. Look inside private/appconfig.ini
|
||||
# Auth is for authenticaiton and access control
|
||||
# -------------------------------------------------------------------------
|
||||
from gluon.contrib.appconfig import AppConfig
|
||||
from gluon.tools import Auth
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# 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 request.global_settings.web2py_version < "2.15.5":
|
||||
raise HTTP(500, "Requires web2py 2.15.5 or newer")
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# if SSL/HTTPS is properly configured and you want all HTTP requests to
|
||||
# be redirected to HTTPS, uncomment the line below:
|
||||
# -------------------------------------------------------------------------
|
||||
# request.requires_https()
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# once in production, remove reload=True to gain full speed
|
||||
# -------------------------------------------------------------------------
|
||||
configuration = AppConfig(reload=True)
|
||||
|
||||
if not request.env.web2py_runtime_gae:
|
||||
# ---------------------------------------------------------------------
|
||||
# if NOT running on Google App Engine use SQLite or other DB
|
||||
# ---------------------------------------------------------------------
|
||||
db = DAL(configuration.get('db.uri'),
|
||||
pool_size=configuration.get('db.pool_size'),
|
||||
migrate_enabled=configuration.get('db.migrate'),
|
||||
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 and not configuration.get('app.production'):
|
||||
response.generic_patterns.append('*')
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# choose a style for forms
|
||||
# -------------------------------------------------------------------------
|
||||
response.formstyle = 'bootstrap4_inline'
|
||||
response.form_label_separator = ''
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# (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)
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# host names must be a list of allowed host names (glob syntax allowed)
|
||||
auth = Auth(db, host_names=configuration.get('host.names'))
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# create all tables needed by auth, maybe add a list of extra fields
|
||||
# -------------------------------------------------------------------------
|
||||
auth.settings.extra_fields['auth_user'] = []
|
||||
auth.define_tables(username=False, signature=False)
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# configure email
|
||||
# -------------------------------------------------------------------------
|
||||
mail = auth.settings.mailer
|
||||
mail.settings.server = 'logging' if request.is_local else configuration.get('smtp.server')
|
||||
mail.settings.sender = configuration.get('smtp.sender')
|
||||
mail.settings.login = configuration.get('smtp.login')
|
||||
mail.settings.tls = configuration.get('smtp.tls') or False
|
||||
mail.settings.ssl = configuration.get('smtp.ssl') or False
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# configure auth policy
|
||||
# -------------------------------------------------------------------------
|
||||
auth.settings.registration_requires_verification = False
|
||||
auth.settings.registration_requires_approval = False
|
||||
auth.settings.reset_password_requires_verification = True
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# read more at http://dev.w3.org/html5/markup/meta.name.html
|
||||
# -------------------------------------------------------------------------
|
||||
response.meta.author = configuration.get('app.author')
|
||||
response.meta.description = configuration.get('app.description')
|
||||
response.meta.keywords = configuration.get('app.keywords')
|
||||
response.meta.generator = configuration.get('app.generator')
|
||||
response.show_toolbar = configuration.get('app.toolbar')
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# your http://google.com/analytics id
|
||||
# -------------------------------------------------------------------------
|
||||
response.google_analytics_id = configuration.get('google.analytics_id')
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# maybe use the scheduler
|
||||
# -------------------------------------------------------------------------
|
||||
if configuration.get('scheduler.enabled'):
|
||||
from gluon.scheduler import Scheduler
|
||||
scheduler = Scheduler(db, heartbeat=configuration.get('scheduler.heartbeat'))
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# 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)
|
110
models/menu.py
Normal file
110
models/menu.py
Normal file
@ -0,0 +1,110 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# this file is released under public domain and you can use without limitations
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# this is the main application menu add/remove items as required
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response.menu = [
|
||||
(T('Home'), False, URL('default', 'index'), [])
|
||||
]
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# provide shortcuts for development. you can remove everything below in production
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if not configuration.get('app.production'):
|
||||
_app = request.application
|
||||
response.menu += [
|
||||
(T('My Sites'), False, URL('admin', 'default', 'site')),
|
||||
(T('This App'), False, '#', [
|
||||
(T('Design'), False, URL('admin', 'default', 'design/%s' % _app)),
|
||||
(T('Controller'), False,
|
||||
URL(
|
||||
'admin', 'default', 'edit/%s/controllers/%s.py' % (_app, request.controller))),
|
||||
(T('View'), False,
|
||||
URL(
|
||||
'admin', 'default', 'edit/%s/views/%s' % (_app, response.view))),
|
||||
(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('Config.ini'), False,
|
||||
URL(
|
||||
'admin', 'default', 'edit/%s/private/appconfig.ini' % _app)),
|
||||
(T('Layout'), False,
|
||||
URL(
|
||||
'admin', 'default', 'edit/%s/views/layout.html' % _app)),
|
||||
(T('Stylesheet'), False,
|
||||
URL(
|
||||
'admin', 'default', 'edit/%s/static/css/web2py-bootstrap3.css' % _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, '#', [
|
||||
(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('Recipes'), False, 'http://web2pyslices.com/'),
|
||||
]),
|
||||
(T('Documentation'), False, '#', [
|
||||
(T('Online book'), 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('Helping web2py'), False,
|
||||
'http://www.web2py.com/book/default/chapter/15'),
|
||||
(T("Buy web2py's 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'),
|
||||
]),
|
||||
]
|
||||
|
1
modules/__init__.py
Normal file
1
modules/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
|
BIN
modules/__pycache__/__init__.cpython-36.pyc
Normal file
BIN
modules/__pycache__/__init__.cpython-36.pyc
Normal file
Binary file not shown.
34
private/appconfig.ini
Normal file
34
private/appconfig.ini
Normal file
@ -0,0 +1,34 @@
|
||||
; App configuration
|
||||
[app]
|
||||
name = Welcome
|
||||
author = Your Name <you@example.com>
|
||||
description = a cool new app
|
||||
keywords = web2py, python, framework
|
||||
generator = Web2py Web Framework
|
||||
production = false
|
||||
toolbar = false
|
||||
|
||||
; Host configuration
|
||||
[host]
|
||||
names = localhost:*, 127.0.0.1:*, *:*, *
|
||||
|
||||
; db configuration
|
||||
[db]
|
||||
uri = sqlite://storage.sqlite
|
||||
migrate = true
|
||||
pool_size = 10
|
||||
|
||||
; smtp address and credentials
|
||||
[smtp]
|
||||
server = smtp.gmail.com:587
|
||||
sender = you@gmail.com
|
||||
login = username:password
|
||||
tls = true
|
||||
ssl = true
|
||||
|
||||
[scheduler]
|
||||
enabled = false
|
||||
heartbeat = 1
|
||||
|
||||
[google]
|
||||
analytics_id =
|
14
progress.log
Normal file
14
progress.log
Normal file
@ -0,0 +1,14 @@
|
||||
[2021-09-30 11:19:22] START
|
||||
[2021-09-30 11:30:15] EDIT transcription/views/default/index.html: -7
|
||||
[2021-09-30 12:09:49] EDIT transcription/controllers/default.py: -1
|
||||
[2021-09-30 12:12:03] EDIT transcription/controllers/default.py: 0
|
||||
[2021-09-30 12:13:13] EDIT transcription/views/default/index.html: -33
|
||||
[2021-09-30 12:15:38] EDIT transcription/controllers/default.py: 0
|
||||
[2021-09-30 12:16:14] EDIT transcription/views/default/index.html: 1
|
||||
[2021-09-30 12:16:35] EDIT transcription/views/default/index.html: 0
|
||||
[2021-09-30 12:17:04] EDIT transcription/controllers/default.py: 0
|
||||
[2021-09-30 20:05:21] EDIT transcription/models/db.py: -38
|
||||
[2021-09-30 20:06:50] EDIT transcription/models/db.py: 38
|
||||
[2021-09-30 20:07:51] EDIT transcription/models/db.py: 16
|
||||
[2021-09-30 20:11:28] EDIT transcription/models/db.py: -16
|
||||
[2021-09-30 20:11:51] EDIT transcription/models/db.py: 16
|
41
routes.example.py
Normal file
41
routes.example.py
Normal file
@ -0,0 +1,41 @@
|
||||
# -*- 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>/examples/routes.parametric.example.py for parameter's detail
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# To enable this route file you must do the steps:
|
||||
# 1. rename <web2py-root-dir>/examples/routes.parametric.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 interface)
|
||||
#
|
||||
# YOU CAN COPY THIS FILE TO ANY APPLICATION'S ROOT DIRECTORY WITHOUT CHANGES!
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
from gluon.fileutils import abspath
|
||||
from gluon.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
static/403.html
Normal file
1
static/403.html
Normal file
@ -0,0 +1 @@
|
||||
403
|
1
static/404.html
Normal file
1
static/404.html
Normal file
@ -0,0 +1 @@
|
||||
404
|
1
static/500.html
Normal file
1
static/500.html
Normal file
@ -0,0 +1 @@
|
||||
500
|
1
static/503.html
Normal file
1
static/503.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body><h1>Temporarily down for maintenance</h1></body></html>
|
7
static/css/bootstrap.min.css
vendored
Normal file
7
static/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
static/css/bootstrap.min.css.map
Normal file
1
static/css/bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
7
static/css/calendar.css
Normal file
7
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}
|
362
static/css/web2py-bootstrap4.css
Normal file
362
static/css/web2py-bootstrap4.css
Normal file
@ -0,0 +1,362 @@
|
||||
label, th {
|
||||
font-weigth: bold;
|
||||
white-space: nowrap;
|
||||
}
|
||||
div.w2p_flash {
|
||||
background-image: none;
|
||||
border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
color: #333;
|
||||
font-weight: 400;
|
||||
min-width: 28px;
|
||||
max-width: 300px;
|
||||
opacity: 1;
|
||||
vertical-align: baseline;
|
||||
right: auto;
|
||||
border-width: 1px;
|
||||
margin: 0 0 20px;
|
||||
padding: 15px 35px 15px 15px;
|
||||
}
|
||||
.nav-item a {
|
||||
white-space: nowrap;
|
||||
}
|
||||
div.w2p_flash.alert:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.ie-lte8 div.w2p_flash {
|
||||
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#222222', endColorstr='#000000', GradientType=0);
|
||||
}
|
||||
.ie-lte8 div.w2p_flash:hover {
|
||||
filter: alpha(opacity=25);
|
||||
}
|
||||
.main-container {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
div.error {
|
||||
width: auto;
|
||||
background: transparent;
|
||||
border: none;
|
||||
background-image: none;
|
||||
color: red;
|
||||
display: inline-block;
|
||||
padding: 5px;
|
||||
}
|
||||
div.w2p_flash.alert {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 70px;
|
||||
right: 75px;
|
||||
cursor: pointer;
|
||||
z-index: 1000;
|
||||
background-color: #f9edbe;
|
||||
border-color: #f0c36d;
|
||||
}
|
||||
.w2p-toolbar-hidden {
|
||||
margin: 10px;
|
||||
}
|
||||
ul.w2p_list {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
.w2p_list li {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.w2p_list li input {
|
||||
display: inline-block;
|
||||
width: 85%;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.w2p_list li a {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
div[id^=_autocomplete_] {
|
||||
margin-top: -10px;
|
||||
z-index: 1;
|
||||
}
|
||||
select.autocomplete {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
line-height: 1.428571429;
|
||||
color: #555;
|
||||
vertical-align: middle;
|
||||
background-color: #fff;
|
||||
background-image: none;
|
||||
border: 1px solid #ccc;
|
||||
-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;
|
||||
border-color: #428bca;
|
||||
padding: 6px 12px;
|
||||
}
|
||||
#web2py-logo {
|
||||
color: #c6cecc;
|
||||
}
|
||||
#web2py-logo b {
|
||||
display: inline-block;
|
||||
margin-top: -1px;
|
||||
}
|
||||
#web2py-logo b>span {
|
||||
font-size: 22px;
|
||||
color: #FFF;
|
||||
}
|
||||
#web2py-logo:hover {
|
||||
color: #FFF;
|
||||
}
|
||||
.footer > .row {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.background {
|
||||
background: url(../images/background.jpg) no-repeat center center;
|
||||
}
|
||||
body {
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
header {
|
||||
-webkit-box-shadow: 0 0 8px 2px #000;
|
||||
-moz-box-shadow: 0 0 8px 2px #000;
|
||||
box-shadow: 0 0 8px 2px #000;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
html {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
.footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background: #f7f7f7;
|
||||
}
|
||||
header h1 {
|
||||
color: #FFF!important;
|
||||
text-shadow: 0 0 7px #000;
|
||||
}
|
||||
header .jumbotron {
|
||||
background-color: transparent;
|
||||
}
|
||||
.w2p_flash {
|
||||
opacity: 0.9!important;
|
||||
right: 100px;
|
||||
}
|
||||
.right {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
.left {
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
.center {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
td.w2p_fw {
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
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;
|
||||
}
|
||||
#submit_record__row td {
|
||||
padding-top: .5em;
|
||||
}
|
||||
div.error_wrapper {
|
||||
display: block;
|
||||
}
|
||||
.copyright {
|
||||
float: left;
|
||||
}
|
||||
#poweredBy {
|
||||
float: right;
|
||||
}
|
||||
.web2py_grid tbody td {
|
||||
vertical-align: middle;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
.web2py_grid thead th,
|
||||
.web2py_grid tfoot td {
|
||||
background-color: #EAEAEA;
|
||||
padding: 10px 5px;
|
||||
}
|
||||
.web2py_grid tr.odd {
|
||||
background-color: #F9F9F9;
|
||||
}
|
||||
.web2py_grid tr:hover {
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
.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;
|
||||
width: 100%;
|
||||
}
|
||||
.web2py_grid .row_buttons {
|
||||
min-height: 25px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.web2py_grid .row_buttons a {
|
||||
margin: 3px;
|
||||
}
|
||||
.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: 6px 12px;
|
||||
}
|
||||
.web2py_counter {
|
||||
margin-top: 5px;
|
||||
margin-right: 2px;
|
||||
width: 35%;
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
.web2py_table {
|
||||
clear: both;
|
||||
display: block;
|
||||
}
|
||||
.web2py_paginator {
|
||||
text-align: right;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5px;
|
||||
}
|
||||
.web2py_paginator ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.web2py_paginator .current {
|
||||
font-weight: 700;
|
||||
}
|
||||
.web2py_breadcrumbs ul {
|
||||
list-style: none;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
li.w2p_grid_breadcrumb_elem {
|
||||
display: inline-block;
|
||||
}
|
||||
.web2py_console input,
|
||||
.web2py_console select,
|
||||
.web2py_console a {
|
||||
margin: 2px;
|
||||
padding: 6px 12px;
|
||||
}
|
||||
#wiki_page_body {
|
||||
width: 600px;
|
||||
height: auto;
|
||||
min-height: 400px;
|
||||
}
|
||||
.ie-lte7 .topbar .container {
|
||||
z-index: 2;
|
||||
}
|
||||
.ie9 #w2p_query_panel {
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
.web2py_console .form-control {
|
||||
width: 20%;
|
||||
display: inline;
|
||||
height: 32px;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
td.w2p_fl,
|
||||
td.w2p_fw,
|
||||
td.w2p_fc,
|
||||
#web2py_user_form td,
|
||||
.web2py_grid .web2py_form td {
|
||||
vertical-align: top;
|
||||
}
|
||||
#auth_user_remember__row label,
|
||||
.web2py_paginator ul li {
|
||||
display: inline;
|
||||
}
|
||||
.web2py_grid,
|
||||
.web2py_grid table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* form submit block */
|
||||
#submit_record__row .btn {
|
||||
margin-bottom: .25rem;
|
||||
}
|
||||
@media (min-width: 577px) {
|
||||
#submit_record__row .btn {
|
||||
margin-left: .25rem;
|
||||
}
|
||||
}
|
||||
@media (max-width: 576px) {
|
||||
#submit_record__row .btn {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* for backward compatbility with pre-font-awesome */
|
||||
.icon.plus,.icon.arrowleft,.icon.download,.icon.trash,.icon.pen,.icon.arrowright,.icon.magnifier {
|
||||
display: inline-block;
|
||||
font: normal normal normal 14px/1 FontAwesome;
|
||||
font-size: inherit;
|
||||
text-rendering: auto;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.icon.plus:before { content: "\f067";}
|
||||
.icon.arrowleft:before { content: "\f060";}
|
||||
.icon.download:before { content: "\f019";}
|
||||
.icon.trash:before { content: "\f1f8";}
|
||||
.icon.pen:before { content: "\f040";}
|
||||
.icon.arrowright:before { content: "\f061";}
|
||||
.icon.magnifier:before { content: "\f002";}
|
||||
|
||||
.web2py_table_selectable_actions {
|
||||
padding-top: 10px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.web2py_table_selectable_actions input {
|
||||
padding: 5px 7px;
|
||||
margin-right: 10px;
|
||||
}
|
313
static/css/web2py.css
Normal file
313
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;
|
||||
}
|
||||
.w2p_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.w2p_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.w2p_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.w2p_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.w2p_flash{ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#222222', endColorstr='#000000', GradientType=0 ); }
|
||||
.ie-lte8 div.w2p_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; }
|
BIN
static/images/facebook.png
Normal file
BIN
static/images/facebook.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 991 B |
BIN
static/images/favicon.ico
Normal file
BIN
static/images/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 198 B |
BIN
static/images/favicon.png
Normal file
BIN
static/images/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 323 B |
BIN
static/images/gplus-32.png
Normal file
BIN
static/images/gplus-32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
static/images/twitter.png
Normal file
BIN
static/images/twitter.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
8
static/js/analytics.min.js
vendored
Normal file
8
static/js/analytics.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7
static/js/bootstrap.bundle.min.js
vendored
Normal file
7
static/js/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
static/js/bootstrap.bundle.min.js.map
Normal file
1
static/js/bootstrap.bundle.min.js.map
Normal file
File diff suppressed because one or more lines are too long
29
static/js/calendar.js
Normal file
29
static/js/calendar.js
Normal file
File diff suppressed because one or more lines are too long
4
static/js/jquery.js
vendored
Normal file
4
static/js/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
static/js/modernizr-2.8.3.min.js
vendored
Normal file
4
static/js/modernizr-2.8.3.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
82
static/js/web2py-bootstrap4.js
Normal file
82
static/js/web2py-bootstrap4.js
Normal file
@ -0,0 +1,82 @@
|
||||
(function($, undefined) {
|
||||
$.web2py.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:not([class^="btn"])', target).addClass('btn btn-default');
|
||||
$("p.w2p-autocomplete-widget input").addClass('form-control');
|
||||
$('form input[type="submit"]:not([class^="btn"]), form input[type="button"]:not([class^="btn"])', target).addClass('btn 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).closest('li').is(':visible')) {
|
||||
/* make sure we didn't delete the element before we insert after */
|
||||
new_line.insertAfter($(e.target).closest('li'));
|
||||
} 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).find('li').length > 1) {
|
||||
/* only remove if we have more than 1 item so the list is never empty */
|
||||
$(e.target).closest('li').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).find(":text").val());
|
||||
if (trimmed == '') $(this).remove();
|
||||
else $(this).find(":text").val(trimmed);
|
||||
});
|
||||
}
|
||||
var ul = this;
|
||||
$(ul).find(":text").addClass('form-control').wrap("<div class='input-group'></div>").after('<div class="input-group-append"><i class="fa fa-plus-circle"></i></div> <div class="input-group-append"><i class="fa fa-minus-circle"></i></div>').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();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$(".nav ul.dropdown-menu").each(function() {
|
||||
var toggle = jQuery(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");
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
})(jQuery);
|
850
static/js/web2py.js
Normal file
850
static/js/web2py.js
Normal file
@ -0,0 +1,850 @@
|
||||
(function ($, undefined) {
|
||||
/*
|
||||
* Unobtrusive scripting adapter for jQuery, largely taken from
|
||||
* the wonderful https://github.com/rails/jquery-ujs
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
*
|
||||
*/
|
||||
'use strict';
|
||||
if ($.web2py !== undefined) {
|
||||
$.error('web2py.js has already been loaded!');
|
||||
}
|
||||
|
||||
var FORMDATA_IS_SUPPORTED = typeof(FormData) !== 'undefined';
|
||||
var animateIn = 'fadeIn';
|
||||
// var animateIn = 'slideDown';
|
||||
|
||||
String.prototype.reverse = function () {
|
||||
return this.split('').reverse().join('');
|
||||
};
|
||||
var web2py;
|
||||
|
||||
$.web2py = web2py = {
|
||||
|
||||
isUndefined: function (obj) {
|
||||
/* grabbed from underscore.js */
|
||||
return obj === void 0;
|
||||
},
|
||||
popup: function (url) {
|
||||
/* popup a window */
|
||||
var 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, options) {
|
||||
/*simple ajax function*/
|
||||
|
||||
// set options default value
|
||||
options = typeof options !== 'undefined' ? options : {};
|
||||
|
||||
var query = '';
|
||||
if (typeof s == 'string') {
|
||||
var d = $(s).serialize();
|
||||
if (d) {
|
||||
query = d;
|
||||
}
|
||||
} else {
|
||||
var pcs = [];
|
||||
if (s !== null && !web2py.isUndefined(s))
|
||||
for (var i = 0; i < s.length; i++) {
|
||||
var q = $('[name=' + s[i] + ']').serialize();
|
||||
if (q) {
|
||||
pcs.push(q);
|
||||
}
|
||||
}
|
||||
if (pcs.length > 0) {
|
||||
query = pcs.join('&');
|
||||
}
|
||||
}
|
||||
|
||||
// default success action
|
||||
var success_function = function (msg) {
|
||||
if (t) {
|
||||
if (t == ':eval') eval(msg);
|
||||
else if (typeof t == 'string') $('#' + t).html(msg);
|
||||
else t(msg);
|
||||
}
|
||||
};
|
||||
|
||||
// declare success actions as array
|
||||
var success = [success_function];
|
||||
|
||||
// add user success actions
|
||||
if ($.isArray(options.done)){
|
||||
success = $.merge(success, options.done);
|
||||
} else {
|
||||
success.push(options.done);
|
||||
}
|
||||
|
||||
// default jquery ajax options
|
||||
var ajax_options = {
|
||||
type: 'POST',
|
||||
url: u,
|
||||
data: query,
|
||||
success: success
|
||||
};
|
||||
|
||||
//remove custom "done" option if exists
|
||||
delete options.done;
|
||||
|
||||
// merge default ajax options with user custom options
|
||||
for (var attrname in options) {
|
||||
ajax_options[attrname] = options[attrname];
|
||||
}
|
||||
|
||||
// call ajax function
|
||||
$.ajax(ajax_options);
|
||||
},
|
||||
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:not([class^="btn"])', target).addClass('btn');
|
||||
$(
|
||||
'form input[type="submit"]:not([class^="btn"]), form input[type="button"]:not([class^="btn"])',
|
||||
target).addClass('btn');
|
||||
/* 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 */
|
||||
$('.w2p_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) {
|
||||
$('div.error', target).hide()[animateIn]('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', '.w2p_flash', function (event) {
|
||||
event.preventDefault();
|
||||
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 = !web2py.isUndefined(w2p_ajax_confirm_message) ? 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 = !web2py.isUndefined(w2p_ajax_datetime_format) ? 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 = !web2py.isUndefined(tformat) ? 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 = !web2py.isUndefined(w2p_ajax_date_format) ? 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 = !web2py.isUndefined(tformat) ? 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 (web2py.isUndefined(active)) {
|
||||
$(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 (e) {
|
||||
var submit_buttons = $(this).find(web2py.formInputClickSelector);
|
||||
submit_buttons.each(function() {
|
||||
web2py.disableElement($(this));
|
||||
})
|
||||
/* safeguard in case the form doesn't trigger a refresh,
|
||||
see https://github.com/web2py/web2py/issues/1100 */
|
||||
setTimeout(function () {
|
||||
submit_buttons.each(function() {
|
||||
web2py.enableElement($(this));
|
||||
});
|
||||
}, 5000);
|
||||
});
|
||||
doc.ajaxSuccess(function (e, xhr) {
|
||||
var redirect = xhr.getResponseHeader('web2py-redirect-location');
|
||||
if (redirect !== null) {
|
||||
if (!redirect.endsWith('#')) {
|
||||
window.location.href = redirect;
|
||||
} else {
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
/* 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', '.w2p_flash')
|
||||
*/
|
||||
switch (xhr.status) {
|
||||
case 500:
|
||||
web2py.flash(ajax_error_500);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
trap_form: function (action, target) {
|
||||
/* traps any LOADed form */
|
||||
$('#' + target + ' form').each(function () {
|
||||
var form = $(this);
|
||||
if (form.hasClass('no_trap')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var w2p_target = $(this).attr('data-w2p_target');
|
||||
if (web2py.isUndefined(w2p_target) || w2p_target === false) {
|
||||
form.attr('data-w2p_target', target);
|
||||
} else {
|
||||
target = w2p_target;
|
||||
}
|
||||
|
||||
var url = form.attr('action');
|
||||
if ((url === '') || (url === '#') || web2py.isUndefined(url)) {
|
||||
/* form has no action. Use component url. */
|
||||
url = action;
|
||||
}
|
||||
|
||||
form.submit(function (e) {
|
||||
web2py.disableElement(form.find(web2py.formInputClickSelector));
|
||||
web2py.hide_flash();
|
||||
|
||||
var formData;
|
||||
if (FORMDATA_IS_SUPPORTED) {
|
||||
formData = new FormData(form[0]); // Allows file uploads.
|
||||
} else {
|
||||
formData = form.serialize(); // Fallback for older browsers.
|
||||
}
|
||||
web2py.ajax_page('post', url, formData, target);
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
form.on('click', web2py.formInputClickSelector, function (e) {
|
||||
e.preventDefault();
|
||||
var input_name = $(this).attr('name');
|
||||
if (!web2py.isUndefined(input_name)) {
|
||||
$('<input type="hidden" />').attr('name', input_name)
|
||||
.attr('value', $(this).val()).appendTo(form);
|
||||
}
|
||||
form.trigger('submit');
|
||||
});
|
||||
});
|
||||
},
|
||||
ajax_page: function (method, action, data, target, element) {
|
||||
/* element is a new parameter, but should be put be put in front */
|
||||
if (web2py.isUndefined(element)) element = $(document);
|
||||
/* if target is not there, fill it with something that there isn't in the page*/
|
||||
if (web2py.isUndefined(target) || target === '') target = 'w2p_none';
|
||||
|
||||
/* processData and contentType must be set to false when passing a FormData
|
||||
object to jQuery.ajax. */
|
||||
var isFormData = Object.prototype.toString.call(data) === '[object FormData]';
|
||||
var contentType = isFormData ? false : 'application/x-www-form-urlencoded; charset=UTF-8';
|
||||
if (web2py.fire(element, 'ajax:before', null, target)) { /*test a usecase, should stop here if returns false */
|
||||
$.ajax({
|
||||
'type': method,
|
||||
'url': action,
|
||||
'data': data,
|
||||
'processData': !isFormData,
|
||||
'contentType': contentType,
|
||||
'xhr': function() {
|
||||
var xhr = new window.XMLHttpRequest();
|
||||
|
||||
xhr.upload.addEventListener("progress", function(evt) {
|
||||
if (evt.lengthComputable) {
|
||||
var percentComplete = evt.loaded / evt.total;
|
||||
percentComplete = parseInt(percentComplete * 100);
|
||||
web2py.fire(element, 'w2p:uploadProgress', [percentComplete], target);
|
||||
|
||||
if (percentComplete === 100) {
|
||||
web2py.fire(element, 'w2p:uploadComplete', [], target);
|
||||
}
|
||||
|
||||
}
|
||||
}, false);
|
||||
|
||||
return xhr;
|
||||
},
|
||||
'beforeSend': function (xhr, settings) {
|
||||
xhr.setRequestHeader('web2py-component-location', document.location);
|
||||
xhr.setRequestHeader('web2py-component-element', target);
|
||||
web2py.fire(element, 'w2p:componentBegin', [xhr, settings], 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);
|
||||
web2py.fire(element, 'w2p:componentComplete', [xhr, status], target); // Let us know the component is finished loading
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
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 (!web2py.isUndefined(myfield.data('w2p_entropy'))) 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);
|
||||
var 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], input[type=image], button[type=submit], button:not([type])',
|
||||
/* 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) {
|
||||
if (!web2py.isUndefined(el.data('w2p_disable'))) {
|
||||
return false;
|
||||
}
|
||||
el.addClass('disabled');
|
||||
var method = el.is('input') ? 'val' : 'html';
|
||||
//method = el.attr('name') ? 'html' : 'val';
|
||||
var disable_with_message = (!web2py.isUndefined(w2p_ajax_disable_with_message)) ?
|
||||
w2p_ajax_disable_with_message : 'Working...';
|
||||
/*store enabled state if not already disabled */
|
||||
if (web2py.isUndefined(el.data('w2p_enable_with'))) {
|
||||
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') || (web2py.isUndefined(el.data(
|
||||
'w2p_disable_with')))) {
|
||||
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.is('input') ? 'val' : 'html';
|
||||
if (!web2py.isUndefined(el.data('w2p_enable_with'))) {
|
||||
/* 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 = $('.w2p_flash');
|
||||
web2py.hide_flash();
|
||||
flash.text(message).addClass(status);
|
||||
if (flash.html()) flash.append('<span id="closeflash"> × </span>')[animateIn]();
|
||||
},
|
||||
hide_flash: function () {
|
||||
$('.w2p_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[animateIn]();
|
||||
else tr.hide();
|
||||
}
|
||||
};
|
||||
$('[data-show-trigger]', target).each(function () {
|
||||
var name = $(this).attr('data-show-trigger');
|
||||
// The field exists only when creating/editing a row
|
||||
if ($('#' + name).length) {
|
||||
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 (!web2py.isUndefined(pre_call)) {
|
||||
eval(pre_call);
|
||||
}
|
||||
if (confirm_message) {
|
||||
if (confirm_message == 'default') {
|
||||
confirm_message = !web2py.isUndefined(w2p_ajax_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 (web2py.isUndefined(target)) {
|
||||
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 () {
|
||||
var el = $(this);
|
||||
var toremove = el.data('w2p_remove');
|
||||
if (!web2py.isUndefined(toremove)) {
|
||||
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 () {
|
||||
web2py.disableElement($(this));
|
||||
});
|
||||
/*re-enable click on completion*/
|
||||
el.on('ajax:complete', 'a[data-w2p_method][data-w2p_disable_with]', function () {
|
||||
web2py.enableElement($(this));
|
||||
});
|
||||
},
|
||||
/* Disables form elements:
|
||||
- Does not disable elements with 'data-w2p_disable' attribute
|
||||
- Caches element value in 'w2p_enable_with' data store
|
||||
- Replaces element text with value of 'data-w2p_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');
|
||||
var disable = element.data('w2p_disable');
|
||||
if (!web2py.isUndefined(disable)) {
|
||||
return false;
|
||||
}
|
||||
if (!element.is(':file')) { // Altering file input values is not allowed.
|
||||
if (web2py.isUndefined(disable_with)) {
|
||||
element.data('w2p_disable_with', element[method]());
|
||||
}
|
||||
if (web2py.isUndefined(element.data('w2p_enable_with'))) {
|
||||
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 'w2p_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 () {
|
||||
web2py.disableFormElements($(this));
|
||||
});
|
||||
el.on('ajax:complete', 'form[data-w2p_target]', function () {
|
||||
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 (!web2py.isUndefined(el.timing)) { // Block triggering regular routines
|
||||
clearInterval(el.timing);
|
||||
}
|
||||
});
|
||||
$.web2py.component_handler(target);
|
||||
},
|
||||
main_hook: function () {
|
||||
var flash = $('.w2p_flash');
|
||||
flash.hide();
|
||||
if (flash.html()) web2py.flash(flash.html());
|
||||
web2py.ajax_init(document);
|
||||
web2py.event_handlers();
|
||||
web2py.a_handlers();
|
||||
web2py.form_handlers();
|
||||
}
|
||||
};
|
||||
/*end of functions */
|
||||
/*main hook*/
|
||||
$(function () {
|
||||
web2py.main_hook();
|
||||
});
|
||||
|
||||
})(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
views/__init__.py
Normal file
1
views/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
|
279
views/appadmin.html
Normal file
279
views/appadmin.html
Normal file
@ -0,0 +1,279 @@
|
||||
{{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>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
{{if request.function=='index':}}
|
||||
<h2>{{=T("Available Databases and Tables")}}</h2>
|
||||
{{if not databases:}}{{=T("No databases in this application")}}{{pass}}
|
||||
<ul class="nav nav-tabs" id="myTab">
|
||||
<li class="nav-item"><a href="#alltables" data-toggle="tab" class="nav-link active">Tables</a></li>
|
||||
<li class="nav-item"><a href="#hooks" data-toggle="tab" class="nav-link">Hooks</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="alltables">
|
||||
<table class="table table-striped">
|
||||
{{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 btn-primary")}}
|
||||
</td>
|
||||
</tr>
|
||||
{{pass}}
|
||||
{{pass}}
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane" id="hooks">
|
||||
{{=LOAD('appadmin', 'hooks', ajax=True)}}
|
||||
</div>
|
||||
</div>
|
||||
{{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 btn-primary", _role="button")}}<br/><br/>
|
||||
<hr />
|
||||
<h3>{{=T("Rows in Table")}}</h3><br/>
|
||||
{{else:}}
|
||||
<h3>{{=T("Rows selected")}}</h3><br/>
|
||||
{{pass}}
|
||||
{{=form}}
|
||||
<p class="text-muted">{{=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 btn-primary")}}{{pass}}
|
||||
{{if stop<nrows:}}{{=A(T('next %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start+step)),_class="btn btn-primary")}}{{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,query=query,_class='table table-striped table-bordered sortable')}}
|
||||
</div>
|
||||
{{pass}}
|
||||
<br/><br/>
|
||||
<hr />
|
||||
<h3>{{=T("Import/Export")}}</h3><br/>
|
||||
<a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}" class="btn btn-primary">{{=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 [[Pympler https://pypi.python.org/pypi/Pympler 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().toggleClass( "w2p_hidden" );')}}
|
||||
<div class="w2p_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 [[Pympler https://pypi.python.org/pypi/Pympler 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().toggleClass( "w2p_hidden" );')}}
|
||||
<div class="w2p_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 [[Pympler https://pypi.python.org/pypi/Pympler 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().toggleClass( "w2p_hidden" );')}}
|
||||
<div class="w2p_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=='d3_graph_model':}}
|
||||
<h2>{{=T("Graph Model")}}</h2>
|
||||
{{if not databases:}}
|
||||
{{=T("No databases in this application")}}
|
||||
{{else:}}
|
||||
<div id="vis"></div>
|
||||
<link rel="stylesheet" href="{{=URL('admin','static','css/d3_graph.css')}}"/>
|
||||
<script>
|
||||
// Define the d3 input data
|
||||
{{from gluon.serializers import json }}
|
||||
var nodes = {{=XML(json(nodes))}};
|
||||
var links = {{=XML(json(links))}};
|
||||
d3_graph();
|
||||
</script>
|
||||
{{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}}
|
||||
|
||||
</div>
|
||||
</div>
|
8
views/default/index.html
Normal file
8
views/default/index.html
Normal file
@ -0,0 +1,8 @@
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1>{{=u1}}</h1>
|
||||
<h2>{{=u2}}</h2>
|
||||
</div>
|
||||
</div>
|
8
views/default/index.html.bak
Normal file
8
views/default/index.html.bak
Normal file
@ -0,0 +1,8 @@
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1>{{=u1}}</h1>
|
||||
<h1>{{=u2}}</h1>
|
||||
</div>
|
||||
</div>
|
33
views/default/user.html
Normal file
33
views/default/user.html
Normal file
@ -0,0 +1,33 @@
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
<div class="row">
|
||||
<div id="web2py_user_form" class="col-lg-6" style="background-color:white; margin: 0 auto 5px auto; box-shadow: 0 0 5px #a1a1a1; border-radius:5px;padding: 20px">
|
||||
<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>
|
||||
{{=form}}
|
||||
{{if request.args(0)=='login' and not 'register' in auth.settings.actions_disabled:}}
|
||||
<a href="{{=URL('user/register')}}">{{=T('Register')}}</a>
|
||||
<br/>
|
||||
{{pass}}
|
||||
{{if request.args(0)=='login' and not 'retrieve_password' in auth.settings.actions_disabled:}}
|
||||
<a href="{{=URL('user/retrieve_password')}}">{{=T('Lost your password?')}}</a>
|
||||
{{pass}}
|
||||
{{if request.args(0)=='register':}}
|
||||
<a href="{{=URL('user/login')}}">{{=T('Login')}}</a>
|
||||
{{pass}}
|
||||
</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}}
|
17
views/generic.csv
Normal file
17
views/generic.csv
Normal file
@ -0,0 +1,17 @@
|
||||
{{"""Usage:
|
||||
|
||||
def controller():
|
||||
return {"": db().select(db.thing.ALL)}
|
||||
|
||||
And then visit that controller with a .csv extention name
|
||||
"""
|
||||
}}{{if len(response._vars)==1:}}{{
|
||||
# Not yet find a Python 2/3 compatible StringIO pattern,
|
||||
# we avoid this solution http://web2py.com/books/default/chapter/29/10/services#CSV
|
||||
# Here we buffer the entire csv file instead (it is your controller's job to limit the volume anyway),
|
||||
# based on: http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#CSV-one-Table-at-a-time-
|
||||
|
||||
content = response._vars[next(iter(response._vars))]
|
||||
response.headers['Content-Type'] = 'application/vnd.ms-excel'
|
||||
response.write(str(content), escape=False)
|
||||
}}{{pass}}
|
Can't render this file because it contains an unexpected character in line 1 and column 3.
|
13
views/generic.html
Normal file
13
views/generic.html
Normal file
@ -0,0 +1,13 @@
|
||||
{{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[next(iter(response._vars))])}}
|
||||
{{elif len(response._vars)>1:}}
|
||||
{{=BEAUTIFY(response._vars)}}
|
||||
{{pass}}
|
17
views/generic.ics
Normal file
17
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
views/generic.json
Normal file
1
views/generic.json
Normal file
@ -0,0 +1 @@
|
||||
{{from gluon.serializers import json}}{{=XML(json(response._vars))}}
|
23
views/generic.jsonp
Normal file
23
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 disabled 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
views/generic.load
Normal file
30
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[next(iter(response._vars))]}}{{else:}}{{=BEAUTIFY(response._vars)}}{{pass}}
|
69
views/generic.map
Normal file
69
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
views/generic.pdf
Normal file
11
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))
|
||||
pass
|
||||
=pdf_from_html(html)
|
||||
}}
|
10
views/generic.rss
Normal file
10
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
views/generic.xml
Normal file
1
views/generic.xml
Normal file
@ -0,0 +1 @@
|
||||
{{from gluon.serializers import xml}}{{=XML(xml(response._vars,quote=False))}}
|
131
views/layout.html
Normal file
131
views/layout.html
Normal file
@ -0,0 +1,131 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[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 -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"/>
|
||||
<link rel="stylesheet" href="{{=URL('static','css/bootstrap.min.css')}}"/>
|
||||
<link rel="stylesheet" href="{{=URL('static','css/web2py-bootstrap4.css')}}"/>
|
||||
<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')}}">
|
||||
<!-- All JavaScript at the bottom, except for Modernizr which enables
|
||||
HTML5 elements & feature detects -->
|
||||
<script src="{{=URL('static','js/modernizr-2.8.3.min.js')}}"></script>
|
||||
<!-- Favicons -->
|
||||
{{include 'web2py_ajax.html'}} <!-- this includes jquery.js, calendar.js/.css and web2py.js -->
|
||||
{{block head}}{{end}}
|
||||
</head>
|
||||
<body>
|
||||
<div class="w2p_flash alert alert-dismissable">{{=response.flash or ''}}</div>
|
||||
<!-- Navbar ======================================= -->
|
||||
<nav class="navbar navbar-light navbar-expand-md bg-faded bg-dark navbar-dark justify-content-center">
|
||||
<a href="http://web2py.com" class="navbar-brand d-flex w-50 mr-auto">web2py</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse w-100" id="navbarNavDropdown">
|
||||
<ul class="navbar-nav w-100 justify-content-center">
|
||||
{{for _item in response.menu or []:}}
|
||||
{{if len(_item)<4 or not _item[3]:}}
|
||||
<li class="nav-item {{if _item[1]:}}active{{pass}}">
|
||||
<a class="nav-link" href="{{=_item[2]}}">{{=_item[0]}}</a>
|
||||
</li>
|
||||
{{else:}}
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="{{=_item[2]}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{=_item[0]}}</a>
|
||||
<div class="dropdown-menu">
|
||||
{{for _subitem in _item[3]:}}
|
||||
<a class="dropdown-item" href="{{=_subitem[2]}}">{{=_subitem[0]}}</a>
|
||||
{{pass}}
|
||||
</div>
|
||||
</li>
|
||||
{{pass}}
|
||||
{{pass}}
|
||||
</ul>
|
||||
<form class="form-inline my-2 my-lg-0">
|
||||
<input class="form-control mr-sm-2" type="text" placeholder="Search">
|
||||
</form>
|
||||
{{if 'auth' in globals():}}
|
||||
<ul class="nav navbar-nav ml-auto w-100 justify-content-end">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{if auth.user:}}{{=auth.user.first_name}}{{else:}}LOGIN{{pass}}
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
{{if auth.user:}}
|
||||
<a class="dropdown-item" href="{{=URL('default','user/profile')}}">{{=T('Profile')}}</a>
|
||||
{{if 'change_password' not in auth.settings.actions_disabled:}}
|
||||
<a class="dropdown-item" href="{{=URL('default','user/change_password')}}">{{=T('Change Password')}}</a>
|
||||
{{pass}}
|
||||
<a class="dropdown-item" href="{{=URL('default','user/logout')}}">{{=T('Logout')}}</a>
|
||||
{{else:}}
|
||||
<a class="dropdown-item" href="{{=URL('default','user/login')}}">{{=T('Login')}}</a>
|
||||
{{if 'register' not in auth.settings.actions_disabled:}}
|
||||
<a class="dropdown-item" href="{{=URL('default','user/register')}}">{{=T('Sign up')}}</a>
|
||||
{{pass}}
|
||||
{{if 'retrieve_password' not in auth.settings.actions_disabled:}}
|
||||
<a class="dropdown-item" href="{{=URL('default','user/retrieve_password')}}">{{=T('Lost Password')}}</a>
|
||||
{{pass}}
|
||||
{{pass}}
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
{{pass}}
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Masthead ===================================== -->
|
||||
{{block header}}
|
||||
{{end}}
|
||||
<!-- Main ========================================= -->
|
||||
<!-- Begin page content -->
|
||||
<div class="container-fluid main-container">
|
||||
{{include}}
|
||||
{{=response.toolbar() if response.show_toolbar else ''}}
|
||||
</div>
|
||||
|
||||
{{block footer}} <!-- this is default footer -->
|
||||
<footer class="footer container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="copyright pull-left">{{=T('Copyright')}} © {{=request.now.year}}</div>
|
||||
<div id="poweredBy" class="pull-right">
|
||||
{{=T('Powered by')}}
|
||||
<a href="http://www.web2py.com/">web2py</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
{{end}}
|
||||
<!-- The javascript =============================== -->
|
||||
<script src="{{=URL('static','js/bootstrap.bundle.min.js')}}"></script>
|
||||
<script src="{{=URL('static','js/web2py-bootstrap4.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}}
|
||||
</body>
|
||||
</html>
|
18
views/web2py_ajax.html
Normal file
18
views/web2py_ajax.html
Normal file
@ -0,0 +1,18 @@
|
||||
<script type="text/javascript"><!--
|
||||
// These variables are used by the web2py_ajax_init function in web2py_ajax.js (which is loaded below).
|
||||
{{=ASSIGNJS(
|
||||
w2p_ajax_confirm_message = T('Are you sure you want to delete this object?'),
|
||||
w2p_ajax_disable_with_message = T('Working...'),
|
||||
w2p_ajax_date_format = T('%Y-%m-%d'),
|
||||
w2p_ajax_datetime_format = T('%Y-%m-%d %H:%M:%S'),
|
||||
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()
|
||||
}}
|
Loading…
Reference in New Issue
Block a user