diff --git a/applications/welcome3/ABOUT b/applications/welcome3/ABOUT new file mode 100644 index 00000000..184b19cb --- /dev/null +++ b/applications/welcome3/ABOUT @@ -0,0 +1,2 @@ +Write something about this app. +Developed with web2py. diff --git a/applications/welcome3/LICENSE b/applications/welcome3/LICENSE new file mode 100644 index 00000000..217b7c47 --- /dev/null +++ b/applications/welcome3/LICENSE @@ -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. diff --git a/applications/welcome3/__init__.py b/applications/welcome3/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/applications/welcome3/__init__.py @@ -0,0 +1 @@ + diff --git a/applications/welcome3/__init__.py.bak2 b/applications/welcome3/__init__.py.bak2 new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/applications/welcome3/__init__.py.bak2 @@ -0,0 +1 @@ + diff --git a/applications/welcome3/__init__.pyc b/applications/welcome3/__init__.pyc new file mode 100644 index 00000000..b8af071a Binary files /dev/null and b/applications/welcome3/__init__.pyc differ diff --git a/applications/welcome3/controllers/appadmin.py b/applications/welcome3/controllers/appadmin.py new file mode 100644 index 00000000..abd3c6ad --- /dev/null +++ b/applications/welcome3/controllers/appadmin.py @@ -0,0 +1,672 @@ +# -*- coding: utf-8 -*- + +# ########################################################## +# ## make sure administrator is on localhost +# ########################################################### + +import os +import socket +import datetime +import copy +import gluon.contenttype +import gluon.fileutils + +try: + import pygraphviz as pgv +except ImportError: + pgv = None + +is_gae = request.env.web2py_runtime_gae or False + +# ## critical --- make a copy of the environment + +global_env = copy.copy(globals()) +global_env['datetime'] = datetime + +http_host = request.env.http_host.split(':')[0] +remote_addr = request.env.remote_addr +try: + hosts = (http_host, socket.gethostname(), + socket.gethostbyname(http_host), + '::1', '127.0.0.1', '::ffff:127.0.0.1') +except: + hosts = (http_host, ) + +if request.is_https: + session.secure() +elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1") and \ + (request.function != 'manage'): + raise HTTP(200, T('appadmin is disabled because insecure channel')) + +if request.function == 'manage': + if not 'auth' in globals() or not request.args: + redirect(URL(request.controller, 'index')) + manager_action = auth.settings.manager_actions.get(request.args(0), None) + if manager_action is None and request.args(0) == 'auth': + manager_action = dict(role=auth.settings.auth_manager_role, + heading=T('Manage Access Control'), + tables=[auth.table_user(), + auth.table_group(), + auth.table_permission()]) + manager_role = manager_action.get('role', None) if manager_action else None + auth.requires_membership(manager_role)(lambda: None)() + menu = False +elif (request.application == 'admin' and not session.authorized) or \ + (request.application != 'admin' and not gluon.fileutils.check_credentials(request)): + redirect(URL('admin', 'default', 'index', + vars=dict(send=URL(args=request.args, vars=request.vars)))) +else: + response.subtitle = T('Database Administration (appadmin)') + menu = True + +ignore_rw = True +response.view = 'appadmin.html' +if menu: + response.menu = [[T('design'), False, URL('admin', 'default', 'design', + args=[request.application])], [T('db'), False, + URL('index')], [T('state'), False, + URL('state')], [T('cache'), False, + URL('ccache')]] + +# ########################################################## +# ## auxiliary functions +# ########################################################### + +if False and request.tickets_db: + from gluon.restricted import TicketStorage + ts = TicketStorage() + ts._get_table(request.tickets_db, ts.tablename, request.application) + +def get_databases(request): + dbs = {} + for (key, value) in global_env.items(): + cond = False + try: + cond = isinstance(value, GQLDB) + except: + cond = isinstance(value, SQLDB) + if cond: + dbs[key] = value + return dbs + + +databases = get_databases(None) + + +def eval_in_global_env(text): + exec ('_ret=%s' % text, {}, global_env) + return global_env['_ret'] + + +def get_database(request): + if request.args and request.args[0] in databases: + return eval_in_global_env(request.args[0]) + else: + session.flash = T('invalid request') + redirect(URL('index')) + + +def get_table(request): + db = get_database(request) + if len(request.args) > 1 and request.args[1] in db.tables: + return (db, request.args[1]) + else: + session.flash = T('invalid request') + redirect(URL('index')) + + +def get_query(request): + try: + return eval_in_global_env(request.vars.query) + except Exception: + return None + + +def query_by_table_type(tablename, db, request=request): + keyed = hasattr(db[tablename], '_primarykey') + if keyed: + firstkey = db[tablename][db[tablename]._primarykey[0]] + cond = '>0' + if firstkey.type in ['string', 'text']: + cond = '!=""' + qry = '%s.%s.%s%s' % ( + request.args[0], request.args[1], firstkey.name, cond) + else: + qry = '%s.%s.id>0' % tuple(request.args[:2]) + return qry + + +# ########################################################## +# ## list all databases and tables +# ########################################################### +def index(): + return dict(databases=databases) + + +# ########################################################## +# ## insert a new record +# ########################################################### + + +def insert(): + (db, table) = get_table(request) + form = SQLFORM(db[table], ignore_rw=ignore_rw) + if form.accepts(request.vars, session): + response.flash = T('new record inserted') + return dict(form=form, table=db[table]) + + +# ########################################################## +# ## list all records in table and insert new record +# ########################################################### + + +def download(): + import os + db = get_database(request) + return response.download(request, db) + + +def csv(): + import gluon.contenttype + response.headers['Content-Type'] = \ + gluon.contenttype.contenttype('.csv') + db = get_database(request) + query = get_query(request) + if not query: + return None + response.headers['Content-disposition'] = 'attachment; filename=%s_%s.csv'\ + % tuple(request.vars.query.split('.')[:2]) + return str(db(query, ignore_common_filters=True).select()) + + +def import_csv(table, file): + table.import_from_csv_file(file) + + +def select(): + import re + db = get_database(request) + dbname = request.args[0] + try: + is_imap = db._uri.startswith("imap://") + except (KeyError, AttributeError, TypeError): + is_imap = False + regex = re.compile('(?P\w+)\.(?P\w+)=(?P\d+)') + if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'): + regex = re.compile('(?P
\w+)\.(?P\w+)=(?P.+)') + if request.vars.query: + match = regex.match(request.vars.query) + if match: + request.vars.query = '%s.%s.%s==%s' % (request.args[0], + match.group('table'), match.group('field'), + match.group('value')) + else: + request.vars.query = session.last_query + query = get_query(request) + if request.vars.start: + start = int(request.vars.start) + else: + start = 0 + nrows = 0 + + step = 100 + fields = [] + + if is_imap: + step = 3 + + stop = start + step + + table = None + rows = [] + orderby = request.vars.orderby + if orderby: + orderby = dbname + '.' + orderby + if orderby == session.last_orderby: + if orderby[0] == '~': + orderby = orderby[1:] + else: + orderby = '~' + orderby + session.last_orderby = orderby + session.last_query = request.vars.query + form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px', + _name='query', _value=request.vars.query or '', + requires=IS_NOT_EMPTY( + error_message=T("Cannot be empty")))), TR(T('Update:'), + INPUT(_name='update_check', _type='checkbox', + value=False), INPUT(_style='width:400px', + _name='update_fields', _value=request.vars.update_fields + or '')), TR(T('Delete:'), INPUT(_name='delete_check', + _class='delete', _type='checkbox', value=False), ''), + TR('', '', INPUT(_type='submit', _value=T('submit')))), + _action=URL(r=request, args=request.args)) + + tb = None + if form.accepts(request.vars, formname=None): + regex = re.compile(request.args[0] + '\.(?P
\w+)\..+') + match = regex.match(form.vars.query.strip()) + if match: + table = match.group('table') + try: + nrows = db(query, ignore_common_filters=True).count() + if form.vars.update_check and form.vars.update_fields: + db(query, ignore_common_filters=True).update( + **eval_in_global_env('dict(%s)' % form.vars.update_fields)) + response.flash = T('%s %%{row} updated', nrows) + elif form.vars.delete_check: + db(query, ignore_common_filters=True).delete() + response.flash = T('%s %%{row} deleted', nrows) + nrows = db(query, ignore_common_filters=True).count() + + if is_imap: + fields = [db[table][name] for name in + ("id", "uid", "created", "to", + "sender", "subject")] + if orderby: + rows = db(query, ignore_common_filters=True).select( + *fields, limitby=(start, stop), + orderby=eval_in_global_env(orderby)) + else: + rows = db(query, ignore_common_filters=True).select( + *fields, limitby=(start, stop)) + except Exception, e: + import traceback + tb = traceback.format_exc() + (rows, nrows) = ([], 0) + response.flash = DIV(T('Invalid Query'), PRE(str(e))) + # begin handle upload csv + csv_table = table or request.vars.table + if csv_table: + formcsv = FORM(str(T('or import from csv file')) + " ", + INPUT(_type='file', _name='csvfile'), + INPUT(_type='hidden', _value=csv_table, _name='table'), + INPUT(_type='submit', _value=T('import'))) + else: + formcsv = None + if formcsv and formcsv.process().accepted: + try: + import_csv(db[request.vars.table], + request.vars.csvfile.file) + response.flash = T('data uploaded') + except Exception, e: + response.flash = DIV(T('unable to parse csv file'), PRE(str(e))) + # end handle upload csv + + return dict( + form=form, + table=table, + start=start, + stop=stop, + step=step, + nrows=nrows, + rows=rows, + query=request.vars.query, + formcsv=formcsv, + tb=tb + ) + + +# ########################################################## +# ## edit delete one record +# ########################################################### + + +def update(): + (db, table) = get_table(request) + keyed = hasattr(db[table], '_primarykey') + record = None + db[table]._common_filter = None + if keyed: + key = [f for f in request.vars if f in db[table]._primarykey] + if key: + record = db(db[table][key[0]] == request.vars[key[ + 0]]).select().first() + else: + record = db(db[table].id == request.args( + 2)).select().first() + + if not record: + qry = query_by_table_type(table, db) + session.flash = T('record does not exist') + redirect(URL('select', args=request.args[:1], + vars=dict(query=qry))) + + if keyed: + for k in db[table]._primarykey: + db[table][k].writable = False + + form = SQLFORM( + db[table], record, deletable=True, delete_label=T('Check to delete'), + ignore_rw=ignore_rw and not keyed, + linkto=URL('select', + args=request.args[:1]), upload=URL(r=request, + f='download', args=request.args[:1])) + + if form.accepts(request.vars, session): + session.flash = T('done!') + qry = query_by_table_type(table, db) + redirect(URL('select', args=request.args[:1], + vars=dict(query=qry))) + return dict(form=form, table=db[table]) + + +# ########################################################## +# ## get global variables +# ########################################################### + + +def state(): + return dict() + + +def ccache(): + if is_gae: + form = FORM( + P(TAG.BUTTON(T("Clear CACHE?"), _type="submit", _name="yes", _value="yes"))) + else: + cache.ram.initialize() + cache.disk.initialize() + + form = FORM( + P(TAG.BUTTON( + T("Clear CACHE?"), _type="submit", _name="yes", _value="yes")), + P(TAG.BUTTON( + T("Clear RAM"), _type="submit", _name="ram", _value="ram")), + P(TAG.BUTTON( + T("Clear DISK"), _type="submit", _name="disk", _value="disk")), + ) + + if form.accepts(request.vars, session): + session.flash = "" + if is_gae: + if request.vars.yes: + cache.ram.clear() + session.flash += T("Cache Cleared") + else: + clear_ram = False + clear_disk = False + if request.vars.yes: + clear_ram = clear_disk = True + if request.vars.ram: + clear_ram = True + if request.vars.disk: + clear_disk = True + if clear_ram: + cache.ram.clear() + session.flash += T("Ram Cleared") + if clear_disk: + cache.disk.clear() + session.flash += T("Disk Cleared") + redirect(URL(r=request)) + + try: + from guppy import hpy + hp = hpy() + except ImportError: + hp = False + + import shelve + import os + import copy + import time + import math + from gluon import portalocker + + ram = { + 'entries': 0, + 'bytes': 0, + 'objects': 0, + 'hits': 0, + 'misses': 0, + 'ratio': 0, + 'oldest': time.time(), + 'keys': [] + } + + disk = copy.copy(ram) + total = copy.copy(ram) + disk['keys'] = [] + total['keys'] = [] + + def GetInHMS(seconds): + hours = math.floor(seconds / 3600) + seconds -= hours * 3600 + minutes = math.floor(seconds / 60) + seconds -= minutes * 60 + seconds = math.floor(seconds) + + return (hours, minutes, seconds) + + if is_gae: + gae_stats = cache.ram.client.get_stats() + try: + gae_stats['ratio'] = ((gae_stats['hits'] * 100) / + (gae_stats['hits'] + gae_stats['misses'])) + except ZeroDivisionError: + gae_stats['ratio'] = T("?") + gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age']) + total.update(gae_stats) + else: + for key, value in cache.ram.storage.iteritems(): + if isinstance(value, dict): + ram['hits'] = value['hit_total'] - value['misses'] + ram['misses'] = value['misses'] + try: + ram['ratio'] = ram['hits'] * 100 / value['hit_total'] + except (KeyError, ZeroDivisionError): + ram['ratio'] = 0 + else: + if hp: + ram['bytes'] += hp.iso(value[1]).size + ram['objects'] += hp.iso(value[1]).count + ram['entries'] += 1 + if value[0] < ram['oldest']: + ram['oldest'] = value[0] + ram['keys'].append((key, GetInHMS(time.time() - value[0]))) + folder = os.path.join(request.folder,'cache') + if not os.path.exists(folder): + os.mkdir(folder) + locker = open(os.path.join(folder, 'cache.lock'), 'a') + portalocker.lock(locker, portalocker.LOCK_EX) + disk_storage = shelve.open( + os.path.join(folder, 'cache.shelve')) + try: + for key, value in disk_storage.items(): + if isinstance(value, dict): + disk['hits'] = value['hit_total'] - value['misses'] + disk['misses'] = value['misses'] + try: + disk['ratio'] = disk['hits'] * 100 / value['hit_total'] + except (KeyError, ZeroDivisionError): + disk['ratio'] = 0 + else: + if hp: + disk['bytes'] += hp.iso(value[1]).size + disk['objects'] += hp.iso(value[1]).count + disk['entries'] += 1 + if value[0] < disk['oldest']: + disk['oldest'] = value[0] + disk['keys'].append((key, GetInHMS(time.time() - value[0]))) + finally: + portalocker.unlock(locker) + locker.close() + disk_storage.close() + + total['entries'] = ram['entries'] + disk['entries'] + total['bytes'] = ram['bytes'] + disk['bytes'] + total['objects'] = ram['objects'] + disk['objects'] + total['hits'] = ram['hits'] + disk['hits'] + total['misses'] = ram['misses'] + disk['misses'] + total['keys'] = ram['keys'] + disk['keys'] + try: + total['ratio'] = total['hits'] * 100 / (total['hits'] + + total['misses']) + except (KeyError, ZeroDivisionError): + total['ratio'] = 0 + + if disk['oldest'] < ram['oldest']: + total['oldest'] = disk['oldest'] + else: + total['oldest'] = ram['oldest'] + + ram['oldest'] = GetInHMS(time.time() - ram['oldest']) + disk['oldest'] = GetInHMS(time.time() - disk['oldest']) + total['oldest'] = GetInHMS(time.time() - total['oldest']) + + def key_table(keys): + return TABLE( + TR(TD(B(T('Key'))), TD(B(T('Time in Cache (h:m:s)')))), + *[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys], + **dict(_class='cache-keys', + _style="border-collapse: separate; border-spacing: .5em;")) + + if not is_gae: + ram['keys'] = key_table(ram['keys']) + disk['keys'] = key_table(disk['keys']) + total['keys'] = key_table(total['keys']) + + return dict(form=form, total=total, + ram=ram, disk=disk, object_stats=hp != False) + + +def table_template(table): + from gluon.html import TR, TD, TABLE, TAG + + def FONT(*args, **kwargs): + return TAG.font(*args, **kwargs) + + def types(field): + f_type = field.type + if not isinstance(f_type,str): + return ' ' + elif f_type == 'string': + return field.length + elif f_type == 'id': + return B('pk') + elif f_type.startswith('reference') or \ + f_type.startswith('list:reference'): + return B('fk') + else: + return ' ' + + # This is horribe HTML but the only one graphiz understands + rows = [] + cellpadding = 4 + color = "#000000" + bgcolor = "#FFFFFF" + face = "Helvetica" + face_bold = "Helvetica Bold" + border = 0 + + rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor), + _colspan=3, _cellpadding=cellpadding, + _align="center", _bgcolor=color))) + for row in db[table]: + rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold), + _align="left", _cellpadding=cellpadding, + _border=border), + TD(FONT(row.type, _color=color, _face=face), + _align="left", _cellpadding=cellpadding, + _border=border), + TD(FONT(types(row), _color=color, _face=face), + _align="center", _cellpadding=cellpadding, + _border=border))) + return "< %s >" % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1, + _cellborder=0, _cellspacing=0) + ).xml() + + +def bg_graph_model(): + graph = pgv.AGraph(layout='dot', directed=True, strict=False, rankdir='LR') + + subgraphs = dict() + for tablename in db.tables: + if hasattr(db[tablename],'_meta_graphmodel'): + meta_graphmodel = db[tablename]._meta_graphmodel + else: + meta_graphmodel = dict(group='Undefined', color='#ECECEC') + + group = meta_graphmodel['group'].replace(' ', '') + if not subgraphs.has_key(group): + subgraphs[group] = dict(meta=meta_graphmodel, tables=[]) + subgraphs[group]['tables'].append(tablename) + else: + subgraphs[group]['tables'].append(tablename) + + graph.add_node(tablename, name=tablename, shape='plaintext', + label=table_template(tablename)) + + for n, key in enumerate(subgraphs.iterkeys()): + graph.subgraph(nbunch=subgraphs[key]['tables'], + name='cluster%d' % n, + style='filled', + color=subgraphs[key]['meta']['color'], + label=subgraphs[key]['meta']['group']) + + for tablename in db.tables: + for field in db[tablename]: + f_type = field.type + if isinstance(f_type,str) and ( + f_type.startswith('reference') or + f_type.startswith('list:reference')): + referenced_table = f_type.split()[1].split('.')[0] + n1 = graph.get_node(tablename) + n2 = graph.get_node(referenced_table) + graph.add_edge(n1, n2, color="#4C4C4C", label='') + + graph.layout() + if not request.args: + response.headers['Content-Type'] = 'image/png' + return graph.draw(format='png', prog='dot') + else: + response.headers['Content-Disposition']='attachment;filename=graph.%s'%request.args(0) + if request.args(0) == 'dot': + return graph.string() + else: + return graph.draw(format=request.args(0), prog='dot') + +def graph_model(): + return dict(databases=databases, pgv=pgv) + +def manage(): + tables = manager_action['tables'] + if isinstance(tables[0], str): + db = manager_action.get('db', auth.db) + db = globals()[db] if isinstance(db, str) else db + tables = [db[table] for table in tables] + if request.args(0) == 'auth': + auth.table_user()._plural = T('Users') + auth.table_group()._plural = T('Roles') + auth.table_membership()._plural = T('Memberships') + auth.table_permission()._plural = T('Permissions') + if request.extension != 'load': + return dict(heading=manager_action.get('heading', + T('Manage %(action)s') % dict(action=request.args(0).replace('_', ' ').title())), + tablenames=[table._tablename for table in tables], + labels=[table._plural.title() for table in tables]) + + table = tables[request.args(1, cast=int)] + formname = '%s_grid' % table._tablename + linked_tables = orderby = None + if request.args(0) == 'auth': + auth.table_group()._id.readable = \ + auth.table_membership()._id.readable = \ + auth.table_permission()._id.readable = False + auth.table_membership().user_id.label = T('User') + auth.table_membership().group_id.label = T('Role') + auth.table_permission().group_id.label = T('Role') + auth.table_permission().name.label = T('Permission') + if table == auth.table_user(): + linked_tables=[auth.settings.table_membership_name] + elif table == auth.table_group(): + orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None + elif table == auth.table_permission(): + orderby = 'group_id' + kwargs = dict(user_signature=True, maxtextlength=1000, + orderby=orderby, linked_tables=linked_tables) + smartgrid_args = manager_action.get('smartgrid_args', {}) + kwargs.update(**smartgrid_args.get('DEFAULT', {})) + kwargs.update(**smartgrid_args.get(table._tablename, {})) + grid = SQLFORM.smartgrid(table, args=request.args[:2], formname=formname, **kwargs) + return grid diff --git a/applications/welcome3/controllers/default.py b/applications/welcome3/controllers/default.py new file mode 100644 index 00000000..b2f2a5dd --- /dev/null +++ b/applications/welcome3/controllers/default.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +# this file is released under public domain and you can use without limitations + +######################################################################### +## This is a sample controller +## - index is the default action of any application +## - user is required for authentication and authorization +## - download is for downloading files uploaded in the db (does streaming) +## - api is an example of Hypermedia API support and access control +######################################################################### + +def index(): + """ + example action using the internationalization operator T and flash + rendered by views/default/index.html or views/generic.html + + if you need a simple wiki simply replace the two lines below with: + return auth.wiki() + """ + response.flash = T("Welcome to web2py!") + return dict(message=T('Hello World')) + + +def user(): + """ + exposes: + http://..../[app]/default/user/login + http://..../[app]/default/user/logout + http://..../[app]/default/user/register + http://..../[app]/default/user/profile + http://..../[app]/default/user/retrieve_password + http://..../[app]/default/user/change_password + http://..../[app]/default/user/manage_users (requires membership in + use @auth.requires_login() + @auth.requires_membership('group name') + @auth.requires_permission('read','table name',record_id) + to decorate functions that need access control + """ + return dict(form=auth()) + + +@cache.action() +def download(): + """ + allows downloading of uploaded files + http://..../[app]/default/download/[filename] + """ + return response.download(request, db) + + +def call(): + """ + exposes services. for example: + http://..../[app]/default/call/jsonrpc + decorate with @services.jsonrpc the functions to expose + supports xml, json, xmlrpc, jsonrpc, amfrpc, rss, csv + """ + return service() + + +@auth.requires_login() +def api(): + """ + this is example of API with access control + WEB2PY provides Hypermedia API (Collection+JSON) Experimental + """ + from gluon.contrib.hypermedia import Collection + rules = { + '': {'GET':{},'POST':{},'PUT':{},'DELETE':{}}, + } + return Collection(db).process(request,response,rules) diff --git a/applications/welcome3/cron/crontab b/applications/welcome3/cron/crontab new file mode 100644 index 00000000..6ab4ea8c --- /dev/null +++ b/applications/welcome3/cron/crontab @@ -0,0 +1 @@ +#crontab \ No newline at end of file diff --git a/applications/welcome3/cron/crontab.example b/applications/welcome3/cron/crontab.example new file mode 100644 index 00000000..6ab4ea8c --- /dev/null +++ b/applications/welcome3/cron/crontab.example @@ -0,0 +1 @@ +#crontab \ No newline at end of file diff --git a/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table new file mode 100644 index 00000000..617d1e25 --- /dev/null +++ b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table @@ -0,0 +1,108 @@ +(dp1 +S'user_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'service' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p14 +sg9 +I00 +sg10 +S'string' +p15 +ssS'renew' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(1)' +p18 +sg9 +I00 +sg10 +S'boolean' +p19 +ssS'created_on' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'TIMESTAMP' +p22 +sg9 +I00 +sg10 +S'datetime' +p23 +ssS'ticket' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(512)' +p26 +sg9 +I00 +sg10 +g15 +ssS'id' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p29 +sg9 +I00 +sg10 +g27 +ss. \ No newline at end of file diff --git a/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_event.table b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_event.table new file mode 100644 index 00000000..6deb0d47 --- /dev/null +++ b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_event.table @@ -0,0 +1,108 @@ +(dp1 +S'origin' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I5 +sS'sql' +p7 +S'CHAR(512)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'client_ip' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p14 +sg9 +I00 +sg10 +g11 +ssS'user_id' +p15 +(dp16 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE' +p17 +sg9 +I00 +sg10 +S'reference auth_user' +p18 +ssS'description' +p19 +(dp20 +g4 +I32768 +sg5 +I00 +sg6 +I6 +sg7 +S'TEXT' +p21 +sg9 +I00 +sg10 +S'text' +p22 +ssS'time_stamp' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'TIMESTAMP' +p25 +sg9 +I00 +sg10 +S'datetime' +p26 +ssS'id' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p29 +sg9 +I00 +sg10 +g27 +ss. \ No newline at end of file diff --git a/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_group.table b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_group.table new file mode 100644 index 00000000..361a56e1 --- /dev/null +++ b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_group.table @@ -0,0 +1,58 @@ +(dp1 +S'role' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'CHAR(512)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p14 +sg9 +I00 +sg10 +g12 +ssS'description' +p15 +(dp16 +g4 +I32768 +sg5 +I00 +sg6 +I3 +sg7 +S'TEXT' +p17 +sg9 +I00 +sg10 +S'text' +p18 +ss. \ No newline at end of file diff --git a/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table new file mode 100644 index 00000000..0da473a6 --- /dev/null +++ b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table @@ -0,0 +1,58 @@ +(dp1 +S'group_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I3 +sS'sql' +p7 +S'INTEGER REFERENCES auth_group (id) ON DELETE CASCADE' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_group' +p11 +ssS'user_id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE' +p14 +sg9 +I00 +sg10 +S'reference auth_user' +p15 +ssS'id' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p18 +sg9 +I00 +sg10 +g16 +ss. \ No newline at end of file diff --git a/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table new file mode 100644 index 00000000..cbd706ed --- /dev/null +++ b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table @@ -0,0 +1,91 @@ +(dp1 +S'record_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I5 +sS'sql' +p7 +S'INTEGER' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'integer' +p11 +ssS'group_id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'INTEGER REFERENCES auth_group (id) ON DELETE CASCADE' +p14 +sg9 +I00 +sg10 +S'reference auth_group' +p15 +ssS'table_name' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p18 +sg9 +I00 +sg10 +S'string' +p19 +ssS'id' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p22 +sg9 +I00 +sg10 +g20 +ssS'name' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p25 +sg9 +I00 +sg10 +g19 +ss. \ No newline at end of file diff --git a/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user.table b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user.table new file mode 100644 index 00000000..ad6901b8 --- /dev/null +++ b/applications/welcome3/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user.table @@ -0,0 +1,137 @@ +(dp1 +S'first_name' +p2 +(dp3 +S'length' +p4 +I128 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'CHAR(128)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'last_name' +p12 +(dp13 +g4 +I128 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(128)' +p14 +sg9 +I00 +sg10 +g11 +ssS'registration_id' +p15 +(dp16 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'CHAR(512)' +p17 +sg9 +I00 +sg10 +g11 +ssS'email' +p18 +(dp19 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p20 +sg9 +I00 +sg10 +g11 +ssS'reset_password_key' +p21 +(dp22 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(512)' +p23 +sg9 +I00 +sg10 +g11 +ssS'password' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(512)' +p26 +sg9 +I00 +sg10 +g24 +ssS'registration_key' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(512)' +p29 +sg9 +I00 +sg10 +g11 +ssS'id' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p32 +sg9 +I00 +sg10 +g30 +ss. \ No newline at end of file diff --git a/applications/welcome3/databases/sql.log b/applications/welcome3/databases/sql.log new file mode 100644 index 00000000..27e315b8 --- /dev/null +++ b/applications/welcome3/databases/sql.log @@ -0,0 +1,55 @@ +timestamp: 2015-03-10T13:41:36.516130 +CREATE TABLE auth_user( + id INTEGER PRIMARY KEY AUTOINCREMENT, + first_name CHAR(128), + last_name CHAR(128), + email CHAR(512), + password CHAR(512), + registration_key CHAR(512), + reset_password_key CHAR(512), + registration_id CHAR(512) +); +success! +timestamp: 2015-03-10T13:41:36.519253 +CREATE TABLE auth_group( + id INTEGER PRIMARY KEY AUTOINCREMENT, + role CHAR(512), + description TEXT +); +success! +timestamp: 2015-03-10T13:41:36.521428 +CREATE TABLE auth_membership( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE, + group_id INTEGER REFERENCES auth_group (id) ON DELETE CASCADE +); +success! +timestamp: 2015-03-10T13:41:36.525124 +CREATE TABLE auth_permission( + id INTEGER PRIMARY KEY AUTOINCREMENT, + group_id INTEGER REFERENCES auth_group (id) ON DELETE CASCADE, + name CHAR(512), + table_name CHAR(512), + record_id INTEGER +); +success! +timestamp: 2015-03-10T13:41:36.529392 +CREATE TABLE auth_event( + id INTEGER PRIMARY KEY AUTOINCREMENT, + time_stamp TIMESTAMP, + client_ip CHAR(512), + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE, + origin CHAR(512), + description TEXT +); +success! +timestamp: 2015-03-10T13:41:36.532142 +CREATE TABLE auth_cas( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE, + created_on TIMESTAMP, + service CHAR(512), + ticket CHAR(512), + renew CHAR(1) +); +success! diff --git a/applications/welcome3/databases/storage.sqlite b/applications/welcome3/databases/storage.sqlite new file mode 100644 index 00000000..667fcf87 Binary files /dev/null and b/applications/welcome3/databases/storage.sqlite differ diff --git a/applications/welcome3/languages/cs.py b/applications/welcome3/languages/cs.py new file mode 100644 index 00000000..9c8c7b63 --- /dev/null +++ b/applications/welcome3/languages/cs.py @@ -0,0 +1,480 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'cs-cz', +'!langname!': 'čeština', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': 'Kolonka "Upravit" je nepovinný výraz, například "pole1=\'nováhodnota\'". Výsledky databázového JOINu nemůžete mazat ani upravovat.', +'"User Exception" debug mode. An error ticket could be issued!': '"User Exception" debug mode. An error ticket could be issued!', +'%%{Row} in Table': '%%{řádek} v tabulce', +'%%{Row} selected': 'označených %%{řádek}', +'%s %%{row} deleted': '%s smazaných %%{záznam}', +'%s %%{row} updated': '%s upravených %%{záznam}', +'%s selected': '%s označených', +'%Y-%m-%d': '%d.%m.%Y', +'%Y-%m-%d %H:%M:%S': '%d.%m.%Y %H:%M:%S', +'(requires internet access)': '(vyžaduje připojení k internetu)', +'(requires internet access, experimental)': '(requires internet access, experimental)', +'(something like "it-it")': '(například "cs-cs")', +'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)', +'@markmin\x01Searching: **%s** %%{file}': 'Hledání: **%s** %%{soubor}', +'About': 'O programu', +'About application': 'O aplikaci', +'Access Control': 'Řízení přístupu', +'Add breakpoint': 'Přidat bod přerušení', +'Additional code for your application': 'Další kód pro Vaši aplikaci', +'Admin design page': 'Admin design page', +'Admin language': 'jazyk rozhraní', +'Administrative interface': 'pro administrátorské rozhraní klikněte sem', +'Administrative Interface': 'Administrátorské rozhraní', +'administrative interface': 'rozhraní pro správu', +'Administrator Password:': 'Administrátorské heslo:', +'Ajax Recipes': 'Recepty s ajaxem', +'An error occured, please %s the page': 'An error occured, please %s the page', +'and rename it:': 'a přejmenovat na:', +'appadmin': 'appadmin', +'appadmin is disabled because insecure channel': 'appadmin je zakázaná bez zabezpečeného spojení', +'Application': 'Application', +'application "%s" uninstalled': 'application "%s" odinstalována', +'application compiled': 'aplikace zkompilována', +'Application name:': 'Název aplikace:', +'are not used': 'nepoužita', +'are not used yet': 'ještě nepoužita', +'Are you sure you want to delete this object?': 'Opravdu chcete odstranit tento objekt?', +'Are you sure you want to uninstall application "%s"?': 'Opravdu chcete odinstalovat aplikaci "%s"?', +'arguments': 'arguments', +'at char %s': 'at char %s', +'at line %s': 'at line %s', +'ATTENTION:': 'ATTENTION:', +'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', +'Available Databases and Tables': 'Dostupné databáze a tabulky', +'back': 'zpět', +'Back to wizard': 'Back to wizard', +'Basics': 'Basics', +'Begin': 'Začít', +'breakpoint': 'bod přerušení', +'Breakpoints': 'Body přerušení', +'breakpoints': 'body přerušení', +'Buy this book': 'Koupit web2py knihu', +'Cache': 'Cache', +'cache': 'cache', +'Cache Keys': 'Klíče cache', +'cache, errors and sessions cleaned': 'cache, chyby a relace byly pročištěny', +'can be a git repo': 'může to být git repo', +'Cancel': 'Storno', +'Cannot be empty': 'Nemůže být prázdné', +'Change Admin Password': 'Změnit heslo pro správu', +'Change admin password': 'Změnit heslo pro správu aplikací', +'Change password': 'Změna hesla', +'check all': 'vše označit', +'Check for upgrades': 'Zkusit aktualizovat', +'Check to delete': 'Označit ke smazání', +'Check to delete:': 'Označit ke smazání:', +'Checking for upgrades...': 'Zjišťuji, zda jsou k dispozici aktualizace...', +'Clean': 'Pročistit', +'Clear CACHE?': 'Vymazat CACHE?', +'Clear DISK': 'Vymazat DISK', +'Clear RAM': 'Vymazat RAM', +'Click row to expand traceback': 'Pro rozbalení stopy, klikněte na řádek', +'Click row to view a ticket': 'Pro zobrazení chyby (ticketu), klikněte na řádku...', +'Client IP': 'IP adresa klienta', +'code': 'code', +'Code listing': 'Code listing', +'collapse/expand all': 'vše sbalit/rozbalit', +'Community': 'Komunita', +'Compile': 'Zkompilovat', +'compiled application removed': 'zkompilovaná aplikace smazána', +'Components and Plugins': 'Komponenty a zásuvné moduly', +'Condition': 'Podmínka', +'continue': 'continue', +'Controller': 'Kontrolér (Controller)', +'Controllers': 'Kontroléry', +'controllers': 'kontroléry', +'Copyright': 'Copyright', +'Count': 'Počet', +'Create': 'Vytvořit', +'create file with filename:': 'vytvořit soubor s názvem:', +'created by': 'vytvořil', +'Created By': 'Vytvořeno - kým', +'Created On': 'Vytvořeno - kdy', +'crontab': 'crontab', +'Current request': 'Aktuální požadavek', +'Current response': 'Aktuální odpověď', +'Current session': 'Aktuální relace', +'currently running': 'právě běží', +'currently saved or': 'uloženo nebo', +'customize me!': 'upravte mě!', +'data uploaded': 'data nahrána', +'Database': 'Rozhraní databáze', +'Database %s select': 'databáze %s výběr', +'Database administration': 'Database administration', +'database administration': 'správa databáze', +'Date and Time': 'Datum a čas', +'day': 'den', +'db': 'db', +'DB Model': 'Databázový model', +'Debug': 'Ladění', +'defines tables': 'defines tables', +'Delete': 'Smazat', +'delete': 'smazat', +'delete all checked': 'smazat vše označené', +'delete plugin': 'delete plugin', +'Delete this file (you will be asked to confirm deletion)': 'Smazat tento soubor (budete požádán o potvrzení mazání)', +'Delete:': 'Smazat:', +'deleted after first hit': 'smazat po prvním dosažení', +'Demo': 'Demo', +'Deploy': 'Nahrát', +'Deploy on Google App Engine': 'Nahrát na Google App Engine', +'Deploy to OpenShift': 'Nahrát na OpenShift', +'Deployment Recipes': 'Postupy pro deployment', +'Description': 'Popis', +'design': 'návrh', +'Detailed traceback description': 'Podrobný výpis prostředí', +'details': 'podrobnosti', +'direction: ltr': 'směr: ltr', +'Disable': 'Zablokovat', +'DISK': 'DISK', +'Disk Cache Keys': 'Klíče diskové cache', +'Disk Cleared': 'Disk smazán', +'docs': 'dokumentace', +'Documentation': 'Dokumentace', +"Don't know what to do?": 'Nevíte kudy kam?', +'done!': 'hotovo!', +'Download': 'Stáhnout', +'download layouts': 'stáhnout moduly rozvržení stránky', +'download plugins': 'stáhnout zásuvné moduly', +'E-mail': 'E-mail', +'Edit': 'Upravit', +'edit all': 'edit all', +'Edit application': 'Správa aplikace', +'edit controller': 'edit controller', +'Edit current record': 'Upravit aktuální záznam', +'Edit Profile': 'Upravit profil', +'edit views:': 'upravit pohled:', +'Editing file "%s"': 'Úprava souboru "%s"', +'Editing Language file': 'Úprava jazykového souboru', +'Editing Plural Forms File': 'Editing Plural Forms File', +'Email and SMS': 'Email a SMS', +'Enable': 'Odblokovat', +'enter a number between %(min)g and %(max)g': 'zadejte číslo mezi %(min)g a %(max)g', +'enter an integer between %(min)g and %(max)g': 'zadejte celé číslo mezi %(min)g a %(max)g', +'Error': 'Chyba', +'Error logs for "%(app)s"': 'Seznam výskytu chyb pro aplikaci "%(app)s"', +'Error snapshot': 'Snapshot chyby', +'Error ticket': 'Ticket chyby', +'Errors': 'Chyby', +'Exception %(extype)s: %(exvalue)s': 'Exception %(extype)s: %(exvalue)s', +'Exception %s': 'Exception %s', +'Exception instance attributes': 'Prvky instance výjimky', +'Expand Abbreviation': 'Expand Abbreviation', +'export as csv file': 'exportovat do .csv souboru', +'exposes': 'vystavuje', +'exposes:': 'vystavuje funkce:', +'extends': 'rozšiřuje', +'failed to compile file because:': 'soubor se nepodařilo zkompilovat, protože:', +'FAQ': 'Často kladené dotazy', +'File': 'Soubor', +'file': 'soubor', +'file "%(filename)s" created': 'file "%(filename)s" created', +'file saved on %(time)s': 'soubor uložen %(time)s', +'file saved on %s': 'soubor uložen %s', +'Filename': 'Název souboru', +'filter': 'filtr', +'Find Next': 'Najít další', +'Find Previous': 'Najít předchozí', +'First name': 'Křestní jméno', +'Forgot username?': 'Zapomněl jste svoje přihlašovací jméno?', +'forgot username?': 'zapomněl jste svoje přihlašovací jméno?', +'Forms and Validators': 'Formuláře a validátory', +'Frames': 'Frames', +'Free Applications': 'Aplikace zdarma', +'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', +'Generate': 'Vytvořit', +'Get from URL:': 'Stáhnout z internetu:', +'Git Pull': 'Git Pull', +'Git Push': 'Git Push', +'Globals##debug': 'Globální proměnné', +'go!': 'OK!', +'Goto': 'Goto', +'graph model': 'graph model', +'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena', +'Group ID': 'ID skupiny', +'Groups': 'Skupiny', +'Hello World': 'Ahoj světe', +'Help': 'Nápověda', +'Hide/Show Translated strings': 'Skrýt/Zobrazit přeložené texty', +'Hits': 'Kolikrát dosaženo', +'Home': 'Domovská stránka', +'honored only if the expression evaluates to true': 'brát v potaz jen když se tato podmínka vyhodnotí kladně', +'How did you get here?': 'Jak jste se sem vlastně dostal?', +'If start the upgrade, be patient, it may take a while to download': 'If start the upgrade, be patient, it may take a while to download', +'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.', +'import': 'import', +'Import/Export': 'Import/Export', +'includes': 'zahrnuje', +'Index': 'Index', +'insert new': 'vložit nový záznam ', +'insert new %s': 'vložit nový záznam %s', +'inspect attributes': 'inspect attributes', +'Install': 'Instalovat', +'Installed applications': 'Nainstalované aplikace', +'Interaction at %s line %s': 'Interakce v %s, na řádce %s', +'Interactive console': 'Interaktivní příkazová řádka', +'Internal State': 'Vnitřní stav', +'Introduction': 'Úvod', +'Invalid email': 'Neplatný email', +'Invalid password': 'Nesprávné heslo', +'invalid password.': 'neplatné heslo', +'Invalid Query': 'Neplatný dotaz', +'invalid request': 'Neplatný požadavek', +'Is Active': 'Je aktivní', +'It is %s %%{day} today.': 'Dnes je to %s %%{den}.', +'Key': 'Klíč', +'Key bindings': 'Vazby klíčů', +'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin', +'languages': 'jazyky', +'Languages': 'Jazyky', +'Last name': 'Příjmení', +'Last saved on:': 'Naposledy uloženo:', +'Layout': 'Rozvržení stránky (layout)', +'Layout Plugins': 'Moduly rozvržení stránky (Layout Plugins)', +'Layouts': 'Rozvržení stránek', +'License for': 'Licence pro', +'Line number': 'Číslo řádku', +'LineNo': 'Č.řádku', +'Live Chat': 'Online pokec', +'loading...': 'nahrávám...', +'locals': 'locals', +'Locals##debug': 'Lokální proměnné', +'Logged in': 'Přihlášení proběhlo úspěšně', +'Logged out': 'Odhlášení proběhlo úspěšně', +'Login': 'Přihlásit se', +'login': 'přihlásit se', +'Login to the Administrative Interface': 'Přihlásit se do Správce aplikací', +'logout': 'odhlásit se', +'Logout': 'Odhlásit se', +'Lost Password': 'Zapomněl jste heslo', +'Lost password?': 'Zapomněl jste heslo?', +'lost password?': 'zapomněl jste heslo?', +'Manage': 'Manage', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Model rozbalovací nabídky', +'Models': 'Modely', +'models': 'modely', +'Modified By': 'Změněno - kým', +'Modified On': 'Změněno - kdy', +'Modules': 'Moduly', +'modules': 'moduly', +'My Sites': 'Správa aplikací', +'Name': 'Jméno', +'new application "%s" created': 'nová aplikace "%s" vytvořena', +'New Application Wizard': 'Nový průvodce aplikací', +'New application wizard': 'Nový průvodce aplikací', +'New password': 'Nové heslo', +'New Record': 'Nový záznam', +'new record inserted': 'nový záznam byl založen', +'New simple application': 'Vytvořit primitivní aplikaci', +'next': 'next', +'next 100 rows': 'dalších 100 řádků', +'No databases in this application': 'V této aplikaci nejsou žádné databáze', +'No Interaction yet': 'Ještě žádná interakce nenastala', +'No ticket_storage.txt found under /private folder': 'Soubor ticket_storage.txt v adresáři /private nenalezen', +'Object or table name': 'Objekt či tabulka', +'Old password': 'Původní heslo', +'online designer': 'online návrhář', +'Online examples': 'Příklady online', +'Open new app in new window': 'Open new app in new window', +'or alternatively': 'or alternatively', +'Or Get from URL:': 'Or Get from URL:', +'or import from csv file': 'nebo importovat z .csv souboru', +'Origin': 'Původ', +'Original/Translation': 'Originál/Překlad', +'Other Plugins': 'Ostatní moduly', +'Other Recipes': 'Ostatní zásuvné moduly', +'Overview': 'Přehled', +'Overwrite installed app': 'Přepsat instalovanou aplikaci', +'Pack all': 'Zabalit', +'Pack compiled': 'Zabalit zkompilované', +'pack plugin': 'pack plugin', +'password': 'heslo', +'Password': 'Heslo', +"Password fields don't match": 'Hesla se neshodují', +'Peeking at file': 'Peeking at file', +'Please': 'Prosím', +'Plugin "%s" in application': 'Plugin "%s" in application', +'plugins': 'zásuvné moduly', +'Plugins': 'Zásuvné moduly', +'Plural Form #%s': 'Plural Form #%s', +'Plural-Forms:': 'Množná čísla:', +'Powered by': 'Poháněno', +'Preface': 'Předmluva', +'previous 100 rows': 'předchozích 100 řádků', +'Private files': 'Soukromé soubory', +'private files': 'soukromé soubory', +'profile': 'profil', +'Project Progress': 'Vývoj projektu', +'Python': 'Python', +'Query:': 'Dotaz:', +'Quick Examples': 'Krátké příklady', +'RAM': 'RAM', +'RAM Cache Keys': 'Klíče RAM Cache', +'Ram Cleared': 'RAM smazána', +'Readme': 'Nápověda', +'Recipes': 'Postupy jak na to', +'Record': 'Záznam', +'record does not exist': 'záznam neexistuje', +'Record ID': 'ID záznamu', +'Record id': 'id záznamu', +'refresh': 'obnovte', +'register': 'registrovat', +'Register': 'Zaregistrovat se', +'Registration identifier': 'Registrační identifikátor', +'Registration key': 'Registrační klíč', +'reload': 'reload', +'Reload routes': 'Znovu nahrát cesty', +'Remember me (for 30 days)': 'Zapamatovat na 30 dní', +'Remove compiled': 'Odstranit zkompilované', +'Removed Breakpoint on %s at line %s': 'Bod přerušení smazán - soubor %s na řádce %s', +'Replace': 'Zaměnit', +'Replace All': 'Zaměnit vše', +'request': 'request', +'Reset Password key': 'Reset registračního klíče', +'response': 'response', +'restart': 'restart', +'restore': 'obnovit', +'Retrieve username': 'Získat přihlašovací jméno', +'return': 'return', +'revert': 'vrátit se k původnímu', +'Role': 'Role', +'Rows in Table': 'Záznamy v tabulce', +'Rows selected': 'Záznamů zobrazeno', +'rules are not defined': 'pravidla nejsou definována', +"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Spustí testy v tomto souboru (ke spuštění všech testů, použijte tlačítko 'test')", +'Running on %s': 'Běží na %s', +'Save': 'Uložit', +'Save file:': 'Save file:', +'Save via Ajax': 'Uložit pomocí Ajaxu', +'Saved file hash:': 'hash uloženého souboru:', +'Semantic': 'Modul semantic', +'Services': 'Služby', +'session': 'session', +'session expired': 'session expired', +'Set Breakpoint on %s at line %s: %s': 'Bod přerušení nastaven v souboru %s na řádce %s: %s', +'shell': 'příkazová řádka', +'Singular Form': 'Singular Form', +'Site': 'Správa aplikací', +'Size of cache:': 'Velikost cache:', +'skip to generate': 'skip to generate', +'Sorry, could not find mercurial installed': 'Bohužel mercurial není nainstalován.', +'Start a new app': 'Vytvořit novou aplikaci', +'Start searching': 'Začít hledání', +'Start wizard': 'Spustit průvodce', +'state': 'stav', +'Static': 'Static', +'static': 'statické soubory', +'Static files': 'Statické soubory', +'Statistics': 'Statistika', +'Step': 'Step', +'step': 'step', +'stop': 'stop', +'Stylesheet': 'CSS styly', +'submit': 'odeslat', +'Submit': 'Odeslat', +'successful': 'úspěšně', +'Support': 'Podpora', +'Sure you want to delete this object?': 'Opravdu chcete smazat tento objekt?', +'Table': 'tabulka', +'Table name': 'Název tabulky', +'Temporary': 'Dočasný', +'test': 'test', +'Testing application': 'Testing application', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Dotaz" je podmínka, například "db.tabulka1.pole1==\'hodnota\'". Podmínka "db.tabulka1.pole1==db.tabulka2.pole2" pak vytvoří SQL JOIN.', +'The application logic, each URL path is mapped in one exposed function in the controller': 'Logika aplikace: každá URL je mapována na funkci vystavovanou kontrolérem.', +'The Core': 'Jádro (The Core)', +'The data representation, define database tables and sets': 'Reprezentace dat: definovat tabulky databáze a záznamy', +'The output of the file is a dictionary that was rendered by the view %s': 'Výstup ze souboru je slovník, který se zobrazil v pohledu %s.', +'The presentations layer, views are also known as templates': 'Prezentační vrstva: pohledy či templaty (šablony)', +'The Views': 'Pohledy (The Views)', +'There are no controllers': 'There are no controllers', +'There are no modules': 'There are no modules', +'There are no plugins': 'Žádné moduly nejsou instalovány.', +'There are no private files': 'Žádné soukromé soubory neexistují.', +'There are no static files': 'There are no static files', +'There are no translators, only default language is supported': 'There are no translators, only default language is supported', +'There are no views': 'There are no views', +'These files are not served, they are only available from within your app': 'Tyto soubory jsou klientům nepřístupné. K dispozici jsou pouze v rámci aplikace.', +'These files are served without processing, your images go here': 'Tyto soubory jsou servírovány bez přídavné logiky, sem patří např. obrázky.', +'This App': 'Tato aplikace', +'This is a copy of the scaffolding application': 'Toto je kopie aplikace skelet.', +'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', +'This is the %(filename)s template': 'This is the %(filename)s template', +'this page to see if a breakpoint was hit and debug interaction is required.': 'tuto stránku, abyste uviděli, zda se dosáhlo bodu přerušení.', +'Ticket': 'Ticket', +'Ticket ID': 'Ticket ID', +'Time in Cache (h:m:s)': 'Čas v Cache (h:m:s)', +'Timestamp': 'Časové razítko', +'to previous version.': 'k předchozí verzi.', +'To create a plugin, name a file/folder plugin_[name]': 'Zásuvný modul vytvoříte tak, že pojmenujete soubor/adresář plugin_[jméno modulu]', +'To emulate a breakpoint programatically, write:': 'K nastavení bodu přerušení v kódu programu, napište:', +'to use the debugger!': ', abyste mohli ladící program používat!', +'toggle breakpoint': 'vyp./zap. bod přerušení', +'Toggle Fullscreen': 'Na celou obrazovku a zpět', +'too short': 'Příliš krátké', +'Traceback': 'Traceback', +'Translation strings for the application': 'Překlad textů pro aplikaci', +'try something like': 'try something like', +'Try the mobile interface': 'Zkuste rozhraní pro mobilní zařízení', +'try view': 'try view', +'Twitter': 'Twitter', +'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement in here and hit Return (Enter) to execute it.', +'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', +'Unable to check for upgrades': 'Unable to check for upgrades', +'unable to parse csv file': 'csv soubor nedá sa zpracovat', +'uncheck all': 'vše odznačit', +'Uninstall': 'Odinstalovat', +'update': 'aktualizovat', +'update all languages': 'aktualizovat všechny jazyky', +'Update:': 'Upravit:', +'Upgrade': 'Upgrade', +'upgrade now': 'upgrade now', +'upgrade now to %s': 'upgrade now to %s', +'upload': 'nahrát', +'Upload': 'Upload', +'Upload a package:': 'Nahrát balík:', +'Upload and install packed application': 'Nahrát a instalovat zabalenou aplikaci', +'upload file:': 'nahrát soubor:', +'upload plugin file:': 'nahrát soubor modulu:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použijte (...)&(...) pro AND, (...)|(...) pro OR a ~(...) pro NOT pro sestavení složitějších dotazů.', +'User %(id)s Logged-in': 'Uživatel %(id)s přihlášen', +'User %(id)s Logged-out': 'Uživatel %(id)s odhlášen', +'User %(id)s Password changed': 'Uživatel %(id)s změnil heslo', +'User %(id)s Profile updated': 'Uživatel %(id)s upravil profil', +'User %(id)s Registered': 'Uživatel %(id)s se zaregistroval', +'User %(id)s Username retrieved': 'Uživatel %(id)s si nachal zaslat přihlašovací jméno', +'User ID': 'ID uživatele', +'Username': 'Přihlašovací jméno', +'variables': 'variables', +'Verify Password': 'Zopakujte heslo', +'Version': 'Verze', +'Version %s.%s.%s (%s) %s': 'Verze %s.%s.%s (%s) %s', +'Versioning': 'Verzování', +'Videos': 'Videa', +'View': 'Pohled (View)', +'Views': 'Pohledy', +'views': 'pohledy', +'Web Framework': 'Web Framework', +'web2py is up to date': 'Máte aktuální verzi web2py.', +'web2py online debugger': 'Ladící online web2py program', +'web2py Recent Tweets': 'Štěbetání na Twitteru o web2py', +'web2py upgrade': 'web2py upgrade', +'web2py upgraded; please restart it': 'web2py upgraded; please restart it', +'Welcome': 'Vítejte', +'Welcome to web2py': 'Vitejte ve web2py', +'Welcome to web2py!': 'Vítejte ve web2py!', +'Which called the function %s located in the file %s': 'která zavolala funkci %s v souboru (kontroléru) %s.', +'You are successfully running web2py': 'Úspěšně jste spustili web2py.', +'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Nastavovat a mazat body přerušení je též možno v rámci editování zdrojového souboru přes tlačítko Vyp./Zap. bod přerušení', +'You can modify this application and adapt it to your needs': 'Tuto aplikaci si můžete upravit a přizpůsobit ji svým potřebám.', +'You need to set up and reach a': 'Je třeba nejprve nastavit a dojít až na', +'You visited the url %s': 'Navštívili jste stránku %s,', +'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Aplikace bude blokována než se klikne na jedno z tlačítek (další, krok, pokračovat, atd.)', +'You can inspect variables using the console bellow': 'Níže pomocí příkazové řádky si můžete prohlédnout proměnné', +} diff --git a/applications/welcome3/languages/de.py b/applications/welcome3/languages/de.py new file mode 100644 index 00000000..91264a42 --- /dev/null +++ b/applications/welcome3/languages/de.py @@ -0,0 +1,199 @@ +# coding: utf8 +{ +'!langcode!': 'de', +'!langname!': 'Deutsch (DE)', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '""Update" ist ein optionaler Ausdruck wie "Feld1 = \'newvalue". JOIN Ergebnisse können nicht aktualisiert oder gelöscht werden', +'%s %%(shop)': '%s %%(shop)', +'%s %%(shop[0])': '%s %%(shop[0])', +'%s %%{quark[0]}': '%s %%{quark[0]}', +'%s %%{row} deleted': '%s %%{row} deleted', +'%s %%{row} updated': '%s %%{row} updated', +'%s %%{shop[0]}': '%s %%{shop[0]}', +'%s %%{shop}': '%s %%{shop}', +'%s selected': '%s selected', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'?': '?', +'@markmin\x01**Hello World**': '**Hallo Welt**', +'@markmin\x01An error occured, please [[reload %s]] the page': 'Ein Fehler ist aufgetreten, bitte [[laden %s]] Sie die Seite neu', +'About': 'Über', +'Access Control': 'Zugangskontrolle', +'Administrative Interface': 'Administrationsoberfläche', +'Ajax Recipes': 'Ajax Rezepte', +'appadmin is disabled because insecure channel': 'Appadmin ist deaktiviert, wegen der Benutzung eines unsicheren Kanals', +'Are you sure you want to delete this object?': 'Sind Sie sich sicher, dass Sie dieses Objekt löschen wollen?', +'Available Databases and Tables': 'Verfügbare Datenbanken und Tabellen', +'Buy this book': 'Dieses Buch kaufen', +'cache': 'cache', +'Cache': 'Cache', +'Cache Cleared': 'Cache geleert', +'Cache Keys': 'Cache Schlüssel', +'Cannot be empty': 'Darf nicht leer sein', +'Check to delete': 'Auswählen um zu löschen', +'Clear CACHE?': 'CACHE löschen?', +'Clear DISK': 'DISK löschen', +'Clear RAM': 'RAM löschen', +'Client IP': 'Client IP', +'Community': 'Community', +'Components and Plugins': 'Komponenten und Plugins', +'Controller': 'Controller', +'Copyright': 'Copyright', +'Created By': 'Erstellt von', +'Created On': 'Erstellt am', +'Current request': 'Derzeitiger Request', +'Current response': 'Derzeitige Response', +'Current session': 'Derzeitige Session', +'customize me!': 'Pass mich an!', +'data uploaded': 'Datei hochgeladen', +'Database': 'Datenbank', +'Database %s select': 'Datenbank %s ausgewählt', +'Database Administration (appadmin)': 'Datenbankadministration (appadmin)', +'db': 'db', +'DB Model': 'Muster-DB', +'Delete:': 'Lösche:', +'Demo': 'Demo', +'Deployment Recipes': 'Entwicklungsrezepte', +'Description': 'Beschreibung', +'design': 'Design', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk gelöscht', +'Documentation': 'Dokumentation', +"Don't know what to do?": 'Wissen Sie nicht weiter?', +'done!': 'Fertig!', +'Download': 'Download', +'E-mail': 'E-mail', +'Edit current record': 'Diesen Eintrag editieren', +'Email and SMS': 'Email und SMS', +'Enter an integer between %(min)g and %(max)g': 'Eine Zahl zwischen %(min)g und %(max)g eingeben', +'enter an integer between %(min)g and %(max)g': 'eine Zahl zwischen %(min)g und %(max)g eingeben', +'enter date and time as %(format)s': 'ein Datum und eine Uhrzeit als %(format)s eingeben', +'Errors': 'Fehlermeldungen', +'export as csv file': 'als csv Datei exportieren', +'FAQ': 'FAQ', +'First name': 'Vorname', +'Forms and Validators': 'Forms und Validators', +'Free Applications': 'Kostenlose Anwendungen', +'Graph Model': 'Muster-Graph', +'Group %(group_id)s created': 'Gruppe %(group_id)s erstellt', +'Group ID': 'Gruppen ID', +'Group uniquely assigned to user %(id)s': 'Gruppe eindeutigem Benutzer %(id)s zugewiesen', +'Groups': 'Gruppen', +'Hello World': 'Hallo Welt', +'Hello World ## Kommentar': 'Hallo Welt ', +'Hello World## Kommentar': 'Hallo Welt', +'Home': 'Startseite', +'How did you get here?': 'Wie sind Sie hier her gelangt?', +'import': 'Importieren', +'Import/Export': 'Importieren/Exportieren', +'Internal State': 'Innerer Zustand', +'Introduction': 'Einführung', +'Invalid email': 'Ungültige Email', +'Invalid Query': 'Ungültige Query', +'invalid request': 'Ungültiger Request', +'Is Active': 'Ist aktiv', +'Key': 'Schlüssel', +'Last name': 'Nachname', +'Layout': 'Layout', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'Logged in': 'Eingeloggt', +'Logged out': 'Ausgeloggt', +'Login': 'Einloggen', +'Logout': 'Ausloggen', +'Lost Password': 'Passwort vergessen', +'Lost password?': 'Passwort vergessen?', +'Manage %(action)s': '%(action)s verwalten', +'Manage Access Control': 'Zugangskontrolle verwalten', +'Manage Cache': 'Cache verwalten', +'Memberships': 'Mitgliedschaften', +'Menu Model': 'Menü-Muster', +'Modified By': 'Verändert von', +'Modified On': 'Verändert am', +'My Sites': 'Meine Seiten', +'Name': 'Name', +'New Record': 'Neuer Eintrag', +'new record inserted': 'neuer Eintrag hinzugefügt', +'next %s rows': 'nächste %s Reihen', +'No databases in this application': 'Keine Datenbank in dieser Anwendung', +'Object or table name': 'Objekt- oder Tabellenname', +'Online examples': 'Online Beispiele', +'or import from csv file': 'oder von csv Datei importieren', +'Origin': 'Ursprung', +'Other Plugins': 'Andere Plugins', +'Other Recipes': 'Andere Rezepte', +'Overview': 'Überblick', +'Password': 'Passwort', +"Password fields don't match": 'Passwortfelder sind nicht gleich', +'Permission': 'Permission', +'Permissions': 'Permissions', +'please input your password again': 'Bitte geben Sie ihr Passwort erneut ein', +'Plugins': 'Plugins', +'Powered by': 'Unterstützt von', +'Preface': 'Allgemeines', +'previous %s rows': 'vorherige %s Reihen', +'Profile': 'Profil', +'pygraphviz library not found': 'pygraphviz Bibliothek wurde nicht gefunden', +'Python': 'Python', +'Query:': 'Query:', +'Quick Examples': 'Kurze Beispiele', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Rezepte', +'Record': 'Eintrag', +'record does not exist': 'Eintrag existiert nicht', +'Record ID': 'ID des Eintrags', +'Record id': 'id des Eintrags', +'Register': 'Register', +'Registration identifier': 'Registrierungsbezeichnung', +'Registration key': 'Registierungsschlüssel', +'Registration successful': 'Registrierung erfolgreich', +'Remember me (for 30 days)': 'Eingeloggt bleiben (30 Tage lang)', +'Reset Password key': 'Passwortschlüssel zurücksetzen', +'Role': 'Rolle', +'Roles': 'Rollen', +'Rows in Table': 'Tabellenreihen', +'Rows selected': 'Reihen ausgewählt', +'Save model as...': 'Speichere Vorlage als...', +'Semantic': 'Semantik', +'Services': 'Dienste', +'Size of cache:': 'Cachegröße:', +'state': 'Status', +'Statistics': 'Statistik', +'Stylesheet': 'Stylesheet', +'submit': 'Submit', +'Support': 'Support', +'Table': 'Tabelle', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'Die "query" ist eine Bedingung wie "db.tabelle1.feld1==\'wert\'". So etwas wie "db.tabelle1.feld1==db.tabelle2.feld2" resultiert in einem SQL JOIN.', +'The Core': 'Der Core', +'The output of the file is a dictionary that was rendered by the view %s': 'Die Ausgabe der Datei ist ein "dictionary", welches vom "view" %s gerendert wurde', +'The Views': 'Die Views', +'This App': 'Diese App', +'This email already has an account': 'This email already has an account', +'Time in Cache (h:m:s)': 'Zeit im Cache (h:m:s)', +'Timestamp': 'Zeitstempel', +'Traceback': 'Traceback', +'Twitter': 'Twitter', +'unable to parse csv file': 'csv Datei konnte nicht geparst werden', +'Update:': 'Update:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Benutze (...)&(...) für AND, (...)|(...) für OR, und ~(...) für NOT um komplexere Queries zu erstellen.', +'User': 'Benutzer', +'User %(id)s Logged-in': 'Benutzer %(id)s hat sich eingeloggt', +'User %(id)s Logged-out': 'Benutzer %(id)s hat sich ausgeloggt', +'User %(id)s Registered': 'Benutzer %(id)s hat sich registriert', +'User ID': 'Benutzer ID', +'Users': 'Benutzer', +'value already in database or empty': 'Wert ist bereits in der Datenbank oder leer', +'Verify Password': 'Passwort überprüfen', +'Videos': 'Videos', +'View': 'Ansicht', +'Welcome': 'Willkommen', +'Welcome to web2py!': 'Willkommen bei web2py!', +'Which called the function %s located in the file %s': 'Welche die Funktion %s in der Datei %s aufrief', +'Working...': 'Arbeite...', +'You are successfully running web2py': 'web2py wird erfolgreich ausgeführt', +'You can modify this application and adapt it to your needs': 'Sie können diese Anwendung verändern und Ihren Bedürfnissen anpassen', +'You visited the url %s': 'Sie haben die URL %s besucht', +} diff --git a/applications/welcome3/languages/default.py b/applications/welcome3/languages/default.py new file mode 100644 index 00000000..6524a902 --- /dev/null +++ b/applications/welcome3/languages/default.py @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'en-us', +'!langname!': 'English (US)', +'%s %%(shop)': '%s %%(shop)', +'%s %%(shop[0])': '%s %%(shop[0])', +'%s %%{quark[0]}': '%s %%{quark[0]}', +'%s %%{shop[0]}': '%s %%{shop[0]}', +'%s %%{shop}': '%s %%{shop}', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'@markmin\x01**Hello World**': '**Hello World**', +'About': 'About', +'Access Control': 'Access Control', +'Administrative Interface': 'Administrative Interface', +'Ajax Recipes': 'Ajax Recipes', +'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', +'Buy this book': 'Buy this book', +'Cannot be empty': 'Cannot be empty', +'Check to delete': 'Check to delete', +'Client IP': 'Client IP', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': 'Controller', +'Copyright': 'Copyright', +'Created By': 'Created By', +'Created On': 'Created On', +'customize me!': 'customize me!', +'Database': 'Database', +'DB Model': 'DB Model', +'Demo': 'Demo', +'Deployment Recipes': 'Deployment Recipes', +'Description': 'Description', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'Download': 'Download', +'E-mail': 'E-mail', +'Email and SMS': 'Email and SMS', +'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g', +'enter date and time as %(format)s': 'enter date and time as %(format)s', +'Errors': 'Errors', +'FAQ': 'FAQ', +'First name': 'First name', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Group %(group_id)s created': 'Group %(group_id)s created', +'Group ID': 'Group ID', +'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s', +'Groups': 'Groups', +'Hello World': 'Hello World', +'Hello World ## comment': 'Hello World ', +'Hello World## comment': 'Hello World', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'Introduction': 'Introduction', +'Invalid email': 'Invalid email', +'Is Active': 'Is Active', +'Last name': 'Last name', +'Layout': 'Layout', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'Logged in': 'Logged in', +'Logged out': 'Logged out', +'Login': 'Login', +'Logout': 'Logout', +'Lost Password': 'Lost Password', +'Lost password?': 'Lost password?', +'Menu Model': 'Menu Model', +'Modified By': 'Modified By', +'Modified On': 'Modified On', +'My Sites': 'My Sites', +'Name': 'Name', +'Object or table name': 'Object or table name', +'Online examples': 'Online examples', +'Origin': 'Origin', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Password': 'Password', +"Password fields don't match": "Password fields don't match", +'please input your password again': 'please input your password again', +'Plugins': 'Plugins', +'Powered by': 'Powered by', +'Preface': 'Preface', +'Profile': 'Profile', +'Python': 'Python', +'Quick Examples': 'Quick Examples', +'Recipes': 'Recipes', +'Record ID': 'Record ID', +'Register': 'Register', +'Registration identifier': 'Registration identifier', +'Registration key': 'Registration key', +'Registration successful': 'Registration successful', +'Remember me (for 30 days)': 'Remember me (for 30 days)', +'Reset Password key': 'Reset Password key', +'Role': 'Role', +'Semantic': 'Semantic', +'Services': 'Services', +'Stylesheet': 'Stylesheet', +'Support': 'Support', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': 'The Views', +'This App': 'This App', +'Timestamp': 'Timestamp', +'Twitter': 'Twitter', +'User %(id)s Logged-in': 'User %(id)s Logged-in', +'User %(id)s Logged-out': 'User %(id)s Logged-out', +'User %(id)s Registered': 'User %(id)s Registered', +'User ID': 'User ID', +'value already in database or empty': 'value already in database or empty', +'Verify Password': 'Verify Password', +'Videos': 'Videos', +'View': 'View', +'Welcome': 'Welcome', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'You are successfully running web2py': 'You are successfully running web2py', +'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/languages/es.py b/applications/welcome3/languages/es.py new file mode 100644 index 00000000..7579cc37 --- /dev/null +++ b/applications/welcome3/languages/es.py @@ -0,0 +1,433 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'es', +'!langname!': 'Español', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"actualice" es una expresión opcional como "campo1=\'nuevo_valor\'". No se puede actualizar o eliminar resultados de un JOIN', +'%(nrows)s records found': '%(nrows)s registros encontrados', +'%s %%{position}': '%s %%{posición}', +'%s %%{row} deleted': '%s %%{fila} %%{eliminada}', +'%s %%{row} updated': '%s %%{fila} %%{actualizada}', +'%s selected': '%s %%{seleccionado}', +'%Y-%m-%d': '%d/%m/%Y', +'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S', +'(something like "it-it")': '(algo como "eso-eso")', +'@markmin\x01An error occured, please [[reload %s]] the page': 'Ha ocurrido un error, por favor [[recargar %s]] la página', +'@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**', +'A new version of web2py is available': 'Hay una nueva versión de web2py disponible', +'A new version of web2py is available: %s': 'Hay una nueva versión de web2py disponible: %s', +'About': 'Acerca de', +'about': 'acerca de', +'About application': 'Acerca de la aplicación', +'Access Control': 'Control de Acceso', +'Add': 'Añadir', +'additional code for your application': 'código adicional para su aplicación', +'admin disabled because no admin password': 'admin deshabilitado por falta de contraseña', +'admin disabled because not supported on google app engine': 'admin deshabilitado, no es soportado en GAE', +'admin disabled because unable to access password file': 'admin deshabilitado, imposible acceder al archivo con la contraseña', +'Admin is disabled because insecure channel': 'Admin deshabilitado, el canal no es seguro', +'Admin is disabled because unsecure channel': 'Admin deshabilitado, el canal no es seguro', +'Administrative interface': 'Interfaz administrativa', +'Administrative Interface': 'Interfaz Administrativa', +'Administrator Password:': 'Contraseña del Administrador:', +'Ajax Recipes': 'Recetas AJAX', +'An error occured, please %s the page': 'Ha ocurrido un error, por favor %s la página', +'And': 'Y', +'and rename it (required):': 'y renómbrela (requerido):', +'and rename it:': ' y renómbrelo:', +'appadmin': 'appadmin', +'appadmin is disabled because insecure channel': 'admin deshabilitado, el canal no es seguro', +'application "%s" uninstalled': 'aplicación "%s" desinstalada', +'application compiled': 'aplicación compilada', +'application is compiled and cannot be designed': 'la aplicación está compilada y no puede ser modificada', +'Apply changes': 'Aplicar cambios', +'Appointment': 'Nombramiento', +'Are you sure you want to delete file "%s"?': '¿Está seguro que desea eliminar el archivo "%s"?', +'Are you sure you want to delete this object?': '¿Está seguro que desea borrar este objeto?', +'Are you sure you want to uninstall application "%s"': '¿Está seguro que desea desinstalar la aplicación "%s"', +'Are you sure you want to uninstall application "%s"?': '¿Está seguro que desea desinstalar la aplicación "%s"?', +'at': 'en', +'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENCION: Inicio de sesión requiere una conexión segura (HTTPS) o localhost.', +'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCION: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.', +'ATTENTION: you cannot edit the running application!': 'ATENCION: no puede modificar la aplicación que está ejecutandose!', +'Authentication': 'Autenticación', +'Authentication failed at client DB!': '¡La autenticación ha fallado en la BDD cliente!', +'Authentication failed at main DB!': '¡La autenticación ha fallado en la BDD principal!', +'Available Databases and Tables': 'Bases de datos y tablas disponibles', +'Back': 'Atrás', +'Buy this book': 'Compra este libro', +'Cache': 'Caché', +'cache': 'caché', +'Cache Keys': 'Llaves de la Caché', +'cache, errors and sessions cleaned': 'caché, errores y sesiones eliminados', +'Cannot be empty': 'No puede estar vacío', +'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'No se puede compilar: hay errores en su aplicación. Depure, corrija errores y vuelva a intentarlo.', +'cannot create file': 'no es posible crear archivo', +'cannot upload file "%(filename)s"': 'no es posible subir archivo "%(filename)s"', +'Change Password': 'Cambie la Contraseña', +'Change password': 'Cambie la contraseña', +'change password': 'cambie la contraseña', +'check all': 'marcar todos', +'Check to delete': 'Marque para eliminar', +'choose one': 'escoja uno', +'clean': 'limpiar', +'Clear': 'Limpiar', +'Clear CACHE?': '¿Limpiar CACHÉ?', +'Clear DISK': 'Limpiar DISCO', +'Clear RAM': 'Limpiar RAM', +'Click on the link %(link)s to reset your password': 'Pulse en el enlace %(link)s para reiniciar su contraseña', +'click to check for upgrades': 'haga clic para buscar actualizaciones', +'client': 'cliente', +'Client IP': 'IP del Cliente', +'Close': 'Cerrar', +'Community': 'Comunidad', +'compile': 'compilar', +'compiled application removed': 'aplicación compilada eliminada', +'Components and Plugins': 'Componentes y Plugins', +'contains': 'contiene', +'Controller': 'Controlador', +'Controllers': 'Controladores', +'controllers': 'controladores', +'Copyright': 'Copyright', +'create file with filename:': 'cree archivo con nombre:', +'Create new application': 'Cree una nueva aplicación', +'create new application:': 'nombre de la nueva aplicación:', +'Created By': 'Creado Por', +'Created On': 'Creado En', +'CSV (hidden cols)': 'CSV (columnas ocultas)', +'Current request': 'Solicitud en curso', +'Current response': 'Respuesta en curso', +'Current session': 'Sesión en curso', +'currently saved or': 'actualmente guardado o', +'customize me!': '¡Adáptame!', +'data uploaded': 'datos subidos', +'Database': 'Base de datos', +'Database %s select': 'selección en base de datos %s', +'database administration': 'administración de base de datos', +'Database Administration (appadmin)': 'Administración de Base de Datos (appadmin)', +'Date and Time': 'Fecha y Hora', +'DB': 'BDD', +'db': 'bdd', +'DB Model': 'Modelo BDD', +'defines tables': 'define tablas', +'Delete': 'Eliminar', +'delete': 'eliminar', +'delete all checked': 'eliminar marcados', +'Delete:': 'Eliminar:', +'Demo': 'Demostración', +'Deploy on Google App Engine': 'Despliegue en Google App Engine', +'Deployment Recipes': 'Recetas de despliegue', +'Description': 'Descripción', +'design': 'diseño', +'DESIGN': 'DISEÑO', +'Design for': 'Diseño por', +'detecting': 'detectando', +'DISK': 'DISCO', +'Disk Cache Keys': 'Llaves de Caché en Disco', +'Disk Cleared': 'Disco limpiado', +'Documentation': 'Documentación', +"Don't know what to do?": '¿No sabe que hacer?', +'done!': '¡hecho!', +'Download': 'Descargas', +'E-mail': 'Correo electrónico', +'edit': 'editar', +'EDIT': 'EDITAR', +'Edit': 'Editar', +'Edit application': 'Editar aplicación', +'edit controller': 'editar controlador', +'Edit current record': 'Edite el registro actual', +'Edit Profile': 'Editar Perfil', +'edit profile': 'editar perfil', +'Edit This App': 'Edite esta App', +'Editing file': 'Editando archivo', +'Editing file "%s"': 'Editando archivo "%s"', +'Email and SMS': 'Correo electrónico y SMS', +'Email sent': 'Correo electrónico enviado', +'End of impersonation': 'Fin de suplantación', +'enter a number between %(min)g and %(max)g': 'introduzca un número entre %(min)g y %(max)g', +'enter a value': 'introduzca un valor', +'enter an integer between %(min)g and %(max)g': 'introduzca un entero entre %(min)g y %(max)g', +'enter date and time as %(format)s': 'introduzca fecha y hora como %(format)s', +'Error logs for "%(app)s"': 'Bitácora de errores en "%(app)s"', +'errors': 'errores', +'Errors': 'Errores', +'Errors in form, please check it out.': 'Hay errores en el formulario, por favor comprúebelo.', +'export as csv file': 'exportar como archivo CSV', +'Export:': 'Exportar:', +'exposes': 'expone', +'extends': 'extiende', +'failed to reload module': 'la recarga del módulo ha fallado', +'FAQ': 'FAQ', +'file "%(filename)s" created': 'archivo "%(filename)s" creado', +'file "%(filename)s" deleted': 'archivo "%(filename)s" eliminado', +'file "%(filename)s" uploaded': 'archivo "%(filename)s" subido', +'file "%(filename)s" was not deleted': 'archivo "%(filename)s" no fué eliminado', +'file "%s" of %s restored': 'archivo "%s" de %s restaurado', +'file changed on disk': 'archivo modificado en el disco', +'file does not exist': 'archivo no existe', +'file saved on %(time)s': 'archivo guardado %(time)s', +'file saved on %s': 'archivo guardado %s', +'First name': 'Nombre', +'Forgot username?': '¿Olvidó el nombre de usuario?', +'Forms and Validators': 'Formularios y validadores', +'Free Applications': 'Aplicaciones Libres', +'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].', +'Group %(group_id)s created': 'Grupo %(group_id)s creado', +'Group ID': 'ID de Grupo', +'Group uniquely assigned to user %(id)s': 'Grupo asignado únicamente al usuario %(id)s', +'Groups': 'Grupos', +'Hello World': 'Hola Mundo', +'help': 'ayuda', +'Home': 'Inicio', +'How did you get here?': '¿Cómo llegaste aquí?', +'htmledit': 'htmledit', +'Impersonate': 'Suplantar', +'import': 'importar', +'Import/Export': 'Importar/Exportar', +'in': 'en', +'includes': 'incluye', +'Index': 'Índice', +'insert new': 'inserte nuevo', +'insert new %s': 'inserte nuevo %s', +'Installed applications': 'Aplicaciones instaladas', +'Insufficient privileges': 'Privilegios insuficientes', +'internal error': 'error interno', +'Internal State': 'Estado Interno', +'Introduction': 'Introducción', +'Invalid action': 'Acción inválida', +'Invalid email': 'Correo electrónico inválido', +'invalid expression': 'expresión inválida', +'Invalid login': 'Inicio de sesión inválido', +'invalid password': 'contraseña inválida', +'Invalid Query': 'Consulta inválida', +'invalid request': 'solicitud inválida', +'Invalid reset password': 'Reinicio de contraseña inválido', +'invalid ticket': 'tiquete inválido', +'Is Active': 'Está Activo', +'Key': 'Llave', +'language file "%(filename)s" created/updated': 'archivo de lenguaje "%(filename)s" creado/actualizado', +'Language files (static strings) updated': 'Archivos de lenguaje (cadenas estáticas) actualizados', +'languages': 'lenguajes', +'Languages': 'Lenguajes', +'languages updated': 'lenguajes actualizados', +'Last name': 'Apellido', +'Last saved on:': 'Guardado en:', +'Layout': 'Diseño de página', +'Layout Plugins': 'Plugins de diseño', +'Layouts': 'Diseños de páginas', +'License for': 'Licencia para', +'Live Chat': 'Chat en vivo', +'loading...': 'cargando...', +'Logged in': 'Sesión iniciada', +'Logged out': 'Sesión finalizada', +'Login': 'Inicio de sesión', +'login': 'inicio de sesión', +'Login disabled by administrator': 'Inicio de sesión deshabilitado por el administrador', +'Login to the Administrative Interface': 'Inicio de sesión para la Interfaz Administrativa', +'logout': 'fin de sesión', +'Logout': 'Fin de sesión', +'Lost Password': 'Contraseña perdida', +'Lost password?': '¿Olvidó la contraseña?', +'lost password?': '¿olvidó la contraseña?', +'Main Menu': 'Menú principal', +'Manage Cache': 'Gestionar la Caché', +'Menu Model': 'Modelo "menu"', +'merge': 'combinar', +'Models': 'Modelos', +'models': 'modelos', +'Modified By': 'Modificado Por', +'Modified On': 'Modificado En', +'Modules': 'Módulos', +'modules': 'módulos', +'must be YYYY-MM-DD HH:MM:SS!': '¡debe ser DD/MM/YYYY HH:MM:SS!', +'must be YYYY-MM-DD!': '¡debe ser DD/MM/YYYY!', +'My Sites': 'Mis Sitios', +'Name': 'Nombre', +'New': 'Nuevo', +'New %(entity)s': 'Nuevo %(entity)s', +'new application "%s" created': 'nueva aplicación "%s" creada', +'New password': 'Contraseña nueva', +'New Record': 'Registro nuevo', +'new record inserted': 'nuevo registro insertado', +'next 100 rows': '100 filas siguientes', +'NO': 'NO', +'No databases in this application': 'No hay bases de datos en esta aplicación', +'No records found': 'No se han encontrado registros', +'Not authorized': 'No autorizado', +'not in': 'no en', +'Object or table name': 'Nombre del objeto o tabla', +'Old password': 'Contraseña vieja', +'Online examples': 'Ejemplos en línea', +'Or': 'O', +'or import from csv file': 'o importar desde archivo CSV', +'or provide application url:': 'o provea URL de la aplicación:', +'Origin': 'Origen', +'Original/Translation': 'Original/Traducción', +'Other Plugins': 'Otros Plugins', +'Other Recipes': 'Otras Recetas', +'Overview': 'Resumen', +'pack all': 'empaquetar todo', +'pack compiled': 'empaquetar compilados', +'Password': 'Contraseña', +'Password changed': 'Contraseña cambiada', +"Password fields don't match": 'Los campos de contraseña no coinciden', +'Password reset': 'Reinicio de contraseña', +'Peeking at file': 'Visualizando archivo', +'Phone': 'Teléfono', +'please input your password again': 'por favor introduzca su contraseña otra vez', +'Plugins': 'Plugins', +'Powered by': 'Este sitio usa', +'Preface': 'Prefacio', +'previous 100 rows': '100 filas anteriores', +'Profile': 'Perfil', +'Profile updated': 'Perfil actualizado', +'Python': 'Python', +'Query Not Supported: %s': 'Consulta No Soportada: %s', +'Query:': 'Consulta:', +'Quick Examples': 'Ejemplos Rápidos', +'RAM': 'RAM', +'RAM Cache Keys': 'Llaves de la Caché en RAM', +'Ram Cleared': 'Ram Limpiada', +'Recipes': 'Recetas', +'Record': 'Registro', +'Record %(id)s created': 'Registro %(id)s creado', +'Record Created': 'Registro Creado', +'record does not exist': 'el registro no existe', +'Record ID': 'ID de Registro', +'Record id': 'Id de registro', +'register': 'regístrese', +'Register': 'Regístrese', +'Registration identifier': 'Identificador de Registro', +'Registration key': 'Llave de registro', +'Registration successful': 'Registro con éxito', +'reload': 'recargar', +'Remember me (for 30 days)': 'Recuérdame (durante 30 días)', +'remove compiled': 'eliminar compiladas', +'Request reset password': 'Solicitar reinicio de contraseña', +'Reset password': 'Reiniciar contraseña', +'Reset Password key': 'Restaurar Llave de la Contraseña', +'Resolve Conflict file': 'archivo Resolución de Conflicto', +'restore': 'restaurar', +'Retrieve username': 'Recuperar nombre de usuario', +'revert': 'revertir', +'Role': 'Rol', +'Rows in Table': 'Filas en la tabla', +'Rows selected': 'Filas seleccionadas', +'save': 'guardar', +'Saved file hash:': 'Hash del archivo guardado:', +'Search': 'Buscar', +'Semantic': 'Semántica', +'Services': 'Servicios', +'session expired': 'sesión expirada', +'shell': 'terminal', +'site': 'sitio', +'Size of cache:': 'Tamaño de la Caché:', +'some files could not be removed': 'algunos archivos no pudieron ser removidos', +'start': 'inicio', +'starts with': 'comienza por', +'state': 'estado', +'static': 'estáticos', +'Static files': 'Archivos estáticos', +'Statistics': 'Estadísticas', +'Stylesheet': 'Hoja de estilo', +'Submit': 'Enviar', +'submit': 'enviar', +'Success!': '¡Correcto!', +'Support': 'Soporte', +'Sure you want to delete this object?': '¿Está seguro que desea eliminar este objeto?', +'Table': 'tabla', +'Table name': 'Nombre de la tabla', +'test': 'probar', +'Testing application': 'Probando aplicación', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "consulta" es una condición como "db.tabla1.campo1==\'valor\'". Algo como "db.tabla1.campo1==db.tabla2.campo2" resulta en un JOIN SQL.', +'the application logic, each URL path is mapped in one exposed function in the controller': 'la lógica de la aplicación, cada ruta URL se mapea en una función expuesta en el controlador', +'The Core': 'El Núcleo', +'the data representation, define database tables and sets': 'la representación de datos, define tablas y conjuntos de base de datos', +'The output of the file is a dictionary that was rendered by the view %s': 'La salida de dicha función es un diccionario que es desplegado por la vista %s', +'the presentations layer, views are also known as templates': 'la capa de presentación, las vistas también son llamadas plantillas', +'The Views': 'Las Vistas', +'There are no controllers': 'No hay controladores', +'There are no models': 'No hay modelos', +'There are no modules': 'No hay módulos', +'There are no static files': 'No hay archivos estáticos', +'There are no translators, only default language is supported': 'No hay traductores, sólo el lenguaje por defecto es soportado', +'There are no views': 'No hay vistas', +'these files are served without processing, your images go here': 'estos archivos son servidos sin procesar, sus imágenes van aquí', +'This App': 'Esta Aplicación', +'This email already has an account': 'Este correo electrónico ya tiene una cuenta', +'This is a copy of the scaffolding application': 'Esta es una copia de la aplicación de andamiaje', +'This is the %(filename)s template': 'Esta es la plantilla %(filename)s', +'Ticket': 'Tiquete', +'Time in Cache (h:m:s)': 'Tiempo en Caché (h:m:s)', +'Timestamp': 'Marca de tiempo', +'to previous version.': 'a la versión previa.', +'To emulate a breakpoint programatically, write:': 'Emular un punto de ruptura programáticamente, escribir:', +'to use the debugger!': '¡usar el depurador!', +'toggle breakpoint': 'alternar punto de ruptura', +'Toggle comment': 'Alternar comentario', +'Toggle Fullscreen': 'Alternar pantalla completa', +'too short': 'demasiado corto', +'translation strings for the application': 'cadenas de caracteres de traducción para la aplicación', +'try': 'intente', +'try something like': 'intente algo como', +'TSV (Excel compatible)': 'TSV (compatible Excel)', +'TSV (Excel compatible, hidden cols)': 'TSV (compatible Excel, columnas ocultas)', +'Twitter': 'Twitter', +'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones', +'unable to create application "%s"': 'no es posible crear la aplicación "%s"', +'unable to delete file "%(filename)s"': 'no es posible eliminar el archivo "%(filename)s"', +'Unable to download': 'No es posible la descarga', +'Unable to download app': 'No es posible descarga la aplicación', +'unable to parse csv file': 'no es posible analizar el archivo CSV', +'unable to uninstall "%s"': 'no es posible instalar "%s"', +'uncheck all': 'desmarcar todos', +'uninstall': 'desinstalar', +'unknown': 'desconocido', +'update': 'actualizar', +'update all languages': 'actualizar todos los lenguajes', +'Update:': 'Actualice:', +'upload application:': 'subir aplicación:', +'Upload existing application': 'Suba esta aplicación', +'upload file:': 'suba archivo:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para crear consultas más complejas.', +'User %(id)s is impersonating %(other_id)s': 'El usuario %(id)s está suplantando %(other_id)s', +'User %(id)s Logged-in': 'El usuario %(id)s inició la sesión', +'User %(id)s Logged-out': 'El usuario %(id)s finalizó la sesión', +'User %(id)s Password changed': 'Contraseña del usuario %(id)s cambiada', +'User %(id)s Password reset': 'Contraseña del usuario %(id)s reiniciada', +'User %(id)s Profile updated': 'Actualizado el perfil del usuario %(id)s', +'User %(id)s Registered': 'Usuario %(id)s Registrado', +'User %(id)s Username retrieved': 'Se ha recuperado el nombre de usuario del usuario %(id)s', +'User %(username)s Logged-in': 'El usuario %(username)s inició la sesión', +"User '%(username)s' Logged-in": "El usuario '%(username)s' inició la sesión", +"User '%(username)s' Logged-out": "El usuario '%(username)s' finalizó la sesión", +'User Id': 'Id de Usuario', +'User ID': 'ID de Usuario', +'User Logged-out': 'El usuario finalizó la sesión', +'Username': 'Nombre de usuario', +'Username retrieve': 'Recuperar nombre de usuario', +'value already in database or empty': 'el valor ya existe en la base de datos o está vacío', +'value not allowed': 'valor no permitido', +'value not in database': 'el valor no está en la base de datos', +'Verify Password': 'Verificar Contraseña', +'Version': 'Versión', +'versioning': 'versiones', +'Videos': 'Vídeos', +'View': 'Vista', +'view': 'vista', +'View %(entity)s': 'Ver %(entity)s', +'Views': 'Vistas', +'views': 'vistas', +'web2py is up to date': 'web2py está actualizado', +'web2py Recent Tweets': 'Tweets Recientes de web2py', +'Welcome': 'Bienvenido', +'Welcome %s': 'Bienvenido %s', +'Welcome to web2py': 'Bienvenido a web2py', +'Welcome to web2py!': '¡Bienvenido a web2py!', +'Which called the function %s located in the file %s': 'La cual llamó la función %s localizada en el archivo %s', +'Working...': 'Trabajando...', +'YES': 'SÍ', +'You are successfully running web2py': 'Usted está ejecutando web2py exitosamente', +'You can modify this application and adapt it to your needs': 'Usted puede modificar esta aplicación y adaptarla a sus necesidades', +'You visited the url %s': 'Usted visitó la url %s', +'Your username is: %(username)s': 'Su nombre de usuario es: %(username)s', +} diff --git a/applications/welcome3/languages/fr-ca.py b/applications/welcome3/languages/fr-ca.py new file mode 100644 index 00000000..55dfb9ed --- /dev/null +++ b/applications/welcome3/languages/fr-ca.py @@ -0,0 +1,195 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'fr-ca', +'!langname!': 'Français (Canadien)', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" est une expression optionnelle comme "champ1=\'nouvellevaleur\'". Vous ne pouvez mettre à jour ou supprimer les résultats d\'un JOIN', +'%s %%{row} deleted': '%s rangées supprimées', +'%s %%{row} updated': '%s rangées mises à jour', +'%s selected': '%s sélectionné', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'about': 'à propos', +'About': 'À propos', +'Access Control': "Contrôle d'accès", +'Administrative Interface': 'Administrative Interface', +'Administrative interface': "Interface d'administration", +'Ajax Recipes': 'Recettes Ajax', +'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé", +'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', +'Authentication': 'Authentification', +'Available Databases and Tables': 'Bases de données et tables disponibles', +'Buy this book': 'Acheter ce livre', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': 'Ne peut pas être vide', +'change password': 'changer le mot de passe', +'Check to delete': 'Cliquez pour supprimer', +'Check to delete:': 'Cliquez pour supprimer:', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Client IP': 'IP client', +'Community': 'Communauté', +'Components and Plugins': 'Components and Plugins', +'Controller': 'Contrôleur', +'Copyright': "Droit d'auteur", +'Current request': 'Demande actuelle', +'Current response': 'Réponse actuelle', +'Current session': 'Session en cours', +'customize me!': 'personnalisez-moi!', +'data uploaded': 'données téléchargées', +'Database': 'base de données', +'Database %s select': 'base de données %s select', +'db': 'db', +'DB Model': 'Modèle DB', +'Delete:': 'Supprimer:', +'Demo': 'Démo', +'Deployment Recipes': 'Recettes de déploiement ', +'Description': 'Descriptif', +'design': 'design', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': 'fait!', +'Download': 'Téléchargement', +'E-mail': 'Courriel', +'Edit': 'Éditer', +'Edit current record': "Modifier l'enregistrement courant", +'edit profile': 'modifier le profil', +'Edit This App': 'Modifier cette application', +'Email and SMS': 'Email and SMS', +'enter an integer between %(min)g and %(max)g': 'entrer un entier compris entre %(min)g et %(max)g', +'Errors': 'Erreurs', +'export as csv file': 'exporter sous forme de fichier csv', +'FAQ': 'faq', +'First name': 'Prénom', +'Forms and Validators': 'Formulaires et Validateurs', +'Free Applications': 'Applications gratuites', +'Function disabled': 'Fonction désactivée', +'Group %(group_id)s created': '%(group_id)s groupe créé', +'Group ID': 'Groupe ID', +'Group uniquely assigned to user %(id)s': "Groupe unique attribué à l'utilisateur %(id)s", +'Groups': 'Groupes', +'Hello World': 'Bonjour le monde', +'Home': 'Accueil', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': 'Importer/Exporter', +'Index': 'Index', +'insert new': 'insérer un nouveau', +'insert new %s': 'insérer un nouveau %s', +'Internal State': 'État interne', +'Introduction': 'Présentation', +'Invalid email': 'Courriel invalide', +'Invalid Query': 'Requête Invalide', +'invalid request': 'requête invalide', +'Key': 'Key', +'Last name': 'Nom', +'Layout': 'Mise en page', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'layouts', +'Live chat': 'Clavardage en direct', +'Live Chat': 'Live Chat', +'Logged in': 'Connecté', +'login': 'connectez-vous', +'Login': 'Connectez-vous', +'logout': 'déconnectez-vous', +'lost password': 'mot de passe perdu', +'Lost Password': 'Mot de passe perdu', +'lost password?': 'mot de passe perdu?', +'Main Menu': 'Menu principal', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Menu modèle', +'My Sites': 'My Sites', +'Name': 'Nom', +'New Record': 'Nouvel enregistrement', +'new record inserted': 'nouvel enregistrement inséré', +'next 100 rows': '100 prochaines lignes', +'No databases in this application': "Cette application n'a pas de bases de données", +'Online examples': 'Exemples en ligne', +'or import from csv file': "ou importer d'un fichier CSV", +'Origin': 'Origine', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Autres recettes', +'Overview': 'Présentation', +'password': 'mot de passe', +'Password': 'Mot de passe', +"Password fields don't match": 'Les mots de passe ne correspondent pas', +'please input your password again': "S'il vous plaît entrer votre mot de passe", +'Plugins': 'Plugiciels', +'Powered by': 'Alimenté par', +'Preface': 'Préface', +'previous 100 rows': '100 lignes précédentes', +'profile': 'profile', +'Python': 'Python', +'Query:': 'Requête:', +'Quick Examples': 'Examples Rapides', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Readme': 'Lisez-moi', +'Recipes': 'Recettes', +'Record': 'enregistrement', +'Record %(id)s created': 'Record %(id)s created', +'Record %(id)s updated': 'Record %(id)s updated', +'Record Created': 'Record Created', +'record does not exist': "l'archive n'existe pas", +'Record ID': "ID d'enregistrement", +'Record id': "id d'enregistrement", +'Record Updated': 'Record Updated', +'Register': "S'inscrire", +'register': "s'inscrire", +'Registration key': "Clé d'enregistrement", +'Registration successful': 'Inscription réussie', +'Remember me (for 30 days)': 'Se souvenir de moi (pendant 30 jours)', +'Request reset password': 'Demande de réinitialiser le mot clé', +'Reset Password key': 'Réinitialiser le mot clé', +'Resources': 'Ressources', +'Role': 'Rôle', +'Rows in Table': 'Lignes du tableau', +'Rows selected': 'Lignes sélectionnées', +'Semantic': 'Sémantique', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': 'état', +'Statistics': 'Statistics', +'Stylesheet': 'Feuille de style', +'submit': 'submit', +'Submit': 'Soumettre', +'Support': 'Soutien', +'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', +'Table': 'tableau', +'Table name': 'Nom du tableau', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "query" est une condition comme "db.table1.champ1==\'valeur\'". Quelque chose comme "db.table1.champ1==db.table2.champ2" résulte en un JOIN SQL.', +'The Core': 'Le noyau', +'The output of the file is a dictionary that was rendered by the view %s': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue %s', +'The Views': 'Les Vues', +'This App': 'Cette Appli', +'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage", +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': 'Horodatage', +'Twitter': 'Twitter', +'unable to parse csv file': "incapable d'analyser le fichier cvs", +'Update:': 'Mise à jour:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT pour construire des requêtes plus complexes.', +'User %(id)s Logged-in': 'Utilisateur %(id)s connecté', +'User %(id)s Registered': 'Utilisateur %(id)s enregistré', +'User ID': 'ID utilisateur', +'User Voice': 'User Voice', +'value already in database or empty': 'valeur déjà dans la base ou vide', +'Verify Password': 'Vérifiez le mot de passe', +'Videos': 'Vidéos', +'View': 'Présentation', +'Web2py': 'Web2py', +'Welcome': 'Bienvenu', +'Welcome %s': 'Bienvenue %s', +'Welcome to web2py': 'Bienvenue à web2py', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Qui a appelé la fonction %s se trouvant dans le fichier %s', +'You are successfully running web2py': 'Vous roulez avec succès web2py', +'You can modify this application and adapt it to your needs': "Vous pouvez modifier cette application et l'adapter à vos besoins", +'You visited the url %s': "Vous avez visité l'URL %s", +} diff --git a/applications/welcome3/languages/fr.py b/applications/welcome3/languages/fr.py new file mode 100644 index 00000000..048ac1b1 --- /dev/null +++ b/applications/welcome3/languages/fr.py @@ -0,0 +1,190 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'fr', +'!langname!': 'Français', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" est une expression optionnelle comme "champ1=\'nouvellevaleur\'". Vous ne pouvez mettre à jour ou supprimer les résultats d\'un JOIN', +'%s %%{row} deleted': '%s lignes supprimées', +'%s %%{row} updated': '%s lignes mises à jour', +'%s selected': '%s sélectionné', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'About': 'À propos', +'Access Control': "Contrôle d'accès", +'Administrative Interface': "Interface d'administration", +'Administrative interface': "Interface d'administration", +'Ajax Recipes': 'Recettes Ajax', +'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé", +'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', +'Authentication': 'Authentification', +'Available Databases and Tables': 'Bases de données et tables disponibles', +'Buy this book': 'Acheter ce livre', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Clés de cache', +'Cannot be empty': 'Ne peut pas être vide', +'change password': 'changer le mot de passe', +'Check to delete': 'Cliquez pour supprimer', +'Check to delete:': 'Cliquez pour supprimer:', +'Clear CACHE?': 'Vider le CACHE?', +'Clear DISK': 'Vider le DISQUE', +'Clear RAM': 'Vider la RAM', +'Client IP': 'IP client', +'Community': 'Communauté', +'Components and Plugins': 'Composants et Plugins', +'Controller': 'Contrôleur', +'Copyright': 'Copyright', +'Created By': 'Créé par', +'Created On': 'Créé le', +'Current request': 'Demande actuelle', +'Current response': 'Réponse actuelle', +'Current session': 'Session en cours', +'customize me!': 'personnalisez-moi!', +'data uploaded': 'données téléchargées', +'Database': 'base de données', +'Database %s select': 'base de données %s selectionnée', +'db': 'bdd', +'DB Model': 'Modèle BDD', +'Delete:': 'Supprimer:', +'Demo': 'Démo', +'Deployment Recipes': 'Recettes de déploiement', +'Description': 'Description', +'design': 'design', +'DISK': 'DISQUE', +'Disk Cache Keys': 'Clés de cache du disque', +'Disk Cleared': 'Disque vidé', +'Documentation': 'Documentation', +"Don't know what to do?": 'Vous ne savez pas quoi faire?', +'done!': 'fait!', +'Download': 'Téléchargement', +'E-mail': 'E-mail', +'Edit': 'Éditer', +'Edit current record': "Modifier l'enregistrement courant", +'edit profile': 'modifier le profil', +'Edit This App': 'Modifier cette application', +'Email and SMS': 'Email et SMS', +'enter an integer between %(min)g and %(max)g': 'entrez un entier entre %(min)g et %(max)g', +'Errors': 'Erreurs', +'export as csv file': 'exporter sous forme de fichier csv', +'FAQ': 'FAQ', +'First name': 'Prénom', +'Forms and Validators': 'Formulaires et Validateurs', +'Free Applications': 'Applications gratuites', +'Function disabled': 'Fonction désactivée', +'Group ID': 'Groupe ID', +'Groups': 'Groupes', +'Hello World': 'Bonjour le monde', +'Home': 'Accueil', +'How did you get here?': 'Comment êtes-vous arrivé ici?', +'import': 'import', +'Import/Export': 'Importer/Exporter', +'Index': 'Index', +'insert new': 'insérer un nouveau', +'insert new %s': 'insérer un nouveau %s', +'Internal State': 'État interne', +'Introduction': 'Introduction', +'Invalid email': 'E-mail invalide', +'Invalid Query': 'Requête Invalide', +'invalid request': 'requête invalide', +'Is Active': 'Est actif', +'Key': 'Clé', +'Last name': 'Nom', +'Layout': 'Mise en page', +'Layout Plugins': 'Plugins de mise en page', +'Layouts': 'Mises en page', +'Live chat': 'Chat en direct', +'Live Chat': 'Chat en direct', +'login': 'connectez-vous', +'Login': 'Connectez-vous', +'logout': 'déconnectez-vous', +'lost password': 'mot de passe perdu', +'Lost Password': 'Mot de passe perdu', +'Lost password?': 'Mot de passe perdu?', +'lost password?': 'mot de passe perdu?', +'Main Menu': 'Menu principal', +'Manage Cache': 'Gérer le Cache', +'Menu Model': 'Menu modèle', +'Modified By': 'Modifié par', +'Modified On': 'Modifié le', +'My Sites': 'Mes sites', +'Name': 'Nom', +'New Record': 'Nouvel enregistrement', +'new record inserted': 'nouvel enregistrement inséré', +'next 100 rows': '100 prochaines lignes', +'No databases in this application': "Cette application n'a pas de bases de données", +'Object or table name': 'Objet ou nom de table', +'Online examples': 'Exemples en ligne', +'or import from csv file': "ou importer d'un fichier CSV", +'Origin': 'Origine', +'Other Plugins': 'Autres Plugins', +'Other Recipes': 'Autres recettes', +'Overview': 'Présentation', +'Password': 'Mot de passe', +"Password fields don't match": 'Les mots de passe ne correspondent pas', +'Plugins': 'Plugins', +'Powered by': 'Alimenté par', +'Preface': 'Préface', +'previous 100 rows': '100 lignes précédentes', +'Python': 'Python', +'Query:': 'Requête:', +'Quick Examples': 'Exemples Rapides', +'RAM': 'RAM', +'RAM Cache Keys': 'Clés de cache de la RAM', +'Ram Cleared': 'Ram vidée', +'Readme': 'Lisez-moi', +'Recipes': 'Recettes', +'Record': 'enregistrement', +'record does not exist': "l'archive n'existe pas", +'Record ID': "ID d'enregistrement", +'Record id': "id d'enregistrement", +'Register': "S'inscrire", +'register': "s'inscrire", +'Registration identifier': "Identifiant d'enregistrement", +'Registration key': "Clé d'enregistrement", +'Remember me (for 30 days)': 'Se souvenir de moi (pendant 30 jours)', +'Request reset password': 'Demande de réinitialiser le mot clé', +'Reset Password key': 'Réinitialiser le mot clé', +'Resources': 'Ressources', +'Role': 'Rôle', +'Rows in Table': 'Lignes du tableau', +'Rows selected': 'Lignes sélectionnées', +'Semantic': 'Sémantique', +'Services': 'Services', +'Size of cache:': 'Taille du cache:', +'state': 'état', +'Statistics': 'Statistiques', +'Stylesheet': 'Feuille de style', +'submit': 'soumettre', +'Submit': 'Soumettre', +'Support': 'Support', +'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', +'Table': 'tableau', +'Table name': 'Nom du tableau', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "requête" est une condition comme "db.table1.champ1==\'valeur\'". Quelque chose comme "db.table1.champ1==db.table2.champ2" résulte en un JOIN SQL.', +'The Core': 'Le noyau', +'The output of the file is a dictionary that was rendered by the view %s': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue %s', +'The Views': 'Les Vues', +'This App': 'Cette Appli', +'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage", +'Time in Cache (h:m:s)': 'Temps en Cache (h:m:s)', +'Timestamp': 'Horodatage', +'Twitter': 'Twitter', +'unable to parse csv file': "incapable d'analyser le fichier cvs", +'Update:': 'Mise à jour:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT afin de construire des requêtes plus complexes.', +'User %(id)s Logged-in': 'Utilisateur %(id)s connecté', +'User %(id)s Registered': 'Utilisateur %(id)s enregistré', +'User ID': 'ID utilisateur', +'User Voice': "Voix de l'utilisateur", +'Verify Password': 'Vérifiez le mot de passe', +'Videos': 'Vidéos', +'View': 'Présentation', +'Web2py': 'Web2py', +'Welcome': 'Bienvenue', +'Welcome %s': 'Bienvenue %s', +'Welcome to web2py': 'Bienvenue à web2py', +'Welcome to web2py!': 'Bienvenue à web2py!', +'Which called the function %s located in the file %s': 'Qui a appelé la fonction %s se trouvant dans le fichier %s', +'You are successfully running web2py': 'Vous exécutez avec succès web2py', +'You can modify this application and adapt it to your needs': "Vous pouvez modifier cette application et l'adapter à vos besoins", +'You visited the url %s': "Vous avez visité l'URL %s", +} diff --git a/applications/welcome3/languages/hi.py b/applications/welcome3/languages/hi.py new file mode 100644 index 00000000..63a7acdc --- /dev/null +++ b/applications/welcome3/languages/hi.py @@ -0,0 +1,149 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'hi-in', +'!langname!': 'हिन्दी', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN', +'%s %%{row} deleted': '%s पंक्तियाँ मिटाएँ', +'%s %%{row} updated': '%s पंक्तियाँ अद्यतन', +'%s selected': '%s चुना हुआ', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'About': 'About', +'Access Control': 'Access Control', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': 'प्रशासनिक इंटरफेस के लिए यहाँ क्लिक करें', +'Ajax Recipes': 'Ajax Recipes', +'appadmin is disabled because insecure channel': 'अप आडमिन (appadmin) अक्षम है क्योंकि असुरक्षित चैनल', +'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', +'Available Databases and Tables': 'उपलब्ध डेटाबेस और तालिका', +'Buy this book': 'Buy this book', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': 'खाली नहीं हो सकता', +'Change Password': 'पासवर्ड बदलें', +'change password': 'change password', +'Check to delete': 'हटाने के लिए चुनें', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': 'Controller', +'Copyright': 'Copyright', +'Current request': 'वर्तमान अनुरोध', +'Current response': 'वर्तमान प्रतिक्रिया', +'Current session': 'वर्तमान सेशन', +'customize me!': 'मुझे अनुकूलित (कस्टमाइज़) करें!', +'data uploaded': 'डाटा अपलोड सम्पन्न ', +'Database': 'डेटाबेस', +'Database %s select': 'डेटाबेस %s चुनी हुई', +'db': 'db', +'DB Model': 'DB Model', +'Delete:': 'मिटाना:', +'Demo': 'Demo', +'Deployment Recipes': 'Deployment Recipes', +'design': 'रचना करें', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': 'हो गया!', +'Download': 'Download', +'Edit': 'Edit', +'Edit current record': 'वर्तमान रेकॉर्ड संपादित करें ', +'edit profile': 'edit profile', +'Edit Profile': 'प्रोफ़ाइल संपादित करें', +'Edit This App': 'Edit This App', +'Email and SMS': 'Email and SMS', +'Errors': 'Errors', +'export as csv file': 'csv फ़ाइल के रूप में निर्यात', +'FAQ': 'FAQ', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Groups': 'Groups', +'Hello from MyApp': 'Hello from MyApp', +'Hello World': 'Hello World', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': 'आयात / निर्यात', +'Index': 'Index', +'insert new': 'नया डालें', +'insert new %s': 'नया %s डालें', +'Internal State': 'आंतरिक स्थिति', +'Introduction': 'Introduction', +'Invalid Query': 'अमान्य प्रश्न', +'invalid request': 'अवैध अनुरोध', +'Key': 'Key', +'Layout': 'Layout', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'login': 'login', +'Login': 'लॉग इन', +'logout': 'logout', +'Logout': 'लॉग आउट', +'Lost Password': 'पासवर्ड खो गया', +'Main Menu': 'Main Menu', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Menu Model', +'My Sites': 'My Sites', +'New Record': 'नया रेकॉर्ड', +'new record inserted': 'नया रेकॉर्ड डाला', +'next 100 rows': 'अगले 100 पंक्तियाँ', +'No databases in this application': 'इस अनुप्रयोग में कोई डेटाबेस नहीं हैं', +'Online examples': 'ऑनलाइन उदाहरण के लिए यहाँ क्लिक करें', +'or import from csv file': 'या csv फ़ाइल से आयात', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Plugins': 'Plugins', +'Powered by': 'Powered by', +'Preface': 'Preface', +'previous 100 rows': 'पिछले 100 पंक्तियाँ', +'Python': 'Python', +'Query:': 'प्रश्न:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': 'Record', +'record does not exist': 'रिकॉर्ड मौजूद नहीं है', +'Record id': 'रिकॉर्ड पहचानकर्ता (आईडी)', +'Register': 'पंजीकृत (रजिस्टर) करना ', +'register': 'register', +'Rows in Table': 'तालिका में पंक्तियाँ ', +'Rows selected': 'चयनित (चुने गये) पंक्तियाँ ', +'Semantic': 'Semantic', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': 'स्थिति', +'Statistics': 'Statistics', +'Stylesheet': 'Stylesheet', +'submit': 'submit', +'Support': 'Support', +'Sure you want to delete this object?': 'सुनिश्चित हैं कि आप इस वस्तु को हटाना चाहते हैं?', +'Table': 'तालिका', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': 'The Views', +'This App': 'This App', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Twitter': 'Twitter', +'unable to parse csv file': 'csv फ़ाइल पार्स करने में असमर्थ', +'Update:': 'अद्यतन करना:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', +'Videos': 'Videos', +'View': 'View', +'Welcome %s': 'Welcome %s', +'Welcome to web2py': 'वेब२पाइ (web2py) में आपका स्वागत है', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'You are successfully running web2py': 'You are successfully running web2py', +'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/languages/hu.py b/applications/welcome3/languages/hu.py new file mode 100644 index 00000000..615ee394 --- /dev/null +++ b/applications/welcome3/languages/hu.py @@ -0,0 +1,162 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'hu', +'!langname!': 'Magyar', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN', +'%s %%{row} deleted': '%s sorok törlődtek', +'%s %%{row} updated': '%s sorok frissítődtek', +'%s selected': '%s kiválasztott', +'%Y-%m-%d': '%Y.%m.%d.', +'%Y-%m-%d %H:%M:%S': '%Y.%m.%d. %H:%M:%S', +'About': 'About', +'Access Control': 'Access Control', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': 'az adminisztrációs felületért kattints ide', +'Ajax Recipes': 'Ajax Recipes', +'appadmin is disabled because insecure channel': 'az appadmin a biztonságtalan csatorna miatt letiltva', +'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', +'Available Databases and Tables': 'Elérhető adatbázisok és táblák', +'Buy this book': 'Buy this book', +'cache': 'gyorsítótár', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': 'Nem lehet üres', +'change password': 'jelszó megváltoztatása', +'Check to delete': 'Törléshez válaszd ki', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Client IP': 'Client IP', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': 'Controller', +'Copyright': 'Copyright', +'Current request': 'Jelenlegi lekérdezés', +'Current response': 'Jelenlegi válasz', +'Current session': 'Jelenlegi folyamat', +'customize me!': 'változtass meg!', +'data uploaded': 'adat feltöltve', +'Database': 'adatbázis', +'Database %s select': 'adatbázis %s kiválasztás', +'db': 'db', +'DB Model': 'DB Model', +'Delete:': 'Töröl:', +'Demo': 'Demo', +'Deployment Recipes': 'Deployment Recipes', +'Description': 'Description', +'design': 'design', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': 'kész!', +'Download': 'Download', +'E-mail': 'E-mail', +'Edit': 'Szerkeszt', +'Edit current record': 'Aktuális bejegyzés szerkesztése', +'edit profile': 'profil szerkesztése', +'Edit This App': 'Alkalmazást szerkeszt', +'Email and SMS': 'Email and SMS', +'Errors': 'Errors', +'export as csv file': 'exportál csv fájlba', +'FAQ': 'FAQ', +'First name': 'First name', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Group ID': 'Group ID', +'Groups': 'Groups', +'Hello World': 'Hello Világ', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': 'Import/Export', +'Index': 'Index', +'insert new': 'új beillesztése', +'insert new %s': 'új beillesztése %s', +'Internal State': 'Internal State', +'Introduction': 'Introduction', +'Invalid email': 'Invalid email', +'Invalid Query': 'Hibás lekérdezés', +'invalid request': 'hibás kérés', +'Key': 'Key', +'Last name': 'Last name', +'Layout': 'Szerkezet', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'login': 'belép', +'logout': 'kilép', +'lost password': 'elveszett jelszó', +'Lost Password': 'Lost Password', +'Main Menu': 'Főmenü', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Menü model', +'My Sites': 'My Sites', +'Name': 'Name', +'New Record': 'Új bejegyzés', +'new record inserted': 'új bejegyzés felvéve', +'next 100 rows': 'következő 100 sor', +'No databases in this application': 'Nincs adatbázis ebben az alkalmazásban', +'Online examples': 'online példákért kattints ide', +'or import from csv file': 'vagy betöltés csv fájlból', +'Origin': 'Origin', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Password': 'Password', +'Plugins': 'Plugins', +'Powered by': 'Powered by', +'Preface': 'Preface', +'previous 100 rows': 'előző 100 sor', +'Python': 'Python', +'Query:': 'Lekérdezés:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': 'bejegyzés', +'record does not exist': 'bejegyzés nem létezik', +'Record ID': 'Record ID', +'Record id': 'bejegyzés id', +'Register': 'Register', +'register': 'regisztráció', +'Registration key': 'Registration key', +'Reset Password key': 'Reset Password key', +'Role': 'Role', +'Rows in Table': 'Sorok a táblában', +'Rows selected': 'Kiválasztott sorok', +'Semantic': 'Semantic', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': 'állapot', +'Statistics': 'Statistics', +'Stylesheet': 'Stylesheet', +'submit': 'submit', +'Support': 'Support', +'Sure you want to delete this object?': 'Biztos törli ezt az objektumot?', +'Table': 'tábla', +'Table name': 'Table name', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': 'The Views', +'This App': 'This App', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': 'Timestamp', +'Twitter': 'Twitter', +'unable to parse csv file': 'nem lehet a csv fájlt beolvasni', +'Update:': 'Frissít:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', +'User ID': 'User ID', +'Videos': 'Videos', +'View': 'Nézet', +'Welcome %s': 'Welcome %s', +'Welcome to web2py': 'Isten hozott a web2py-ban', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'You are successfully running web2py': 'You are successfully running web2py', +'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/languages/id.py b/applications/welcome3/languages/id.py new file mode 100755 index 00000000..2273ae5a --- /dev/null +++ b/applications/welcome3/languages/id.py @@ -0,0 +1,272 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'id', +'!langname!': 'Indonesian', +'%d days ago': '%d hari yang lalu', +'%d hours ago': '%d jam yang lalu', +'%d minutes ago': '%d menit yang lalu', +'%d months ago': '%d bulan yang lalu', +'%d seconds ago': '%d detik yang lalu', +'%d seconds from now': '%d detik dari sekarang', +'%d weeks ago': '%d minggu yang lalu', +'%d years ago': '%d tahun yang lalu', +'%s %%{row} deleted': '%s %%{row} dihapus', +'%s %%{row} updated': '%s %%{row} diperbarui', +'%s selected': '%s dipilih', +'%Y-%m-%d': '%d-%m-%Y', +'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S', +'(requires internet access, experimental)': '(membutuhkan akses internet, eksperimental)', +'(something like "it-it")': '(sesuatu seperti "it-it")', +'1 day ago': '1 hari yang lalu', +'1 hour ago': '1 jam yang lalu', +'1 minute ago': '1 menit yang lalu', +'1 month ago': '1 bulan yang lalu', +'1 second ago': '1 detik yang lalu', +'1 week ago': '1 minggu yang lalu', +'1 year ago': '1 tahun yang lalu', +'< Previous': '< Sebelumnya', +'About': 'Tentang', +'About application': 'Tentang Aplikasi', +'Add': 'Tambah', +'Additional code for your application': 'Tambahan kode untuk aplikasi Anda', +'Address': 'Alamat', +'Admin language': 'Bahasa Admin', +'administrative interface': 'antarmuka administrative', +'Administrator Password:': 'Administrator Kata Sandi:', +'Ajax Recipes': 'Resep Ajax', +'An error occured, please %s the page': 'Terjadi kesalahan, silakan %s halaman', +'And': 'Dan', +'and rename it:': 'dan memberi nama baru itu:', +'Answer': 'Jawaban', +'appadmin is disabled because insecure channel': 'AppAdmin dinonaktifkan karena kanal tidak aman', +'application "%s" uninstalled': 'applikasi "%s" dihapus', +'application compiled': 'aplikasi dikompilasi', +'Application name:': 'Nama Applikasi:', +'are not used yet': 'tidak digunakan lagi', +'Are you sure you want to delete this object?': 'Apakah Anda yakin ingin menghapus ini?', +'Are you sure you want to uninstall application "%s"?': 'Apakah Anda yakin ingin menghapus aplikasi "%s"?', +'Available Databases and Tables': 'Database dan Tabel yang tersedia', +'Back': 'Kembali', +'Buy this book': 'Beli buku ini', +'cache, errors and sessions cleaned': 'cache, kesalahan dan sesi dibersihkan', +'can be a git repo': 'bisa menjadi repo git', +'Cancel': 'Batalkan', +'Cannot be empty': 'Tidak boleh kosong', +'Change admin password': 'Ubah kata sandi admin', +'Change password': 'Ubah kata sandi', +'Check for upgrades': 'Periksa upgrade', +'Check to delete': 'Centang untuk menghapus', +'Checking for upgrades...': 'Memeriksa untuk upgrade...', +'Clean': 'Bersih', +'Clear': 'Hapus', +'Clear CACHE?': 'Hapus CACHE?', +'Clear DISK': 'Hapus DISK', +'Clear RAM': 'Hapus RAM', +'Click row to expand traceback': 'Klik baris untuk memperluas traceback', +'Close': 'Tutup', +'collapse/expand all': 'kempis / memperluas semua', +'Community': 'Komunitas', +'Compile': 'Kompilasi', +'compiled application removed': 'aplikasi yang dikompilasi dihapus', +'Components and Plugins': 'Komponen dan Plugin', +'contains': 'mengandung', +'Controllers': 'Kontrolir', +'controllers': 'kontrolir', +'Copyright': 'Hak Cipta', +'Count': 'Hitung', +'Create': 'Buat', +'create file with filename:': 'buat file dengan nama:', +'created by': 'dibuat oleh', +'CSV (hidden cols)': 'CSV (kolom tersembunyi)', +'currently running': 'sedang berjalan', +'data uploaded': 'data diunggah', +'Database %s select': 'Memilih Database %s', +'database administration': 'administrasi database', +'defines tables': 'mendefinisikan tabel', +'Delete': 'Hapus', +'delete all checked': 'menghapus semua yang di centang', +'Delete this file (you will be asked to confirm deletion)': 'Hapus file ini (Anda akan diminta untuk mengkonfirmasi penghapusan)', +'Delete:': 'Hapus:', +'Description': 'Keterangan', +'design': 'disain', +'direction: ltr': 'petunjuk: ltr', +'Disk Cleared': 'Disk Dihapus', +'Documentation': 'Dokumentasi', +"Don't know what to do?": 'Tidak tahu apa yang harus dilakukan?', +'done!': 'selesai!', +'Download': 'Unduh', +'Download .w2p': 'Unduh .w2p', +'download layouts': 'unduh layouts', +'download plugins': 'unduh plugins', +'Duration': 'Durasi', +'Edit': 'Mengedit', +'Edit application': 'Mengedit Aplikasi', +'Email sent': 'Email dikirim', +'enter a valid email address': 'masukkan alamat email yang benar', +'enter a valid URL': 'masukkan URL yang benar', +'enter a value': 'masukkan data', +'Error': 'Kesalahan', +'Error logs for "%(app)s"': 'Catatan kesalahan untuk "%(app)s"', +'Errors': 'Kesalahan', +'export as csv file': 'ekspor sebagai file csv', +'Export:': 'Ekspor:', +'exposes': 'menghadapkan', +'extends': 'meluaskan', +'filter': 'menyaring', +'First Name': 'Nama Depan', +'Forgot username?': 'Lupa nama pengguna?', +'Free Applications': 'Aplikasi Gratis', +'Gender': 'Jenis Kelamin', +'Group %(group_id)s created': 'Grup %(group_id)s dibuat', +'Group uniquely assigned to user %(id)s': 'Grup unik yang diberikan kepada pengguna %(id)s', +'Groups': 'Grup', +'Guest': 'Tamu', +'Hello World': 'Halo Dunia', +'Help': 'Bantuan', +'Home': 'Halaman Utama', +'How did you get here?': 'Bagaimana kamu bisa di sini?', +'Image': 'Gambar', +'import': 'impor', +'Import/Export': 'Impor/Ekspor', +'includes': 'termasuk', +'Install': 'Memasang', +'Installation': 'Instalasi', +'Installed applications': 'Aplikasi yang diinstal', +'Introduction': 'Pengenalan', +'Invalid email': 'Email tidak benar', +'Language': 'Bahasa', +'languages': 'bahasa', +'Languages': 'Bahasa', +'Last Name': 'Nama Belakang', +'License for': 'Lisensi untuk', +'loading...': 'sedang memuat...', +'Logged in': 'Masuk', +'Logged out': 'Keluar', +'Login': 'Masuk', +'Login to the Administrative Interface': 'Masuk ke antarmuka Administrasi', +'Logout': 'Keluar', +'Lost Password': 'Lupa Kata Sandi', +'Lost password?': 'Lupa kata sandi?', +'Maintenance': 'Pemeliharaan', +'Manage': 'Mengelola', +'Manage Cache': 'Mengelola Cache', +'models': 'model', +'Models': 'Model', +'Modules': 'Modul', +'modules': 'modul', +'My Sites': 'Situs Saya', +'New': 'Baru', +'new application "%s" created': 'aplikasi baru "%s" dibuat', +'New password': 'Kata sandi baru', +'New simple application': 'Aplikasi baru sederhana', +'News': 'Berita', +'next 100 rows': '100 baris berikutnya', +'Next >': 'Berikutnya >', +'Next Page': 'Halaman Berikutnya', +'No databases in this application': 'Tidak ada database dalam aplikasi ini', +'No ticket_storage.txt found under /private folder': 'Tidak ditemukan ticket_storage.txt dalam folder /private', +'not a Zip Code': 'bukan Kode Pos', +'Note': 'Catatan', +'Old password': 'Kata sandi lama', +'Online examples': 'Contoh Online', +'Or': 'Atau', +'or alternatively': 'atau alternatif', +'Or Get from URL:': 'Atau Dapatkan dari URL:', +'or import from csv file': 'atau impor dari file csv', +'Other Plugins': 'Plugin Lainnya', +'Other Recipes': 'Resep Lainnya', +'Overview': 'Ikhtisar', +'Overwrite installed app': 'Ikhtisar app yang terinstall', +'Pack all': 'Pak semua', +'Pack compiled': 'Pak yang telah dikompilasi', +'Pack custom': 'Pak secara kustomisasi', +'Password': 'Kata sandi', +'Password changed': 'Kata sandi berubah', +"Password fields don't match": 'Kata sandi tidak sama', +'please input your password again': 'silahkan masukan kata sandi anda lagi', +'plugins': 'plugin', +'Plugins': 'Plugin', +'Plural-Forms:': 'Bentuk-Jamak:', +'Powered by': 'Didukung oleh', +'Preface': 'Pendahuluan', +'previous 100 rows': '100 baris sebelumnya', +'Previous Page': 'Halaman Sebelumnya', +'private files': 'file pribadi', +'Private files': 'File pribadi', +'Profile': 'Profil', +'Profile updated': 'Profil diperbarui', +'Project Progress': 'Perkembangan Proyek', +'Quick Examples': 'Contoh Cepat', +'Ram Cleared': 'Ram Dihapus', +'Recipes': 'Resep', +'Register': 'Daftar', +'Registration successful': 'Pendaftaran berhasil', +'reload': 'memuat kembali', +'Reload routes': 'Memuat rute kembali', +'Remember me (for 30 days)': 'Ingat saya (selama 30 hari)', +'Remove compiled': 'Hapus Kompilasi', +'Request reset password': 'Meminta reset kata sandi', +'Rows in Table': 'Baris dalam Tabel', +'Rows selected': 'Baris dipilih', +"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Jalankan tes di file ini (untuk menjalankan semua file, Anda juga dapat menggunakan tombol berlabel 'test')", +'Running on %s': 'Berjalan di %s', +'Save model as...': 'Simpan model sebagai ...', +'Save profile': 'Simpan profil', +'Search': 'Cari', +'Select Files to Package': 'Pilih Berkas untuk Paket', +'Send Email': 'Kirim Email', +'Service': 'Layanan', +'Site': 'Situs', +'Size of cache:': 'Ukuran cache:', +'starts with': 'dimulai dengan', +'static': 'statis', +'Static': 'Statis', +'Statistics': 'Statistik', +'Support': 'Mendukung', +'Table': 'Tabel', +'test': 'tes', +'The application logic, each URL path is mapped in one exposed function in the controller': 'Logika aplikasi, setiap jalur URL dipetakan dalam satu fungsi terpapar di kontrolir', +'The data representation, define database tables and sets': 'Representasi data, mendefinisikan tabel database dan set', +'There are no plugins': 'Tidak ada plugin', +'There are no private files': 'Tidak ada file pribadi', +'These files are not served, they are only available from within your app': 'File-file ini tidak dilayani, mereka hanya tersedia dari dalam aplikasi Anda', +'These files are served without processing, your images go here': 'File-file ini disajikan tanpa pengolahan, gambar Anda di sini', +'This App': 'App Ini', +'Time in Cache (h:m:s)': 'Waktu di Cache (h: m: s)', +'To create a plugin, name a file/folder plugin_[name]': 'Untuk membuat sebuah plugin, nama file / folder plugin_ [nama]', +'too short': 'terlalu pendek', +'Translation strings for the application': 'Terjemahan string untuk aplikasi', +'Try the mobile interface': 'Coba antarmuka ponsel', +'Unable to download because:': 'Tidak dapat mengunduh karena:', +'unable to parse csv file': 'tidak mampu mengurai file csv', +'update all languages': 'memperbarui semua bahasa', +'Update:': 'Perbarui:', +'Upload': 'Unggah', +'Upload a package:': 'Unggah sebuah paket:', +'Upload and install packed application': 'Upload dan pasang aplikasi yang dikemas', +'upload file:': 'unggah file:', +'upload plugin file:': 'unggah file plugin:', +'User %(id)s Logged-in': 'Pengguna %(id)s Masuk', +'User %(id)s Logged-out': 'Pengguna %(id)s Keluar', +'User %(id)s Password changed': 'Pengguna %(id)s Kata Sandi berubah', +'User %(id)s Password reset': 'Pengguna %(id)s Kata Sandi telah direset', +'User %(id)s Profile updated': 'Pengguna %(id)s Profil diperbarui', +'User %(id)s Registered': 'Pengguna %(id)s Terdaftar', +'value already in database or empty': 'data sudah ada dalam database atau kosong', +'value not allowed': 'data tidak benar', +'value not in database': 'data tidak ada dalam database', +'Verify Password': 'Verifikasi Kata Sandi', +'Version': 'Versi', +'View': 'Lihat', +'Views': 'Lihat', +'views': 'lihat', +'Web Framework': 'Kerangka Web', +'web2py is up to date': 'web2py terbaru', +'web2py Recent Tweets': 'Tweet web2py terbaru', +'Website': 'Situs Web', +'Welcome': 'Selamat Datang', +'Welcome to web2py!': 'Selamat Datang di web2py!', +'You are successfully running web2py': 'Anda berhasil menjalankan web2py', +'You can modify this application and adapt it to your needs': 'Anda dapat memodifikasi aplikasi ini dan menyesuaikan dengan kebutuhan Anda', +'You visited the url %s': 'Anda mengunjungi url %s', +} diff --git a/applications/welcome3/languages/it.py b/applications/welcome3/languages/it.py new file mode 100644 index 00000000..b44bf2e8 --- /dev/null +++ b/applications/welcome3/languages/it.py @@ -0,0 +1,249 @@ +# -*- coding: utf-8 -*- +{ +'!=': '!=', +'!langcode!': 'it', +'!langname!': 'Italiano', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" è un\'espressione opzionale come "campo1=\'nuovo valore\'". Non si può fare "update" o "delete" dei risultati di un JOIN ', +'%(nrows)s records found': '%(nrows)s record trovati', +'%d seconds ago': '%d secondi fa', +'%s %%{row} deleted': '%s righe ("record") cancellate', +'%s %%{row} updated': '%s righe ("record") modificate', +'%s selected': '%s selezionato', +'%Y-%m-%d': '%d/%m/%Y', +'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S', +'<': '<', +'<=': '<=', +'=': '=', +'>': '>', +'>=': '>=', +'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', +'@markmin\x01Number of entries: **%s**': 'Numero di entità: **%s**', +'About': 'About', +'Access Control': 'Controllo Accessi', +'Add': 'Aggiungi', +'Administrative Interface': 'Interfaccia Amministrativa', +'Administrative interface': 'Interfaccia amministrativa', +'Ajax Recipes': 'Ajax Recipes', +'An error occured, please %s the page': 'È stato rilevato un errore, prego %s la pagina', +'And': 'E', +'appadmin is disabled because insecure channel': 'Amministrazione (appadmin) disabilitata: comunicazione non sicura', +'Are you sure you want to delete this object?': 'Sicuro di voler cancellare questo oggetto ?', +'Available Databases and Tables': 'Database e tabelle disponibili', +'Back': 'Indietro', +'Buy this book': 'Compra questo libro', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': 'Non può essere vuoto', +'Change password': 'Cambia Password', +'change password': 'Cambia password', +'Check to delete': 'Seleziona per cancellare', +'Clear': 'Resetta', +'Clear CACHE?': 'Resetta CACHE?', +'Clear DISK': 'Resetta DISK', +'Clear RAM': 'Resetta RAM', +'Client IP': 'Client IP', +'Close': 'Chiudi', +'Cognome': 'Cognome', +'Community': 'Community', +'Components and Plugins': 'Componenti and Plugin', +'contains': 'contiene', +'Controller': 'Controller', +'Copyright': 'Copyright', +'Created By': 'Creato Da', +'Created On': 'Creato Il', +'CSV': 'CSV', +'CSV (hidden cols)': 'CSV (hidden cols)', +'Current request': 'Richiesta (request) corrente', +'Current response': 'Risposta (response) corrente', +'Current session': 'Sessione (session) corrente', +'customize me!': 'Personalizzami!', +'data uploaded': 'dati caricati', +'Database': 'Database', +'Database %s select': 'Database %s select', +'db': 'db', +'DB Model': 'Modello di DB', +'Delete': 'Cancella', +'Delete:': 'Cancella:', +'Demo': 'Demo', +'Deployment Recipes': 'Deployment Recipes', +'Description': 'Descrizione', +'design': 'progetta', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentazione', +"Don't know what to do?": 'Non sai cosa fare?', +'done!': 'fatto!', +'Download': 'Download', +'E-mail': 'E-mail', +'Edit': 'Modifica', +'Edit current record': 'Modifica record corrente', +'edit profile': 'modifica profilo', +'Edit This App': 'Modifica questa applicazione', +'Email and SMS': 'Email e SMS', +'Email non valida': 'Email non valida', +'enter a number between %(min)g and %(max)g': 'enter a number between %(min)g and %(max)g', +'enter an integer between %(min)g and %(max)g': 'inserisci un intero tra %(min)g e %(max)g', +'Errors': 'Errori', +'Errors in form, please check it out.': 'Errori nel form, ricontrollalo', +'export as csv file': 'esporta come file CSV', +'Export:': 'Esporta:', +'FAQ': 'FAQ', +'First name': 'Nome', +'Forgot username?': 'Dimenticato lo username?', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Graph Model': 'Graph Model', +'Group %(group_id)s created': 'Group %(group_id)s created', +'Group ID': 'ID Gruppo', +'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s', +'Groups': 'Groups', +'hello': 'hello', +'hello world': 'salve mondo', +'Hello World': 'Salve Mondo', +'Hello World in a flash!': 'Salve Mondo in un flash!', +'Home': 'Home', +'How did you get here?': 'Come sei arrivato qui?', +'HTML': 'HTML', +'import': 'importa', +'Import/Export': 'Importa/Esporta', +'Index': 'Indice', +'insert new': 'inserisci nuovo', +'insert new %s': 'inserisci nuovo %s', +'Internal State': 'Stato interno', +'Introduction': 'Introduzione', +'Invalid email': 'Email non valida', +'Invalid login': 'Login non valido', +'Invalid Query': 'Richiesta (query) non valida', +'invalid request': 'richiesta non valida', +'Is Active': "E' attivo", +'Key': 'Chiave', +'Last name': 'Cognome', +'Layout': 'Layout', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'Logged in': 'Loggato', +'Logged out': 'Disconnesso', +'login': 'accesso', +'Login': 'Login', +'logout': 'uscita', +'Logout': 'Logout', +'Lost Password': 'Password Smarrita', +'Lost password?': 'Password smarrita?', +'lost password?': 'dimenticato la password?', +'Main Menu': 'Menu principale', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Menu Modelli', +'Modified By': 'Modificato da', +'Modified On': 'Modificato il', +'My Sites': 'My Sites', +'Name': 'Nome', +'New': 'Nuovo', +'New password': 'Nuova password', +'New Record': 'Nuovo elemento (record)', +'new record inserted': 'nuovo record inserito', +'next 100 rows': 'prossime 100 righe', +'No databases in this application': 'Nessun database presente in questa applicazione', +'No records found': 'Nessun record trovato', +'Nome': 'Nome', +'Non può essere vuoto': 'Non può essere vuoto', +'not authorized': 'non autorizzato', +'Object or table name': 'Oggeto o nome tabella', +'Old password': 'Vecchia password', +'Online examples': 'Vedere gli esempi', +'Or': 'O', +'or import from csv file': 'oppure importa da file CSV', +'Origin': 'Origine', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Password': 'Password', +"Password fields don't match": 'I campi password non sono uguali', +'please input your password again': 'perfavore reimmeti la tua password', +'Plugins': 'Plugins', +'Powered by': 'Powered by', +'Preface': 'Preface', +'previous 100 rows': '100 righe precedenti', +'Profile': 'Profilo', +'pygraphviz library not found': 'pygraphviz library not found', +'Python': 'Python', +'Query:': 'Richiesta (query):', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': 'Record', +'record does not exist': 'il record non esiste', +'Record ID': 'Record ID', +'Record id': 'Record id', +'Register': 'Registrati', +'register': 'registrazione', +'Registration identifier': 'Registration identifier', +'Registration key': 'Chiave di Registazione', +'Registration successful': 'Registrazione avvenuta', +'reload': 'reload', +'Remember me (for 30 days)': 'Ricordami (per 30 giorni)', +'Request reset password': 'Richiedi il reset della password', +'Reset Password key': 'Resetta chiave Password ', +'Role': 'Ruolo', +'Rows in Table': 'Righe nella tabella', +'Rows selected': 'Righe selezionate', +'Save model as...': 'Salva modello come...', +'Save profile': 'Salva profilo', +'Search': 'Ricerca', +'Semantic': 'Semantic', +'Services': 'Servizi', +'Size of cache:': 'Size of cache:', +'starts with': 'comincia con', +'state': 'stato', +'Statistics': 'Statistics', +'Stylesheet': 'Foglio di stile (stylesheet)', +'submit': 'Inviai', +'Submit': 'Invia', +'Support': 'Support', +'Sure you want to delete this object?': 'Vuoi veramente cancellare questo oggetto?', +'Table': 'tabella', +'Table name': 'Nome tabella', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La richiesta (query) è una condizione come ad esempio "db.tabella1.campo1==\'valore\'". Una condizione come "db.tabella1.campo1==db.tabella2.campo2" produce un "JOIN" SQL.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'L\'output del file è un "dictionary" che è stato visualizzato dalla vista %s', +'The Views': 'The Views', +'This App': 'This App', +'This email already has an account': 'This email already has an account', +'This is a copy of the scaffolding application': "Questa è una copia dell'applicazione di base (scaffold)", +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': 'Ora (timestamp)', +'too short': 'troppo corto', +'Traceback': 'Traceback', +'TSV (Excel compatible)': 'TSV (Excel compatibile)', +'TSV (Excel compatible, hidden cols)': 'TSV (Excel compatibile, hidden cols)', +'Twitter': 'Twitter', +'unable to parse csv file': 'non riesco a decodificare questo file CSV', +'Update': 'Aggiorna', +'Update:': 'Aggiorna:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Per costruire richieste (query) più complesse si usano (...)&(...) come "e" (AND), (...)|(...) come "o" (OR), e ~(...) come negazione (NOT).', +'User %(id)s Logged-in': 'User %(id)s Logged-in', +'User %(id)s Logged-out': 'User %(id)s Logged-out', +'User %(id)s Password changed': 'User %(id)s Password changed', +'User %(id)s Password reset': 'User %(id)s Password reset', +'User %(id)s Profile updated': 'User %(id)s Profile updated', +'User %(id)s Registered': 'User %(id)s Registered', +'User ID': 'ID Utente', +'value already in database or empty': 'valore già presente nel database o vuoto', +'Verify Password': 'Verifica Password', +'Videos': 'Videos', +'View': 'Vista', +'Welcome': 'Benvenuto', +'Welcome %s': 'Benvenuto %s', +'Welcome to web2py': 'Benvenuto su web2py', +'Welcome to web2py!': 'Benvenuto in web2py!', +'Which called the function %s located in the file %s': 'che ha chiamato la funzione %s presente nel file %s', +'Working...': 'Working...', +'XML': 'XML', +'You are successfully running web2py': 'Stai eseguendo web2py con successo', +'You can modify this application and adapt it to your needs': 'Puoi modificare questa applicazione adattandola alle tue necessità', +'You visited the url %s': "Hai visitato l'URL %s", +} diff --git a/applications/welcome3/languages/my.py b/applications/welcome3/languages/my.py new file mode 100755 index 00000000..8e634d4d --- /dev/null +++ b/applications/welcome3/languages/my.py @@ -0,0 +1,217 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'my', +'!langname!': 'Malay', +'%d days ago': '%d hari yang lalu', +'%d hours ago': '%d jam yang lalu', +'%d minutes ago': '%d minit yang lalu', +'%d months ago': '%d bulan yang lalu', +'%d seconds ago': '%d saat yang lalu', +'%d seconds from now': '%d saat dari sekarang', +'%d weeks ago': '%d minggu yang lalu', +'%d years ago': '%d tahun yang lalu', +'%s %%{row} deleted': '%s %%{row} dihapuskan', +'%s %%{row} updated': '%s %%{row} dikemas kini', +'%s selected': '%s dipilih', +'%Y-%m-%d': '%d-%m-%Y', +'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S', +'(requires internet access, experimental)': '(memerlukan akses internet, percubaan)', +'(something like "it-it")': '(sesuatu seperti "it-it")', +'1 day ago': '1 hari yang lalu', +'1 hour ago': '1 jam yang lalu', +'1 minute ago': '1 minit yang lalu', +'1 month ago': '1 bulan yang lalu', +'1 second ago': '1 saat yang lalu', +'1 week ago': '1 minggu yang lalu', +'1 year ago': '1 tahun yang lalu', +'< Previous': '< Sebelumnya', +'About': 'Mengenai', +'Add': 'Tambah', +'Admin language': 'Bahasa admin', +'Administrator Password:': 'Kata laluan Administrator:', +'Ajax Recipes': 'Resipi Ajax', +'An error occured, please %s the page': 'Kesilapan telah berlaku, sila %s laman', +'And': 'Dan', +'and rename it:': 'dan menamakan itu:', +'are not used yet': 'tidak digunakan lagi', +'Are you sure you want to delete this object?': 'Apakah anda yakin anda mahu memadam ini?', +'Back': 'Kembali', +'Buy this book': 'Beli buku ini', +'cache, errors and sessions cleaned': 'cache, kesilapan dan sesi dibersihkan', +'Cancel': 'Batal', +'Cannot be empty': 'Tidak boleh kosong', +'Change admin password': 'Tukar kata laluan admin', +'Change password': 'Tukar kata laluan', +'Clean': 'Bersihkan', +'Clear': 'Hapus', +'Clear CACHE?': 'Hapus CACHE?', +'Clear DISK': 'Hapus DISK', +'Clear RAM': 'Hapus RAM', +'Click row to expand traceback': 'Klik baris untuk mengembangkan traceback', +'Close': 'Tutup', +'Community': 'Komuniti', +'Components and Plugins': 'Komponen dan Plugin', +'contains': 'mengandung', +'Copyright': 'Hak Cipta', +'Create': 'Buat', +'create file with filename:': 'mencipta fail dengan nama:', +'created by': 'dicipta oleh', +'currently running': 'sedang berjalan', +'data uploaded': 'data diunggah', +'Delete': 'Hapus', +'Delete this file (you will be asked to confirm deletion)': 'Padam fail ini (anda akan diminta untuk mengesahkan pemadaman)', +'Delete:': 'Hapus:', +'design': 'disain', +'direction: ltr': 'arah: ltr', +'Disk Cleared': 'Disk Dihapuskan', +'Documentation': 'Dokumentasi', +"Don't know what to do?": 'Tidak tahu apa yang perlu dilakukan?', +'done!': 'selesai!', +'Download': 'Unduh', +'Duration': 'Tempoh', +'Email : ': 'Emel : ', +'Email sent': 'Emel dihantar', +'enter a valid email address': 'masukkan alamat emel yang benar', +'enter a valid URL': 'masukkan URL yang benar', +'enter a value': 'masukkan data', +'Error': 'Kesalahan', +'Errors': 'Kesalahan', +'export as csv file': 'eksport sebagai file csv', +'Export:': 'Eksport:', +'File': 'Fail', +'filter': 'menapis', +'First Name': 'Nama Depan', +'Forgot username?': 'Lupa nama pengguna?', +'Free Applications': 'Aplikasi Percuma', +'Gender': 'Jenis Kelamin', +'Group %(group_id)s created': 'Kumpulan %(group_id)s dicipta', +'Group uniquely assigned to user %(id)s': 'Kumpulan unik yang diberikan kepada pengguna %(id)s', +'Groups': 'Kumpulan', +'Hello World': 'Halo Dunia', +'Help': 'Bantuan', +'Home': 'Laman Utama', +'How did you get here?': 'Bagaimana kamu boleh di sini?', +'Image': 'Gambar', +'import': 'import', +'Import/Export': 'Import/Eksport', +'includes': 'termasuk', +'Install': 'Pasang', +'Installation': 'Pemasangan', +'Introduction': 'Pengenalan', +'Invalid email': 'Emel tidak benar', +'Language': 'Bahasa', +'languages': 'bahasa', +'Languages': 'Bahasa', +'Last Name': 'Nama Belakang', +'License for': 'lesen untuk', +'loading...': 'sedang memuat...', +'Logged in': 'Masuk', +'Logged out': 'Keluar', +'Login': 'Masuk', +'Logout': 'Keluar', +'Lost Password': 'Lupa Kata Laluan', +'Lost password?': 'Lupa kata laluan?', +'Maintenance': 'Penyelenggaraan', +'Manage': 'Menguruskan', +'Manage Cache': 'Menguruskan Cache', +'models': 'model', +'Models': 'Model', +'Modules': 'Modul', +'modules': 'modul', +'My Sites': 'Laman Saya', +'New': 'Baru', +'New password': 'Kata laluan baru', +'next 100 rows': '100 baris seterusnya', +'Next >': 'Seterusnya >', +'Next Page': 'Laman Seterusnya', +'No ticket_storage.txt found under /private folder': 'Ticket_storage.txt tidak dijumpai di bawah folder /private', +'not a Zip Code': 'bukan Pos', +'Old password': 'Kata laluan lama', +'Online examples': 'Contoh Online', +'Or': 'Atau', +'or alternatively': 'atau sebagai alternatif', +'Or Get from URL:': 'Atau Dapatkan dari URL:', +'or import from csv file': 'atau import dari file csv', +'Other Plugins': 'Plugin Lain', +'Other Recipes': 'Resipi Lain', +'Overview': 'Tinjauan', +'Pack all': 'Mengemaskan semua', +'Password': 'Kata laluan', +'Password changed': 'Kata laluan berubah', +"Password fields don't match": 'Kata laluan tidak sama', +'please input your password again': 'sila masukan kata laluan anda lagi', +'plugins': 'plugin', +'Plugins': 'Plugin', +'Powered by': 'Disokong oleh', +'Preface': 'Pendahuluan', +'previous 100 rows': '100 baris sebelumnya', +'Previous Page': 'Laman Sebelumnya', +'private files': 'fail peribadi', +'Private files': 'Fail peribadi', +'Profile': 'Profil', +'Profile updated': 'Profil dikemaskini', +'Project Progress': 'Kemajuan Projek', +'Quick Examples': 'Contoh Cepat', +'Ram Cleared': 'Ram Dihapuskan', +'Recipes': 'Resipi', +'Register': 'Daftar', +'Registration successful': 'Pendaftaran berjaya', +'reload': 'memuat kembali', +'Reload routes': 'Memuat laluan kembali', +'Remember me (for 30 days)': 'Ingat saya (selama 30 hari)', +'Request reset password': 'Meminta reset kata laluan', +'Rows selected': 'Baris dipilih', +'Running on %s': 'Berjalan pada %s', +'Save model as...': 'Simpan model sebagai ...', +'Save profile': 'Simpan profil', +'Search': 'Cari', +'Select Files to Package': 'Pilih Fail untuk Pakej', +'Send Email': 'Kirim Emel', +'Size of cache:': 'Saiz cache:', +'Solution': 'Penyelesaian', +'starts with': 'bermula dengan', +'static': 'statik', +'Static': 'Statik', +'Statistics': 'Statistik', +'Support': 'Menyokong', +'test': 'ujian', +'There are no plugins': 'Tiada plugin', +'There are no private files': 'Tiada fail peribadi', +'These files are not served, they are only available from within your app': 'Fail-fail ini tidak disampaikan, mereka hanya boleh didapati dari dalam aplikasi anda', +'These files are served without processing, your images go here': 'Ini fail disampaikan tanpa pemprosesan, imej anda di sini', +'This App': 'App Ini', +'Time in Cache (h:m:s)': 'Waktu di Cache (h: m: s)', +'Title': 'Judul', +'To create a plugin, name a file/folder plugin_[name]': 'Untuk mencipta plugin, nama fail/folder plugin_ [nama]', +'too short': 'terlalu pendek', +'Unable to download because:': 'Tidak dapat memuat turun kerana:', +'unable to parse csv file': 'tidak mampu mengurai file csv', +'update all languages': 'mengemaskini semua bahasa', +'Update:': 'Kemas kini:', +'Upgrade': 'Menaik taraf', +'Upload': 'Unggah', +'Upload a package:': 'Unggah pakej:', +'upload file:': 'unggah fail:', +'upload plugin file:': 'unggah fail plugin:', +'User %(id)s Logged-in': 'Pengguna %(id)s Masuk', +'User %(id)s Logged-out': 'Pengguna %(id)s Keluar', +'User %(id)s Password changed': 'Pengguna %(id)s Kata Laluan berubah', +'User %(id)s Password reset': 'Pengguna %(id)s Kata Laluan telah direset', +'User %(id)s Profile updated': 'Pengguna %(id)s Profil dikemaskini', +'User %(id)s Registered': 'Pengguna %(id)s Didaftarkan', +'value not allowed': 'data tidak benar', +'Verify Password': 'Pengesahan Kata Laluan', +'Version': 'Versi', +'Versioning': 'Pembuatan Sejarah', +'View': 'Lihat', +'Views': 'Lihat', +'views': 'Lihat', +'Web Framework': 'Rangka Kerja Web', +'web2py Recent Tweets': 'Tweet terbaru web2py', +'Website': 'Laman Web', +'Welcome': 'Selamat Datang', +'Welcome to web2py!': 'Selamat Datang di web2py!', +'You are successfully running web2py': 'Anda berjaya menjalankan web2py', +'You can modify this application and adapt it to your needs': 'Anda boleh mengubah suai aplikasi ini dan menyesuaikan dengan keperluan anda', +'You visited the url %s': 'Anda melawat url %s', +} diff --git a/applications/welcome3/languages/nl.py b/applications/welcome3/languages/nl.py new file mode 100644 index 00000000..4b942d52 --- /dev/null +++ b/applications/welcome3/languages/nl.py @@ -0,0 +1,376 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'nl', +'!langname!': 'Nederlands', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN', +'%(nrows)s records found': '%(nrows)s records gevonden', +'%d days ago': '%d dagen geleden', +'%d weeks ago': '%d weken gelden', +'%s %%{row} deleted': '%s rijen verwijderd', +'%s %%{row} updated': '%s rijen geupdate', +'%s selected': '%s geselecteerd', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'(something like "it-it")': '(zoiets als "nl-nl")', +'1 day ago': '1 dag geleden', +'1 week ago': '1 week gelden', +'<': '<', +'<=': '<=', +'=': '=', +'>': '>', +'>=': '>=', +'A new version of web2py is available': 'Een nieuwe versie van web2py is beschikbaar', +'A new version of web2py is available: %s': 'Een nieuwe versie van web2py is beschikbaar: %s', +'About': 'Over', +'about': 'over', +'About application': 'Over applicatie', +'Access Control': 'Toegangscontrole', +'Add': 'Toevoegen', +'additional code for your application': 'additionele code voor je applicatie', +'admin disabled because no admin password': 'admin is uitgezet omdat er geen admin wachtwoord is', +'admin disabled because not supported on google app engine': 'admin is uitgezet omdat dit niet ondersteund wordt op google app engine', +'admin disabled because unable to access password file': 'admin is uitgezet omdat het wachtwoordbestand niet geopend kan worden', +'Admin is disabled because insecure channel': 'Admin is uitgezet om het kanaal onveilig is', +'Admin is disabled because unsecure channel': 'Admin is uitgezet om het kanaal onveilig is', +'Administration': 'Administratie', +'Administrative Interface': 'Administratieve Interface', +'Administrator Password:': 'Administrator Wachtwoord', +'Ajax Recipes': 'Ajax Recepten', +'And': 'En', +'and rename it (required):': 'en hernoem deze (vereist)', +'and rename it:': 'en hernoem:', +'appadmin': 'appadmin', +'appadmin is disabled because insecure channel': 'appadmin is uitgezet vanwege een onveilig kanaal', +'application "%s" uninstalled': 'applicatie "%s" gedeïnstalleerd', +'application compiled': 'applicatie gecompileerd', +'application is compiled and cannot be designed': 'applicatie is gecompileerd en kan niet worden ontworpen', +'Are you sure you want to delete file "%s"?': 'Weet je zeker dat je bestand "%s" wilt verwijderen?', +'Are you sure you want to delete this object?': 'Weet je zeker dat je dit object wilt verwijderen?', +'Are you sure you want to uninstall application "%s"?': 'Weet je zeker dat je applicatie "%s" wilt deïnstalleren?', +'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'LET OP: Login vereist een beveiligde (HTTPS) connectie of moet draaien op localhost.', +'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'LET OP: TESTEN IS NIET THREAD SAFE, PROBEER NIET GELIJKTIJDIG MEERDERE TESTS TE DOEN.', +'ATTENTION: you cannot edit the running application!': 'LET OP: je kan de applicatie die nu draait niet editen!', +'Authentication': 'Authenticatie', +'Available Databases and Tables': 'Beschikbare databases en tabellen', +'Back': 'Terug', +'Buy this book': 'Koop dit boek', +'Cache': 'Cache', +'cache': 'cache', +'Cache Keys': 'Cache Keys', +'cache, errors and sessions cleaned': 'cache, errors en sessies geleegd', +'Cannot be empty': 'Mag niet leeg zijn', +'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Kan niet compileren: er bevinden zich fouten in je app. Debug, corrigeer de fouten en probeer opnieuw.', +'cannot create file': 'kan bestand niet maken', +'cannot upload file "%(filename)s"': 'kan bestand "%(filename)s" niet uploaden', +'Change Password': 'Wijzig wachtwoord', +'Change password': 'Wijzig Wachtwoord', +'change password': 'wijzig wachtwoord', +'check all': 'vink alles aan', +'Check to delete': 'Vink aan om te verwijderen', +'clean': 'leeg', +'Clear': 'Leeg', +'Clear CACHE?': 'Leeg CACHE?', +'Clear DISK': 'Leeg DISK', +'Clear RAM': 'Clear RAM', +'click to check for upgrades': 'Klik om voor upgrades te controleren', +'Client IP': 'Client IP', +'Community': 'Community', +'compile': 'compileren', +'compiled application removed': 'gecompileerde applicatie verwijderd', +'Components and Plugins': 'Components en Plugins', +'contains': 'bevat', +'Controller': 'Controller', +'Controllers': 'Controllers', +'controllers': 'controllers', +'Copyright': 'Copyright', +'create file with filename:': 'maak bestand met de naam:', +'Create new application': 'Maak nieuwe applicatie:', +'create new application:': 'maak nieuwe applicatie', +'Created By': 'Gemaakt Door', +'Created On': 'Gemaakt Op', +'crontab': 'crontab', +'Current request': 'Huidige request', +'Current response': 'Huidige response', +'Current session': 'Huidige sessie', +'currently saved or': 'op het moment opgeslagen of', +'customize me!': 'pas me aan!', +'data uploaded': 'data geupload', +'Database': 'Database', +'Database %s select': 'Database %s select', +'database administration': 'database administratie', +'Date and Time': 'Datum en Tijd', +'db': 'db', +'DB Model': 'DB Model', +'defines tables': 'definieer tabellen', +'Delete': 'Verwijder', +'delete': 'verwijder', +'delete all checked': 'verwijder alle aangevinkten', +'Delete:': 'Verwijder:', +'Demo': 'Demo', +'Deploy on Google App Engine': 'Deploy op Google App Engine', +'Deployment Recipes': 'Deployment Recepten', +'Description': 'Beschrijving', +'design': 'design', +'DESIGN': 'DESIGN', +'Design for': 'Design voor', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Geleegd', +'Documentation': 'Documentatie', +"Don't know what to do?": 'Weet je niet wat je moet doen?', +'done!': 'gereed!', +'Download': 'Download', +'E-mail': 'E-mail', +'E-mail invalid': 'E-mail ongeldig', +'edit': 'bewerk', +'EDIT': 'BEWERK', +'Edit': 'Bewerk', +'Edit application': 'Bewerk applicatie', +'edit controller': 'bewerk controller', +'Edit current record': 'Bewerk huidig record', +'Edit Profile': 'Bewerk Profiel', +'edit profile': 'bewerk profiel', +'Edit This App': 'Bewerk Deze App', +'Editing file': 'Bewerk bestand', +'Editing file "%s"': 'Bewerk bestand "%s"', +'Email and SMS': 'E-mail en SMS', +'enter a number between %(min)g and %(max)g': 'geef een getal tussen %(min)g en %(max)g', +'enter an integer between %(min)g and %(max)g': 'geef een integer tussen %(min)g en %(max)g', +'Error logs for "%(app)s"': 'Error logs voor "%(app)s"', +'errors': 'errors', +'Errors': 'Errors', +'Export': 'Export', +'export as csv file': 'exporteer als csv-bestand', +'exposes': 'stelt bloot', +'extends': 'extends', +'failed to reload module': 'niet gelukt om module te herladen', +'False': 'Onwaar', +'FAQ': 'FAQ', +'file "%(filename)s" created': 'bestand "%(filename)s" gemaakt', +'file "%(filename)s" deleted': 'bestand "%(filename)s" verwijderd', +'file "%(filename)s" uploaded': 'bestand "%(filename)s" geupload', +'file "%(filename)s" was not deleted': 'bestand "%(filename)s" was niet verwijderd', +'file "%s" of %s restored': 'bestand "%s" van %s hersteld', +'file changed on disk': 'bestand aangepast op schijf', +'file does not exist': 'bestand bestaat niet', +'file saved on %(time)s': 'bestand bewaard op %(time)s', +'file saved on %s': 'bestand bewaard op %s', +'First name': 'Voornaam', +'Forbidden': 'Verboden', +'Forms and Validators': 'Formulieren en Validators', +'Free Applications': 'Gratis Applicaties', +'Functions with no doctests will result in [passed] tests.': 'Functies zonder doctests zullen resulteren in [passed] tests.', +'Group %(group_id)s created': 'Groep %(group_id)s gemaakt', +'Group ID': 'Groep ID', +'Group uniquely assigned to user %(id)s': 'Groep is uniek toegekend aan gebruiker %(id)s', +'Groups': 'Groepen', +'Hello World': 'Hallo Wereld', +'help': 'help', +'Home': 'Home', +'How did you get here?': 'Hoe ben je hier gekomen?', +'htmledit': 'Bewerk HTML', +'import': 'import', +'Import/Export': 'Import/Export', +'includes': 'includes', +'Index': 'Index', +'insert new': 'voeg nieuwe', +'insert new %s': 'voeg nieuwe %s', +'Installed applications': 'Geïnstalleerde applicaties', +'internal error': 'interne error', +'Internal State': 'Interne State', +'Introduction': 'Introductie', +'Invalid action': 'Ongeldige actie', +'Invalid email': 'Ongeldig emailadres', +'invalid password': 'ongeldig wachtwoord', +'Invalid password': 'Ongeldig wachtwoord', +'Invalid Query': 'Ongeldige Query', +'invalid request': 'ongeldige request', +'invalid ticket': 'ongeldige ticket', +'Is Active': 'Is Actief', +'Key': 'Key', +'language file "%(filename)s" created/updated': 'taalbestand "%(filename)s" gemaakt/geupdate', +'Language files (static strings) updated': 'Taalbestanden (statische strings) geupdate', +'languages': 'talen', +'Languages': 'Talen', +'languages updated': 'talen geupdate', +'Last name': 'Achternaam', +'Last saved on:': 'Laatst bewaard op:', +'Layout': 'Layout', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'License for': 'Licentie voor', +'Live Chat': 'Live Chat', +'loading...': 'laden...', +'Logged in': 'Ingelogd', +'Logged out': 'Uitgelogd', +'Login': 'Login', +'login': 'login', +'Login to the Administrative Interface': 'Inloggen op de Administratieve Interface', +'logout': 'logout', +'Logout': 'Logout', +'Lost Password': 'Wachtwoord Kwijt', +'Lost password?': 'Wachtwoord kwijt?', +'Main Menu': 'Hoofdmenu', +'Manage Cache': 'Beheer Cache', +'Menu Model': 'Menu Model', +'merge': 'samenvoegen', +'Models': 'Modellen', +'models': 'modellen', +'Modified By': 'Aangepast Door', +'Modified On': 'Aangepast Op', +'Modules': 'Modules', +'modules': 'modules', +'My Sites': 'Mijn Sites', +'Name': 'Naam', +'New': 'Nieuw', +'new application "%s" created': 'nieuwe applicatie "%s" gemaakt', +'New password': 'Nieuw wachtwoord', +'New Record': 'Nieuw Record', +'new record inserted': 'nieuw record ingevoegd', +'next 100 rows': 'volgende 100 rijen', +'NO': 'NEE', +'No databases in this application': 'Geen database in deze applicatie', +'Object or table name': 'Object of tabelnaam', +'Old password': 'Oude wachtwoord', +'Online examples': 'Online voorbeelden', +'Or': 'Of', +'or import from csv file': 'of importeer van csv-bestand', +'or provide application url:': 'of geef een applicatie url:', +'Origin': 'Bron', +'Original/Translation': 'Oorspronkelijk/Vertaling', +'Other Plugins': 'Andere Plugins', +'Other Recipes': 'Andere Recepten', +'Overview': 'Overzicht', +'pack all': 'pack all', +'pack compiled': 'pack compiled', +'Password': 'Wachtwoord', +"Password fields don't match": 'Wachtwoordvelden komen niet overeen', +'Peeking at file': 'Naar bestand aan het gluren', +'please input your password again': 'geef alstublieft nogmaals uw wachtwoord', +'Plugins': 'Plugins', +'Powered by': 'Powered by', +'Preface': 'Inleiding', +'previous 100 rows': 'vorige 100 rijen', +'Profile': 'Profiel', +'Python': 'Python', +'Query': 'Query', +'Query:': 'Query:', +'Quick Examples': 'Snelle Voorbeelden', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Geleegd', +'Recipes': 'Recepten', +'Record': 'Record', +'record does not exist': 'record bestaat niet', +'Record ID': 'Record ID', +'Record id': 'Record id', +'register': 'registreer', +'Register': 'Registreer', +'Registration identifier': 'Registratie identifier', +'Registration key': 'Registratie sleutel', +'Registration successful': 'Registratie succesvol', +'Remember me (for 30 days)': 'Onthoudt mij (voor 30 dagen)', +'remove compiled': 'verwijder gecompileerde', +'Request reset password': 'Vraag een wachtwoord reset aan', +'Reset Password key': 'Reset Wachtwoord sleutel', +'Resolve Conflict file': 'Los Conflictbestand op', +'restore': 'herstel', +'revert': 'herstel', +'Role': 'Rol', +'Rows in Table': 'Rijen in tabel', +'Rows selected': 'Rijen geselecteerd', +'save': 'bewaar', +'Save profile': 'Bewaar profiel', +'Saved file hash:': 'Opgeslagen file hash:', +'Search': 'Zoek', +'Semantic': 'Semantisch', +'Services': 'Services', +'session expired': 'sessie verlopen', +'shell': 'shell', +'site': 'site', +'Size of cache:': 'Grootte van cache:', +'some files could not be removed': 'sommige bestanden konden niet worden verwijderd', +'starts with': 'begint met', +'state': 'state', +'static': 'statisch', +'Static files': 'Statische bestanden', +'Statistics': 'Statistieken', +'Stylesheet': 'Stylesheet', +'Submit': 'Submit', +'submit': 'submit', +'Support': 'Support', +'Sure you want to delete this object?': 'Weet je zeker dat je dit object wilt verwijderen?', +'Table': 'Tabel', +'Table name': 'Tabelnaam', +'test': 'test', +'Testing application': 'Applicatie testen', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'De "query" is een conditie zoals "db.tabel1.veld1==\'waarde\'". Zoiets als "db.tabel1.veld1==db.tabel2.veld2" resulteert in een SQL JOIN.', +'the application logic, each URL path is mapped in one exposed function in the controller': 'the applicatie logica, elk URL pad is gemapped in een blootgestelde functie in de controller', +'The Core': 'De Core', +'the data representation, define database tables and sets': 'de data representatie, definieert database tabellen en sets', +'The output of the file is a dictionary that was rendered by the view %s': 'De output van het bestand is een dictionary die gerenderd werd door de view %s', +'the presentations layer, views are also known as templates': 'de presentatie laag, views zijn ook bekend als templates', +'The Views': 'De Views', +'There are no controllers': 'Er zijn geen controllers', +'There are no models': 'Er zijn geen modellen', +'There are no modules': 'Er zijn geen modules', +'There are no static files': 'Er zijn geen statische bestanden', +'There are no translators, only default language is supported': 'Er zijn geen vertalingen, alleen de standaard taal wordt ondersteund.', +'There are no views': 'Er zijn geen views', +'these files are served without processing, your images go here': 'Deze bestanden worden geserveerd zonder verdere verwerking, je afbeeldingen horen hier', +'This App': 'Deze App', +'This is a copy of the scaffolding application': 'Dit is een kopie van de steiger-applicatie', +'This is the %(filename)s template': 'Dit is de %(filename)s template', +'Ticket': 'Ticket', +'Time in Cache (h:m:s)': 'Tijd in Cache (h:m:s)', +'Timestamp': 'Timestamp (timestamp)', +'to previous version.': 'naar vorige versie.', +'too short': 'te kort', +'translation strings for the application': 'vertaalstrings voor de applicatie', +'True': 'Waar', +'try': 'probeer', +'try something like': 'probeer zoiets als', +'Twitter': 'Twitter', +'Unable to check for upgrades': 'Niet mogelijk om te controleren voor upgrades', +'unable to create application "%s"': 'niet mogelijk om applicatie "%s" te maken', +'unable to delete file "%(filename)s"': 'niet mogelijk om bestand "%(filename)s" te verwijderen', +'Unable to download': 'Niet mogelijk om te downloaden', +'Unable to download app': 'Niet mogelijk om app te downloaden', +'unable to parse csv file': 'niet mogelijk om csv-bestand te parsen', +'unable to uninstall "%s"': 'niet mogelijk om "%s" te deïnstalleren', +'uncheck all': 'vink alles uit', +'uninstall': ' deïnstalleer', +'update': 'update', +'update all languages': 'update alle talen', +'Update:': 'Update:', +'upload application:': 'upload applicatie:', +'Upload existing application': 'Upload bestaande applicatie', +'upload file:': 'upload bestand', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Gebruik (...)&(...) voor AND, (...)|(...) voor OR, en ~(...) voor NOT om meer complexe queries te maken.', +'User %(id)s Logged-in': 'Gebruiker %(id)s Logged-in', +'User %(id)s Logged-out': 'Gebruiker %(id)s Logged-out', +'User %(id)s Password changed': 'Wachtwoord van gebruiker %(id)s is veranderd', +'User %(id)s Password reset': 'Wachtwoord van gebruiker %(id)s is gereset', +'User %(id)s Profile updated': 'Profiel van Gebruiker %(id)s geupdate', +'User %(id)s Registered': 'Gebruiker %(id)s Geregistreerd', +'User ID': 'User ID', +'value already in database or empty': 'waarde al in database of leeg', +'Verify Password': 'Verifieer Wachtwoord', +'versioning': 'versionering', +'Videos': 'Videos', +'View': 'View', +'view': 'view', +'Views': 'Vieuws', +'views': 'vieuws', +'web2py is up to date': 'web2py is up to date', +'web2py Recent Tweets': 'web2py Recente Tweets', +'Welcome': 'Welkom', +'Welcome %s': 'Welkom %s', +'Welcome to web2py': 'Welkom bij web2py', +'Welcome to web2py!': 'Welkom bij web2py!', +'Which called the function %s located in the file %s': 'Die functie %s aanriep en zich bevindt in het bestand %s', +'YES': 'JA', +'You are successfully running web2py': 'Je draait web2py succesvol', +'You can modify this application and adapt it to your needs': 'Je kan deze applicatie aanpassen naar je eigen behoeften', +'You visited the url %s': 'Je bezocht de url %s', +} diff --git a/applications/welcome3/languages/pl.py b/applications/welcome3/languages/pl.py new file mode 100644 index 00000000..fa0f3c96 --- /dev/null +++ b/applications/welcome3/languages/pl.py @@ -0,0 +1,171 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'pl', +'!langname!': 'Polska', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Uaktualnij" jest dodatkowym wyrażeniem postaci "pole1=\'nowawartość\'". Nie możesz uaktualnić lub usunąć wyników z JOIN:', +'%s %%{row} deleted': 'Wierszy usuniętych: %s', +'%s %%{row} updated': 'Wierszy uaktualnionych: %s', +'%s selected': '%s wybranych', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'About': 'About', +'Access Control': 'Access Control', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': 'Kliknij aby przejść do panelu administracyjnego', +'Ajax Recipes': 'Ajax Recipes', +'appadmin is disabled because insecure channel': 'administracja aplikacji wyłączona z powodu braku bezpiecznego połączenia', +'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', +'Authentication': 'Uwierzytelnienie', +'Available Databases and Tables': 'Dostępne bazy danych i tabele', +'Buy this book': 'Buy this book', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': 'Nie może być puste', +'Change Password': 'Zmień hasło', +'change password': 'change password', +'Check to delete': 'Zaznacz aby usunąć', +'Check to delete:': 'Zaznacz aby usunąć:', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Client IP': 'IP klienta', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': 'Kontroler', +'Copyright': 'Copyright', +'Current request': 'Aktualne żądanie', +'Current response': 'Aktualna odpowiedź', +'Current session': 'Aktualna sesja', +'customize me!': 'dostosuj mnie!', +'data uploaded': 'dane wysłane', +'Database': 'baza danych', +'Database %s select': 'wybór z bazy danych %s', +'db': 'baza danych', +'DB Model': 'Model bazy danych', +'Delete:': 'Usuń:', +'Demo': 'Demo', +'Deployment Recipes': 'Deployment Recipes', +'Description': 'Opis', +'design': 'projektuj', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': 'zrobione!', +'Download': 'Download', +'E-mail': 'Adres e-mail', +'Edit': 'Edycja', +'Edit current record': 'Edytuj obecny rekord', +'edit profile': 'edit profile', +'Edit Profile': 'Edytuj profil', +'Edit This App': 'Edytuj tę aplikację', +'Email and SMS': 'Email and SMS', +'Errors': 'Errors', +'export as csv file': 'eksportuj jako plik csv', +'FAQ': 'FAQ', +'First name': 'Imię', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Function disabled': 'Funkcja wyłączona', +'Group ID': 'ID grupy', +'Groups': 'Groups', +'Hello World': 'Witaj Świecie', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': 'Importuj/eksportuj', +'Index': 'Indeks', +'insert new': 'wstaw nowy rekord tabeli', +'insert new %s': 'wstaw nowy rekord do tabeli %s', +'Internal State': 'Stan wewnętrzny', +'Introduction': 'Introduction', +'Invalid email': 'Błędny adres email', +'Invalid Query': 'Błędne zapytanie', +'invalid request': 'Błędne żądanie', +'Key': 'Key', +'Last name': 'Nazwisko', +'Layout': 'Układ', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'login': 'login', +'Login': 'Zaloguj', +'logout': 'logout', +'Logout': 'Wyloguj', +'Lost Password': 'Przypomnij hasło', +'Main Menu': 'Menu główne', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Model menu', +'My Sites': 'My Sites', +'Name': 'Nazwa', +'New Record': 'Nowy rekord', +'new record inserted': 'nowy rekord został wstawiony', +'next 100 rows': 'następne 100 wierszy', +'No databases in this application': 'Brak baz danych w tej aplikacji', +'Online examples': 'Kliknij aby przejść do interaktywnych przykładów', +'or import from csv file': 'lub zaimportuj z pliku csv', +'Origin': 'Źródło', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Password': 'Hasło', +"Password fields don't match": 'Pola hasła nie są zgodne ze sobą', +'Plugins': 'Plugins', +'Powered by': 'Zasilane przez', +'Preface': 'Preface', +'previous 100 rows': 'poprzednie 100 wierszy', +'Python': 'Python', +'Query:': 'Zapytanie:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': 'rekord', +'record does not exist': 'rekord nie istnieje', +'Record ID': 'ID rekordu', +'Record id': 'id rekordu', +'Register': 'Zarejestruj', +'register': 'register', +'Registration key': 'Klucz rejestracji', +'Role': 'Rola', +'Rows in Table': 'Wiersze w tabeli', +'Rows selected': 'Wybrane wiersze', +'Semantic': 'Semantic', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': 'stan', +'Statistics': 'Statistics', +'Stylesheet': 'Arkusz stylów', +'submit': 'submit', +'Submit': 'Wyślij', +'Support': 'Support', +'Sure you want to delete this object?': 'Czy na pewno chcesz usunąć ten obiekt?', +'Table': 'tabela', +'Table name': 'Nazwa tabeli', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Zapytanie" jest warunkiem postaci "db.tabela1.pole1==\'wartość\'". Takie coś jak "db.tabela1.pole1==db.tabela2.pole2" oznacza SQL JOIN.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': 'The Views', +'This App': 'This App', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': 'Znacznik czasu', +'Twitter': 'Twitter', +'unable to parse csv file': 'nie można sparsować pliku csv', +'Update:': 'Uaktualnij:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Użyj (...)&(...) jako AND, (...)|(...) jako OR oraz ~(...) jako NOT do tworzenia bardziej skomplikowanych zapytań.', +'User %(id)s Registered': 'Użytkownik %(id)s został zarejestrowany', +'User ID': 'ID użytkownika', +'Verify Password': 'Potwierdź hasło', +'Videos': 'Videos', +'View': 'Widok', +'Welcome %s': 'Welcome %s', +'Welcome to web2py': 'Witaj w web2py', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'You are successfully running web2py': 'You are successfully running web2py', +'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/languages/plural-cs.py b/applications/welcome3/languages/plural-cs.py new file mode 100644 index 00000000..a58226bf --- /dev/null +++ b/applications/welcome3/languages/plural-cs.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +{ +# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...], +'vteřina': ['vteřiny', 'vteřin'], +'vteřinou': ['vteřinami', 'vteřinami'], +'minuta': ['minuty', 'minut'], +'minutou': ['minutami', 'minutami'], +'hodina': ['hodiny','hodin'], +'hodinou': ['hodinami','hodinami'], +'den': ['dny','dnů'], +'dnem': ['dny','dny'], +'týden': ['týdny','týdnů'], +'týdnem': ['týdny','týdny'], +'měsíc': ['měsíce','měsíců'], +'měsícem': ['měsíci','měsíci'], +'rok': ['roky','let'], +'rokem': ['roky','lety'], +'záznam': ['záznamy', 'záznamů'], +'soubor': ['soubory', 'souborů'] +} diff --git a/applications/welcome3/languages/plural-en.py b/applications/welcome3/languages/plural-en.py new file mode 100644 index 00000000..fecf98ea --- /dev/null +++ b/applications/welcome3/languages/plural-en.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +{ +# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...], +'account': ['accounts'], +'book': ['books'], +'is': ['are'], +'man': ['men'], +'miss': ['misses'], +'person': ['people'], +'quark': ['quarks'], +'shop': ['shops'], +'this': ['these'], +'was': ['were'], +'woman': ['women'], +} diff --git a/applications/welcome3/languages/plural-es.py b/applications/welcome3/languages/plural-es.py new file mode 100644 index 00000000..5e3c9e16 --- /dev/null +++ b/applications/welcome3/languages/plural-es.py @@ -0,0 +1,8 @@ +# coding: utf-8 +{ +# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...], +'fila': ['filas'], +'eliminada': ['eliminadas'], +'actualizada': ['actualizadas'], +'seleccionado': ['seleccionados'], +} diff --git a/applications/welcome3/languages/plural-ru.py b/applications/welcome3/languages/plural-ru.py new file mode 100644 index 00000000..61499183 --- /dev/null +++ b/applications/welcome3/languages/plural-ru.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +{ +# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...], +'выбрана': ['выбраны','выбрано'], +'запись': ['записи','записей'], +'изменена': ['изменены','изменено'], +'строка': ['строки','строк'], +'удалена': ['удалены','удалено'], +'день': ['дня', 'дней'], +'месяц': ['месяца','месяцев'], +'неделю': ['недели','недель'], +'год': ['года','лет'], +'час': ['часа','часов'], +'минуту': ['минуты','минут'], +'секунду': ['секунды','секунд'], +} diff --git a/applications/welcome3/languages/plural-uk.py b/applications/welcome3/languages/plural-uk.py new file mode 100644 index 00000000..c07ebda4 --- /dev/null +++ b/applications/welcome3/languages/plural-uk.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python +{ +# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...], +'байт': ['байти','байтів'], +'годину': ['години','годин'], +'день': ['дні','днів'], +'елемент': ['елементи','елементів'], +'запис': ['записи','записів'], +'місяць': ['місяці','місяців'], +'поцілювання': ['поцілювання','поцілювань'], +'рядок': ['рядки','рядків'], +'рік': ['роки','років'], +'секунду': ['секунди','секунд'], +'схибнення': ['схибнення','схибнень'], +'тиждень': ['тижні','тижнів'], +'хвилину': ['хвилини','хвилин'], +} diff --git a/applications/welcome3/languages/pt-br.py b/applications/welcome3/languages/pt-br.py new file mode 100644 index 00000000..15280adc --- /dev/null +++ b/applications/welcome3/languages/pt-br.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'pt-br', +'!langname!': 'Português (do Brasil)', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" é uma expressão opcional como "campo1=\'novovalor\'". Você não pode atualizar ou apagar os resultados de um JOIN', +'%s %%{row} deleted': '%s linhas apagadas', +'%s %%{row} updated': '%s linhas atualizadas', +'%s selected': '%s selecionado', +'%Y-%m-%d': '%d-%m-%Y', +'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S', +'About': 'Sobre', +'Access Control': 'Controle de Acesso', +'Administrative Interface': 'Interface Administrativa', +'@markmin\x01An error occured, please [[reload %s]] the page': 'Ocorreu um erro, por favor [[reload %s]] a página', +'Administrative interface': 'Interface administrativa', +'Ajax Recipes': 'Receitas de Ajax', +'appadmin is disabled because insecure channel': 'Administração desativada porque o canal não é seguro', +'Are you sure you want to delete this object?': 'Você está certo que deseja apagar este objeto?', +'Available Databases and Tables': 'Bancos de dados e tabelas disponíveis', +'Buy this book': 'Compre o livro', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Chaves de cache', +'Cannot be empty': 'Não pode ser vazio', +'change password': 'modificar senha', +'Check to delete': 'Marque para apagar', +'Clear CACHE?': 'Limpar CACHE?', +'Clear DISK': 'Limpar DISCO', +'Clear RAM': 'Limpar memória RAM', +'Client IP': 'IP do cliente', +'Community': 'Comunidade', +'Components and Plugins': 'Componentes e Plugins', +'Controller': 'Controlador', +'Copyright': 'Copyright', +'Current request': 'Requisição atual', +'Current response': 'Resposta atual', +'Current session': 'Sessão atual', +'customize me!': 'Personalize-me!', +'data uploaded': 'dados enviados', +'Database': 'banco de dados', +'Database %s select': 'Selecionar banco de dados %s', +'db': 'bd', +'DB Model': 'Modelo BD', +'Delete:': 'Apagar:', +'Demo': 'Demo', +'Deployment Recipes': 'Receitas de deploy', +'Description': 'Descrição', +'design': 'projeto', +'DISK': 'DISK', +'Disk Cache Keys': 'Chaves do Cache de Disco', +'Disk Cleared': 'Disco Limpo', +'Documentation': 'Documentação', +"Don't know what to do?": "Não sabe o que fazer?", +'done!': 'concluído!', +'Download': 'Download', +'E-mail': 'E-mail', +'Edit': 'Editar', +'Edit current record': 'Editar o registro atual', +'edit profile': 'editar perfil', +'Edit This App': 'Editar esta aplicação', +'Email and SMS': 'Email e SMS', +'Errors': 'Erros', +'Enter an integer between %(min)g and %(max)g': 'Informe um valor inteiro entre %(min)g e %(max)g', +'export as csv file': 'exportar como um arquivo csv', +'FAQ': 'Perguntas frequentes', +'First name': 'Nome', +'Forms and Validators': 'Formulários e Validadores', +'Free Applications': 'Aplicações gratuitas', +'Group ID': 'ID do Grupo', +'Groups': 'Grupos', +'Hello World': 'Olá Mundo', +'Home': 'Principal', +'How did you get here?': 'Como você chegou aqui?', +'import': 'importar', +'Import/Export': 'Importar/Exportar', +'Index': 'Início', +'insert new': 'inserir novo', +'insert new %s': 'inserir novo %s', +'Internal State': 'Estado Interno', +'Introduction': 'Introdução', +'Invalid email': 'Email inválido', +'Invalid Query': 'Consulta Inválida', +'invalid request': 'requisição inválida', +'Key': 'Chave', +'Last name': 'Sobrenome', +'Layout': 'Layout', +'Layout Plugins': 'Plugins de Layout', +'Layouts': 'Layouts', +'Live chat': 'Chat ao vivo', +'Live Chat': 'Chat ao vivo', +'login': 'Entrar', +'Login': 'Autentique-se', +'logout': 'Sair', +'Lost Password': 'Esqueceu sua senha?', +'lost password?': 'esqueceu sua senha?', +'Main Menu': 'Menu Principal', +'Manage Cache': 'Gerenciar Cache', +'Menu Model': 'Modelo de Menu', +'My Sites': 'Meus sites', +'Name': 'Nome', +'New Record': 'Novo Registro', +'new record inserted': 'novo registro inserido', +'next 100 rows': 'próximas 100 linhas', +'No databases in this application': 'Não há bancos de dados nesta aplicação', +'Object or table name': 'Nome do objeto do da tabela', +'Online examples': 'Exemplos online', +'or import from csv file': 'ou importar de um arquivo csv', +'Origin': 'Origem', +'Other Plugins': 'Outros Plugins', +'Other Recipes': 'Outras Receitas', +'Overview': 'Visão Geral', +'Password': 'Senha', +'Plugins': 'Plugins', +'Powered by': 'Desenvolvido com', +'Preface': 'Prefácio', +'previous 100 rows': '100 linhas anteriores', +'Python': 'Python', +'Query:': 'Consulta:', +'Quick Examples': 'Exemplos rápidos', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Receitas', +'Record': 'Registro', +'record does not exist': 'registro não existe', +'Record ID': 'ID do Registro', +'Record id': 'id do registro', +'Register': 'Registre-se', +'register': 'Registre-se', +'Registration key': 'Chave de registro', +'Reset Password key': 'Resetar chave de senha', +'Resources': 'Recursos', +'Role': 'Papel', +'Registration identifier': 'Idenficador de registro', +'Rows in Table': 'Linhas na tabela', +'Rows selected': 'Linhas selecionadas', +'Semantic': 'Semântico', +'Services': 'Serviço', +'Size of cache:': 'Tamanho do cache:', +'state': 'estado', +'Statistics': 'Estatísticas', +'Stylesheet': 'Folha de estilo', +'submit': 'enviar', +'Support': 'Suporte', +'Sure you want to delete this object?': 'Está certo(a) que deseja apagar este objeto?', +'Table': 'Tabela', +'Table name': 'Nome da tabela', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'Uma "consulta" é uma condição como "db.tabela1.campo1==\'valor\'". Expressões como "db.tabela1.campo1==db.tabela2.campo2" resultam em um JOIN SQL.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'A saída do arquivo é um dicionário que foi apresentado pela visão %s', +'The Views': 'As views', +'This App': 'Esta aplicação', +'This email already has an account': 'Este email já tem uma conta', +'This is a copy of the scaffolding application': 'Isto é uma cópia da aplicação modelo', +'Time in Cache (h:m:s)': 'Tempo em Cache (h:m:s)', +'Timestamp': 'Timestamp', +'Twitter': 'Twitter', +'unable to parse csv file': 'não foi possível analisar arquivo csv', +'Update:': 'Atualizar:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, e ~(...) para NOT para construir consultas mais complexas.', +'User ID': 'ID do Usuário', +'User Voice': 'Opinião dos usuários', +'Videos': 'Vídeos', +'View': 'Visualização', +'Web2py': 'Web2py', +'Welcome': 'Bem-vindo', +'Welcome %s': 'Bem-vindo %s', +'Welcome to web2py': 'Bem-vindo ao web2py', +'Welcome to web2py!': 'Bem-vindo ao web2py!', +'Which called the function %s located in the file %s': 'Que chamou a função %s localizada no arquivo %s', +'You are successfully running web2py': 'Você está executando o web2py com sucesso', +'You are successfully running web2py.': 'Você está executando o web2py com sucesso.', +'You can modify this application and adapt it to your needs': 'Você pode modificar esta aplicação e adaptá-la às suas necessidades', +'You visited the url %s': 'Você acessou a url %s', +'Working...': 'Trabalhando...', +} diff --git a/applications/welcome3/languages/pt.py b/applications/welcome3/languages/pt.py new file mode 100644 index 00000000..c34aee8a --- /dev/null +++ b/applications/welcome3/languages/pt.py @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'pt', +'!langname!': 'Português', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" é uma expressão opcional como "field1=\'newvalue\'". Não pode actualizar ou eliminar os resultados de um JOIN', +'%s %%{row} deleted': '%s linhas eliminadas', +'%s %%{row} updated': '%s linhas actualizadas', +'%s selected': '%s seleccionado(s)', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'About': 'About', +'Access Control': 'Access Control', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': 'Painel administrativo', +'Ajax Recipes': 'Ajax Recipes', +'appadmin is disabled because insecure channel': 'appadmin está desactivada pois o canal é inseguro', +'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', +'Author Reference Auth User': 'Author Reference Auth User', +'Author Reference Auth User.username': 'Author Reference Auth User.username', +'Available Databases and Tables': 'bases de dados e tabelas disponíveis', +'Buy this book': 'Buy this book', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': 'não pode ser vazio', +'Category Create': 'Category Create', +'Category Select': 'Category Select', +'change password': 'alterar palavra-chave', +'Check to delete': 'seleccione para eliminar', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Comment Create': 'Comment Create', +'Comment Select': 'Comment Select', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Content': 'Content', +'Controller': 'Controlador', +'Copyright': 'Direitos de cópia', +'create new category': 'create new category', +'create new comment': 'create new comment', +'create new post': 'create new post', +'Created By': 'Created By', +'Created On': 'Created On', +'Current request': 'pedido currente', +'Current response': 'resposta currente', +'Current session': 'sessão currente', +'customize me!': 'Personaliza-me!', +'data uploaded': 'informação enviada', +'Database': 'base de dados', +'Database %s select': 'selecção de base de dados %s', +'db': 'bd', +'DB Model': 'Modelo de BD', +'Delete:': 'Eliminar:', +'Demo': 'Demo', +'Deployment Recipes': 'Deployment Recipes', +'design': 'design', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': 'concluído!', +'Download': 'Download', +'Edit': 'Editar', +'edit category': 'edit category', +'edit comment': 'edit comment', +'Edit current record': 'Edição de registo currente', +'edit post': 'edit post', +'edit profile': 'Editar perfil', +'Edit This App': 'Edite esta aplicação', +'Email': 'Email', +'Email and SMS': 'Email and SMS', +'Errors': 'Errors', +'export as csv file': 'exportar como ficheiro csv', +'FAQ': 'FAQ', +'First Name': 'First Name', +'For %s #%s': 'For %s #%s', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Groups': 'Groups', +'Hello World': 'Olá Mundo', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': 'Importar/Exportar', +'Index': 'Índice', +'insert new': 'inserir novo', +'insert new %s': 'inserir novo %s', +'Internal State': 'Estado interno', +'Introduction': 'Introduction', +'Invalid Query': 'Consulta Inválida', +'invalid request': 'Pedido Inválido', +'Key': 'Key', +'Last Name': 'Last Name', +'Layout': 'Esboço', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'login': 'login', +'logout': 'logout', +'Lost Password': 'Lost Password', +'Main Menu': 'Menu Principal', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Menu do Modelo', +'Modified By': 'Modified By', +'Modified On': 'Modified On', +'My Sites': 'My Sites', +'Name': 'Name', +'New Record': 'Novo Registo', +'new record inserted': 'novo registo inserido', +'next 100 rows': 'próximas 100 linhas', +'No Data': 'No Data', +'No databases in this application': 'Não há bases de dados nesta aplicação', +'Online examples': 'Exemplos online', +'or import from csv file': 'ou importe a partir de ficheiro csv', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Password': 'Password', +'Plugins': 'Plugins', +'Post Create': 'Post Create', +'Post Select': 'Post Select', +'Powered by': 'Suportado por', +'Preface': 'Preface', +'previous 100 rows': '100 linhas anteriores', +'Python': 'Python', +'Query:': 'Interrogação:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': 'registo', +'record does not exist': 'registo inexistente', +'Record id': 'id de registo', +'Register': 'Register', +'register': 'register', +'Replyto Reference Post': 'Replyto Reference Post', +'Rows in Table': 'Linhas numa tabela', +'Rows selected': 'Linhas seleccionadas', +'search category': 'search category', +'search comment': 'search comment', +'search post': 'search post', +'select category': 'select category', +'select comment': 'select comment', +'select post': 'select post', +'Semantic': 'Semantic', +'Services': 'Services', +'show category': 'show category', +'show comment': 'show comment', +'show post': 'show post', +'Size of cache:': 'Size of cache:', +'state': 'estado', +'Statistics': 'Statistics', +'Stylesheet': 'Folha de estilo', +'submit': 'submit', +'Support': 'Support', +'Sure you want to delete this object?': 'Tem a certeza que deseja eliminar este objecto?', +'Table': 'tabela', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'A "query" é uma condição do tipo "db.table1.field1==\'value\'". Algo como "db.table1.field1==db.table2.field2" resultaria num SQL JOIN.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': 'The Views', +'This App': 'This App', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Title': 'Title', +'Twitter': 'Twitter', +'unable to parse csv file': 'não foi possível carregar ficheiro csv', +'Update:': 'Actualização:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Utilize (...)&(...) para AND, (...)|(...) para OR, e ~(...) para NOT para construir interrogações mais complexas.', +'Username': 'Username', +'Videos': 'Videos', +'View': 'Vista', +'Welcome %s': 'Bem-vindo(a) %s', +'Welcome to Gluonization': 'Bem vindo ao Web2py', +'Welcome to web2py': 'Bem-vindo(a) ao web2py', +'Welcome to web2py!': 'Welcome to web2py!', +'When': 'When', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'You are successfully running web2py': 'You are successfully running web2py', +'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/languages/ro.py b/applications/welcome3/languages/ro.py new file mode 100644 index 00000000..63c9741b --- /dev/null +++ b/applications/welcome3/languages/ro.py @@ -0,0 +1,373 @@ +# -*- coding: utf-8 -*- +{ +'!=': '!=', +'!langcode!': 'ro', +'!langname!': 'Română', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" (actualizează) este o expresie opțională precum "câmp1=\'valoare_nouă\'". Nu puteți actualiza sau șterge rezultatele unui JOIN', +'%(nrows)s records found': '%(nrows)s înregistrări găsite', +'%d days ago': '%d days ago', +'%d weeks ago': '%d weeks ago', +'%s %%{row} deleted': '%s linii șterse', +'%s %%{row} updated': '%s linii actualizate', +'%s selected': '%s selectat(e)', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'(something like "it-it")': '(ceva ce seamănă cu "it-it")', +'1 day ago': '1 day ago', +'1 week ago': '1 week ago', +'<': '<', +'<=': '<=', +'=': '=', +'>': '>', +'>=': '>=', +'A new version of web2py is available': 'O nouă versiune de web2py este disponibilă', +'A new version of web2py is available: %s': 'O nouă versiune de web2py este disponibilă: %s', +'About': 'Despre', +'about': 'despre', +'About application': 'Despre aplicație', +'Access Control': 'Control acces', +'Add': 'Adaugă', +'additional code for your application': 'cod suplimentar pentru aplicația dvs.', +'admin disabled because no admin password': 'administrare dezactivată deoarece parola de administrator nu a fost furnizată', +'admin disabled because not supported on google app engine': 'administrare dezactivată deoarece funcționalitatea nu e suportat pe Google App Engine', +'admin disabled because unable to access password file': 'administrare dezactivată deoarece nu există acces la fișierul cu parole', +'Admin is disabled because insecure channel': 'Adminstrarea este dezactivată deoarece conexiunea nu este sigură', +'Admin is disabled because unsecure channel': 'Administrarea este dezactivată deoarece conexiunea nu este securizată', +'Administration': 'Administrare', +'Administrative Interface': 'Interfață administrare', +'Administrator Password:': 'Parolă administrator:', +'Ajax Recipes': 'Rețete Ajax', +'And': 'Și', +'and rename it (required):': 'și renumiți (obligatoriu):', +'and rename it:': ' și renumiți:', +'appadmin': 'appadmin', +'appadmin is disabled because insecure channel': 'appadmin dezactivat deoarece conexiunea nu e sigură', +'application "%s" uninstalled': 'aplicația "%s" a fost dezinstalată', +'application compiled': 'aplicația a fost compilată', +'application is compiled and cannot be designed': 'aplicația este compilată și nu poate fi editată', +'Are you sure you want to delete file "%s"?': 'Sigur ștergeți fișierul "%s"?', +'Are you sure you want to delete this object?': 'Sigur ștergeți acest obiect?', +'Are you sure you want to uninstall application "%s"': 'Sigur dezinstalați aplicația "%s"', +'Are you sure you want to uninstall application "%s"?': 'Sigur dezinstalați aplicația "%s"?', +'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENȚIE: Nu vă puteți conecta decât utilizând o conexiune securizată (HTTPS) sau rulând aplicația pe computerul local.', +'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENȚIE: Nu puteți efectua mai multe teste o dată deoarece lansarea în execuție a mai multor subpocese nu este sigură.', +'ATTENTION: you cannot edit the running application!': 'ATENȚIE: nu puteți edita o aplicație în curs de execuție!', +'Authentication': 'Autentificare', +'Available Databases and Tables': 'Baze de date și tabele disponibile', +'Back': 'Înapoi', +'Buy this book': 'Cumpără această carte', +'Cache': 'Cache', +'cache': 'cache', +'Cache Keys': 'Chei cache', +'cache, errors and sessions cleaned': 'cache, erori și sesiuni golite', +'Cannot be empty': 'Nu poate fi vid', +'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Compilare imposibilă: aplicația conține erori. Debogați aplicația și încercați din nou.', +'cannot create file': 'fișier imposibil de creat', +'cannot upload file "%(filename)s"': 'imposibil de încărcat fișierul "%(filename)s"', +'Change Password': 'Schimbare parolă', +'Change password': 'Schimbare parolă', +'change password': 'schimbare parolă', +'check all': 'coșați tot', +'Check to delete': 'Coșați pentru a șterge', +'clean': 'golire', +'Clear': 'Golește', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'click to check for upgrades': 'Clic pentru a verifica dacă există upgrade-uri', +'Client IP': 'IP client', +'Community': 'Comunitate', +'compile': 'compilare', +'compiled application removed': 'aplicația compilată a fost ștearsă', +'Components and Plugins': 'Componente și plugin-uri', +'contains': 'conține', +'Controller': 'Controlor', +'Controllers': 'Controlori', +'controllers': 'controlori', +'Copyright': 'Drepturi de autor', +'create file with filename:': 'crează fișier cu numele:', +'Create new application': 'Creați aplicație nouă', +'create new application:': 'crează aplicație nouă:', +'crontab': 'crontab', +'Current request': 'Cerere curentă', +'Current response': 'Răspuns curent', +'Current session': 'Sesiune curentă', +'currently saved or': 'în prezent salvat sau', +'customize me!': 'Personalizează-mă!', +'data uploaded': 'date încărcate', +'Database': 'bază de date', +'Database %s select': 'selectare bază de date %s', +'database administration': 'administrare bază de date', +'Date and Time': 'Data și ora', +'db': 'db', +'DB Model': 'Model bază de date', +'defines tables': 'definire tabele', +'Delete': 'Șterge', +'delete': 'șterge', +'delete all checked': 'șterge tot ce e coșat', +'Delete:': 'Șterge:', +'Demo': 'Demo', +'Deploy on Google App Engine': 'Instalare pe Google App Engine', +'Deployment Recipes': 'Rețete de instalare', +'Description': 'Descriere', +'design': 'design', +'DESIGN': 'DESIGN', +'Design for': 'Design pentru', +'DISK': 'DISK', +'Disk Cache Keys': 'Chei cache de disc', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentație', +"Don't know what to do?": 'Nu știți ce să faceți?', +'done!': 'gata!', +'Download': 'Descărcare', +'E-mail': 'E-mail', +'E-mail invalid': 'E-mail invalid', +'edit': 'editare', +'EDIT': 'EDITARE', +'Edit': 'Editare', +'Edit application': 'Editare aplicație', +'edit controller': 'editare controlor', +'Edit current record': 'Editare înregistrare curentă', +'Edit Profile': 'Editare profil', +'edit profile': 'editare profil', +'Edit This App': 'Editați această aplicație', +'Editing file': 'Editare fișier', +'Editing file "%s"': 'Editare fișier "%s"', +'Email and SMS': 'E-mail și SMS', +'enter a number between %(min)g and %(max)g': 'introduceți un număr între %(min)g și %(max)g', +'enter an integer between %(min)g and %(max)g': 'introduceți un întreg între %(min)g și %(max)g', +'Error logs for "%(app)s"': 'Log erori pentru "%(app)s"', +'errors': 'erori', +'Errors': 'Erori', +'Export': 'Export', +'export as csv file': 'exportă ca fișier csv', +'exposes': 'expune', +'extends': 'extinde', +'failed to reload module': 'reîncarcare modul nereușită', +'False': 'Neadevărat', +'FAQ': 'Întrebări frecvente', +'file "%(filename)s" created': 'fișier "%(filename)s" creat', +'file "%(filename)s" deleted': 'fișier "%(filename)s" șters', +'file "%(filename)s" uploaded': 'fișier "%(filename)s" încărcat', +'file "%(filename)s" was not deleted': 'fișierul "%(filename)s" n-a fost șters', +'file "%s" of %s restored': 'fișier "%s" de %s restaurat', +'file changed on disk': 'fișier modificat pe disc', +'file does not exist': 'fișier inexistent', +'file saved on %(time)s': 'fișier salvat %(time)s', +'file saved on %s': 'fișier salvat pe %s', +'First name': 'Prenume', +'Forbidden': 'Interzis', +'Forms and Validators': 'Formulare și validatori', +'Free Applications': 'Aplicații gratuite', +'Functions with no doctests will result in [passed] tests.': 'Funcțiile fără doctests vor genera teste [trecute].', +'Group %(group_id)s created': 'Grup %(group_id)s creat', +'Group ID': 'ID grup', +'Group uniquely assigned to user %(id)s': 'Grup asociat în mod unic utilizatorului %(id)s', +'Groups': 'Grupuri', +'Hello World': 'Salutare lume', +'help': 'ajutor', +'Home': 'Acasă', +'How did you get here?': 'Cum ați ajuns aici?', +'htmledit': 'editare html', +'import': 'import', +'Import/Export': 'Import/Export', +'includes': 'include', +'Index': 'Index', +'insert new': 'adaugă nou', +'insert new %s': 'adaugă nou %s', +'Installed applications': 'Aplicații instalate', +'internal error': 'eroare internă', +'Internal State': 'Stare internă', +'Introduction': 'Introducere', +'Invalid action': 'Acțiune invalidă', +'Invalid email': 'E-mail invalid', +'invalid password': 'parolă invalidă', +'Invalid password': 'Parolă invalidă', +'Invalid Query': 'Interogare invalidă', +'invalid request': 'cerere invalidă', +'invalid ticket': 'tichet invalid', +'Key': 'Key', +'language file "%(filename)s" created/updated': 'fișier de limbă "%(filename)s" creat/actualizat', +'Language files (static strings) updated': 'Fișierele de limbă (șirurile statice de caractere) actualizate', +'languages': 'limbi', +'Languages': 'Limbi', +'languages updated': 'limbi actualizate', +'Last name': 'Nume', +'Last saved on:': 'Ultima salvare:', +'Layout': 'Șablon', +'Layout Plugins': 'Șablon plugin-uri', +'Layouts': 'Șabloane', +'License for': 'Licență pentru', +'Live Chat': 'Chat live', +'loading...': 'încarc...', +'Logged in': 'Logat', +'Logged out': 'Delogat', +'Login': 'Autentificare', +'login': 'autentificare', +'Login to the Administrative Interface': 'Logare interfață de administrare', +'logout': 'ieșire', +'Logout': 'Ieșire', +'Lost Password': 'Parolă pierdută', +'Lost password?': 'Parolă pierdută?', +'Main Menu': 'Meniu principal', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Model meniu', +'merge': 'unește', +'Models': 'Modele', +'models': 'modele', +'Modules': 'Module', +'modules': 'module', +'My Sites': 'Site-urile mele', +'Name': 'Nume', +'New': 'Nou', +'new application "%s" created': 'aplicația nouă "%s" a fost creată', +'New password': 'Parola nouă', +'New Record': 'Înregistrare nouă', +'new record inserted': 'înregistrare nouă adăugată', +'next 100 rows': 'următoarele 100 de linii', +'NO': 'NU', +'No databases in this application': 'Aplicație fără bază de date', +'Object or table name': 'Obiect sau nume de tabel', +'Old password': 'Parola veche', +'Online examples': 'Exemple online', +'Or': 'Sau', +'or import from csv file': 'sau importă din fișier csv', +'or provide application url:': 'sau furnizează adresă url:', +'Origin': 'Origine', +'Original/Translation': 'Original/Traducere', +'Other Plugins': 'Alte plugin-uri', +'Other Recipes': 'Alte rețete', +'Overview': 'Prezentare de ansamblu', +'pack all': 'împachetează toate', +'pack compiled': 'pachet compilat', +'Password': 'Parola', +"Password fields don't match": 'Câmpurile de parolă nu se potrivesc', +'Peeking at file': 'Vizualizare fișier', +'please input your password again': 'introduceți parola din nou', +'Plugins': 'Plugin-uri', +'Powered by': 'Pus în mișcare de', +'Preface': 'Prefață', +'previous 100 rows': '100 de linii anterioare', +'Profile': 'Profil', +'Python': 'Python', +'Query': 'Interogare', +'Query:': 'Interogare:', +'Quick Examples': 'Exemple rapide', +'RAM': 'RAM', +'RAM Cache Keys': 'Chei cache RAM', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Rețete', +'Record': 'înregistrare', +'record does not exist': 'înregistrare inexistentă', +'Record ID': 'ID înregistrare', +'Record id': 'id înregistrare', +'register': 'înregistrare', +'Register': 'Înregistrare', +'Registration identifier': 'Identificator de autentificare', +'Registration key': 'Cheie înregistrare', +'Registration successful': 'Autentificare reușită', +'Remember me (for 30 days)': 'Ține-mă minte (timp de 30 de zile)', +'remove compiled': 'șterge compilate', +'Request reset password': 'Cerere resetare parolă', +'Reset Password key': 'Cheie restare parolă', +'Resolve Conflict file': 'Fișier rezolvare conflict', +'restore': 'restaurare', +'revert': 'revenire', +'Role': 'Rol', +'Rows in Table': 'Linii în tabel', +'Rows selected': 'Linii selectate', +'save': 'salvare', +'Save profile': 'Salvează profil', +'Saved file hash:': 'Hash fișier salvat:', +'Search': 'Căutare', +'Semantic': 'Semantică', +'Services': 'Servicii', +'session expired': 'sesiune expirată', +'shell': 'line de commandă', +'site': 'site', +'Size of cache:': 'Size of cache:', +'some files could not be removed': 'anumite fișiere n-au putut fi șterse', +'starts with': 'începe cu', +'state': 'stare', +'static': 'static', +'Static files': 'Fișiere statice', +'Statistics': 'Statistics', +'Stylesheet': 'Foaie de stiluri', +'Submit': 'Înregistrează', +'submit': 'submit', +'Support': 'Suport', +'Sure you want to delete this object?': 'Sigur ștergeți acest obiect?', +'Table': 'tabel', +'Table name': 'Nume tabel', +'test': 'test', +'Testing application': 'Testare aplicație', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Interogarea (query)" este o condiție de tipul "db.tabel1.câmp1==\'valoare\'". Ceva de genul "db.tabel1.câmp1==db.tabel2.câmp2" generează un JOIN SQL.', +'the application logic, each URL path is mapped in one exposed function in the controller': 'logica aplicației, fiecare rută URL este mapată într-o funcție expusă de controlor', +'The Core': 'Nucleul', +'the data representation, define database tables and sets': 'reprezentarea datelor, definește tabelele bazei de date și seturile (de date)', +'The output of the file is a dictionary that was rendered by the view %s': 'Fișierul produce un dicționar care a fost prelucrat de vederea %s', +'the presentations layer, views are also known as templates': 'nivelul de prezentare, vederile sunt de asemenea numite și șabloane', +'The Views': 'Vederile', +'There are no controllers': 'Nu există controlori', +'There are no models': 'Nu există modele', +'There are no modules': 'Nu există module', +'There are no static files': 'Nu există fișiere statice', +'There are no translators, only default language is supported': 'Nu există traduceri, doar limba implicită este suportată', +'There are no views': 'Nu există vederi', +'these files are served without processing, your images go here': 'aceste fișiere sunt servite fără procesare, imaginea se plasează acolo', +'This App': 'Această aplicație', +'This is a copy of the scaffolding application': 'Aceasta este o copie a aplicației schelet', +'This is the %(filename)s template': 'Aceasta este șablonul fișierului %(filename)s', +'Ticket': 'Tichet', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': 'Moment în timp (timestamp)', +'to previous version.': 'la versiunea anterioară.', +'too short': 'prea scurt', +'translation strings for the application': 'șiruri de caractere folosite la traducerea aplicației', +'True': 'Adevărat', +'try': 'încearcă', +'try something like': 'încearcă ceva de genul', +'Twitter': 'Twitter', +'Unable to check for upgrades': 'Imposibil de verificat dacă există actualizări', +'unable to create application "%s"': 'imposibil de creat aplicația "%s"', +'unable to delete file "%(filename)s"': 'imposibil de șters fișierul "%(filename)s"', +'Unable to download': 'Imposibil de descărcat', +'Unable to download app': 'Imposibil de descărcat aplicația', +'unable to parse csv file': 'imposibil de analizat fișierul csv', +'unable to uninstall "%s"': 'imposibil de dezinstalat "%s"', +'uncheck all': 'decoșează tot', +'uninstall': 'dezinstalează', +'update': 'actualizează', +'update all languages': 'actualizează toate limbile', +'Update:': 'Actualizare:', +'upload application:': 'incarcă aplicația:', +'Upload existing application': 'Încarcă aplicația existentă', +'upload file:': 'încarcă fișier:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Folosiți (...)&(...) pentru AND, (...)|(...) pentru OR, și ~(...) pentru NOT, pentru a crea interogări complexe.', +'User %(id)s Logged-in': 'Utilizator %(id)s autentificat', +'User %(id)s Logged-out': 'Utilizator %(id)s delogat', +'User %(id)s Password changed': 'Parola utilizatorului %(id)s a fost schimbată', +'User %(id)s Password reset': 'Resetare parola utilizator %(id)s', +'User %(id)s Profile updated': 'Profil utilizator %(id)s actualizat', +'User %(id)s Registered': 'Utilizator %(id)s înregistrat', +'User ID': 'ID utilizator', +'value already in database or empty': 'Valoare existentă în baza de date sau vidă', +'Verify Password': 'Verifică parola', +'versioning': 'versiuni', +'Videos': 'Video-uri', +'View': 'Vedere', +'view': 'vedere', +'Views': 'Vederi', +'views': 'vederi', +'web2py is up to date': 'web2py este la zi', +'web2py Recent Tweets': 'Ultimele tweet-uri web2py', +'Welcome': 'Bine ați venit', +'Welcome %s': 'Bine ați venit %s', +'Welcome to web2py': 'Bun venit la web2py', +'Welcome to web2py!': 'Bun venit la web2py!', +'Which called the function %s located in the file %s': 'Care a apelat funcția %s prezentă în fișierul %s', +'YES': 'DA', +'You are successfully running web2py': 'Rulați cu succes web2py', +'You can modify this application and adapt it to your needs': 'Puteți modifica și adapta aplicația nevoilor dvs.', +'You visited the url %s': 'Ați vizitat adresa %s', +} diff --git a/applications/welcome3/languages/ru.py b/applications/welcome3/languages/ru.py new file mode 100644 index 00000000..0487a715 --- /dev/null +++ b/applications/welcome3/languages/ru.py @@ -0,0 +1,195 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'ru', +'!langname!': 'Русский', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Изменить" - необязательное выражение вида "field1=\'новое значение\'". Результаты операции JOIN нельзя изменить или удалить.', +'%d days ago': '%d %%{день} тому', +'%d hours ago': '%d %%{час} тому', +'%d minutes ago': '%d %%{минуту} тому', +'%d months ago': '%d %%{месяц} тому', +'%d seconds ago': '%d %%{секунду} тому', +'%d weeks ago': '%d %%{неделю} тому', +'%d years ago': '%d %%{год} тому', +'%s %%{row} deleted': '%%{!удалена[0]} %s %%{строка[0]}', +'%s %%{row} updated': '%%{!изменена[0]} %s %%{строка[0]}', +'%s selected': '%%{!выбрана[0]} %s %%{запись[0]}', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'1 day ago': '1 день тому', +'1 hour ago': '1 час тому', +'1 minute ago': '1 минуту тому', +'1 month ago': '1 месяц тому', +'1 second ago': '1 секунду тому', +'1 week ago': '1 неделю тому', +'1 year ago': '1 год тому', +'About': 'About', +'Access Control': 'Access Control', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': 'административный интерфейс', +'Ajax Recipes': 'Ajax Recipes', +'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel', +'Are you sure you want to delete this object?': 'Вы уверены, что хотите удалить этот объект?', +'Available Databases and Tables': 'Базы данных и таблицы', +'Buy this book': 'Buy this book', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': 'Пустое значение недопустимо', +'Change Password': 'Смените пароль', +'Check to delete': 'Удалить', +'Check to delete:': 'Удалить:', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Client IP': 'Client IP', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': 'Controller', +'Copyright': 'Copyright', +'Current request': 'Текущий запрос', +'Current response': 'Текущий ответ', +'Current session': 'Текущая сессия', +'customize me!': 'настройте внешний вид!', +'data uploaded': 'данные загружены', +'Database': 'Database', +'Database %s select': 'выбор базы данных %s', +'db': 'БД', +'DB Model': 'DB Model', +'Delete:': 'Удалить:', +'Demo': 'Demo', +'Deployment Recipes': 'Deployment Recipes', +'Description': 'Описание', +'design': 'дизайн', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': 'готово!', +'Download': 'Download', +'E-mail': 'E-mail', +'Edit current record': 'Редактировать текущую запись', +'Edit Profile': 'Редактировать профиль', +'Email and SMS': 'Email and SMS', +'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g', +'Errors': 'Errors', +'export as csv file': 'экспорт в csv-файл', +'FAQ': 'FAQ', +'First name': 'Имя', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Group ID': 'Group ID', +'Groups': 'Groups', +'Hello World': 'Заработало!', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': 'Импорт/экспорт', +'insert new': 'добавить', +'insert new %s': 'добавить %s', +'Internal State': 'Внутренне состояние', +'Introduction': 'Introduction', +'Invalid email': 'Неверный email', +'Invalid login': 'Неверный логин', +'Invalid password': 'Неверный пароль', +'Invalid Query': 'Неверный запрос', +'invalid request': 'неверный запрос', +'Key': 'Key', +'Last name': 'Фамилия', +'Layout': 'Layout', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'Logged in': 'Вход выполнен', +'Logged out': 'Выход выполнен', +'login': 'вход', +'Login': 'Вход', +'logout': 'выход', +'Logout': 'Выход', +'Lost Password': 'Забыли пароль?', +'Lost password?': 'Lost password?', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Menu Model', +'My Sites': 'My Sites', +'Name': 'Name', +'New password': 'Новый пароль', +'New Record': 'Новая запись', +'new record inserted': 'новая запись добавлена', +'next 100 rows': 'следующие 100 строк', +'No databases in this application': 'В приложении нет баз данных', +'now': 'сейчас', +'Object or table name': 'Object or table name', +'Old password': 'Старый пароль', +'Online examples': 'примеры он-лайн', +'or import from csv file': 'или импорт из csv-файла', +'Origin': 'Происхождение', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Password': 'Пароль', +'password': 'пароль', +"Password fields don't match": 'Пароли не совпадают', +'Plugins': 'Plugins', +'Powered by': 'Powered by', +'Preface': 'Preface', +'previous 100 rows': 'предыдущие 100 строк', +'profile': 'профиль', +'Python': 'Python', +'Query:': 'Запрос:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': 'Record', +'record does not exist': 'запись не найдена', +'Record ID': 'ID записи', +'Record id': 'id записи', +'Register': 'Зарегистрироваться', +'Registration identifier': 'Registration identifier', +'Registration key': 'Ключ регистрации', +'Remember me (for 30 days)': 'Запомнить меня (на 30 дней)', +'Reset Password key': 'Сбросить ключ пароля', +'Role': 'Роль', +'Rows in Table': 'Строк в таблице', +'Rows selected': 'Выделено строк', +'Semantic': 'Semantic', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': 'состояние', +'Statistics': 'Statistics', +'Stylesheet': 'Stylesheet', +'submit': 'submit', +'Submit': 'Отправить', +'Support': 'Support', +'Sure you want to delete this object?': 'Подтвердите удаление объекта', +'Table': 'таблица', +'Table name': 'Имя таблицы', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Запрос" - это условие вида "db.table1.field1==\'значение\'". Выражение вида "db.table1.field1==db.table2.field2" формирует SQL JOIN.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': 'The Views', +'This App': 'This App', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': 'Отметка времени', +'Twitter': 'Twitter', +'unable to parse csv file': 'нечитаемый csv-файл', +'Update:': 'Изменить:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Для построение сложных запросов используйте операторы "И": (...)&(...), "ИЛИ": (...)|(...), "НЕ": ~(...).', +'User %(id)s Logged-in': 'Пользователь %(id)s вошёл', +'User %(id)s Logged-out': 'Пользователь %(id)s вышел', +'User %(id)s Password changed': 'Пользователь %(id)s сменил пароль', +'User %(id)s Profile updated': 'Пользователь %(id)s обновил профиль', +'User %(id)s Registered': 'Пользователь %(id)s зарегистрировался', +'User ID': 'ID пользователя', +'Verify Password': 'Повторите пароль', +'Videos': 'Videos', +'View': 'View', +'Welcome': 'Welcome', +'Welcome to web2py': 'Добро пожаловать в web2py', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'You are successfully running web2py': 'You are successfully running web2py', +'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/languages/sk.py b/applications/welcome3/languages/sk.py new file mode 100644 index 00000000..e90ccf81 --- /dev/null +++ b/applications/welcome3/languages/sk.py @@ -0,0 +1,171 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'sk', +'!langname!': 'Slovenský', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" je voliteľný výraz ako "field1=\'newvalue\'". Nemôžete upravovať alebo zmazať výsledky JOINu', +'%s %%{row} deleted': '%s zmazaných záznamov', +'%s %%{row} updated': '%s upravených záznamov', +'%s selected': '%s označených', +'%Y-%m-%d': '%d.%m.%Y', +'%Y-%m-%d %H:%M:%S': '%d.%m.%Y %H:%M:%S', +'About': 'About', +'Access Control': 'Access Control', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': 'pre administrátorské rozhranie kliknite sem', +'Ajax Recipes': 'Ajax Recipes', +'appadmin is disabled because insecure channel': 'appadmin je zakázaný bez zabezpečeného spojenia', +'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', +'Available Databases and Tables': 'Dostupné databázy a tabuľky', +'Buy this book': 'Buy this book', +'cache': 'cache', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': 'Nemôže byť prázdne', +'Check to delete': 'Označiť na zmazanie', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': 'Controller', +'Copyright': 'Copyright', +'Current request': 'Aktuálna požiadavka', +'Current response': 'Aktuálna odpoveď', +'Current session': 'Aktuálne sedenie', +'customize me!': 'prispôsob ma!', +'data uploaded': 'údaje naplnené', +'Database': 'databáza', +'Database %s select': 'databáza %s výber', +'db': 'db', +'DB Model': 'DB Model', +'Delete:': 'Zmazať:', +'Demo': 'Demo', +'Deployment Recipes': 'Deployment Recipes', +'Description': 'Popis', +'design': 'návrh', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Dokumentácia', +"Don't know what to do?": "Don't know what to do?", +'done!': 'hotovo!', +'Download': 'Download', +'Edit': 'Upraviť', +'Edit current record': 'Upraviť aktuálny záznam', +'Edit Profile': 'Upraviť profil', +'Email and SMS': 'Email and SMS', +'Errors': 'Errors', +'export as csv file': 'exportovať do csv súboru', +'FAQ': 'FAQ', +'First name': 'Krstné meno', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Group ID': 'ID skupiny', +'Groups': 'Groups', +'Hello World': 'Ahoj svet', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': 'Import/Export', +'Index': 'Index', +'insert new': 'vložiť nový záznam ', +'insert new %s': 'vložiť nový záznam %s', +'Internal State': 'Vnútorný stav', +'Introduction': 'Introduction', +'Invalid email': 'Neplatný email', +'Invalid password': 'Nesprávne heslo', +'Invalid Query': 'Neplatná otázka', +'invalid request': 'Neplatná požiadavka', +'Key': 'Key', +'Last name': 'Priezvisko', +'Layout': 'Layout', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'Live Chat': 'Live Chat', +'Logged in': 'Prihlásený', +'Logged out': 'Odhlásený', +'login': 'prihlásiť', +'logout': 'odhlásiť', +'Lost Password': 'Stratené heslo?', +'lost password?': 'stratené heslo?', +'Manage Cache': 'Manage Cache', +'Menu Model': 'Menu Model', +'My Sites': 'My Sites', +'Name': 'Meno', +'New password': 'Nové heslo', +'New Record': 'Nový záznam', +'new record inserted': 'nový záznam bol vložený', +'next 100 rows': 'ďalších 100 riadkov', +'No databases in this application': 'V tejto aplikácii nie sú databázy', +'Old password': 'Staré heslo', +'Online examples': 'pre online príklady kliknite sem', +'or import from csv file': 'alebo naimportovať z csv súboru', +'Origin': 'Pôvod', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'password': 'heslo', +'Password': 'Heslo', +'Plugins': 'Plugins', +'Powered by': 'Powered by', +'Preface': 'Preface', +'previous 100 rows': 'predchádzajúcich 100 riadkov', +'Python': 'Python', +'Query:': 'Otázka:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': 'záznam', +'record does not exist': 'záznam neexistuje', +'Record ID': 'ID záznamu', +'Record id': 'id záznamu', +'Register': 'Zaregistrovať sa', +'register': 'registrovať', +'Registration key': 'Registračný kľúč', +'Remember me (for 30 days)': 'Zapamätaj si ma (na 30 dní)', +'Reset Password key': 'Nastaviť registračný kľúč', +'Role': 'Rola', +'Rows in Table': 'riadkov v tabuľke', +'Rows selected': 'označených riadkov', +'Semantic': 'Semantic', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': 'stav', +'Statistics': 'Statistics', +'Stylesheet': 'Stylesheet', +'submit': 'submit', +'Submit': 'Odoslať', +'Support': 'Support', +'Sure you want to delete this object?': 'Ste si istí, že chcete zmazať tento objekt?', +'Table': 'tabuľka', +'Table name': 'Názov tabuľky', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"query" je podmienka ako "db.table1.field1==\'value\'". Niečo ako "db.table1.field1==db.table2.field2" má za výsledok SQL JOIN.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'Výstup zo súboru je slovník, ktorý bol zobrazený vo view %s', +'The Views': 'The Views', +'This App': 'This App', +'This is a copy of the scaffolding application': 'Toto je kópia skeletu aplikácie', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': 'Časová pečiatka', +'Twitter': 'Twitter', +'unable to parse csv file': 'nedá sa načítať csv súbor', +'Update:': 'Upraviť:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použite (...)&(...) pre AND, (...)|(...) pre OR a ~(...) pre NOT na poskladanie komplexnejších otázok.', +'User %(id)s Logged-in': 'Používateľ %(id)s prihlásený', +'User %(id)s Logged-out': 'Používateľ %(id)s odhlásený', +'User %(id)s Password changed': 'Používateľ %(id)s zmenil heslo', +'User %(id)s Profile updated': 'Používateľ %(id)s upravil profil', +'User %(id)s Registered': 'Používateľ %(id)s sa zaregistroval', +'User ID': 'ID používateľa', +'Verify Password': 'Zopakujte heslo', +'Videos': 'Videos', +'View': 'Zobraziť', +'Welcome to web2py': 'Vitajte vo web2py', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Ktorý zavolal funkciu %s nachádzajúci sa v súbore %s', +'You are successfully running web2py': 'Úspešne ste spustili web2py', +'You can modify this application and adapt it to your needs': 'Môžete upraviť túto aplikáciu a prispôsobiť ju svojim potrebám', +'You visited the url %s': 'Navštívili ste URL %s', +} diff --git a/applications/welcome3/languages/tr.py b/applications/welcome3/languages/tr.py new file mode 100644 index 00000000..bf5d4e1a --- /dev/null +++ b/applications/welcome3/languages/tr.py @@ -0,0 +1,166 @@ +# coding: utf-8 +{ +'!langcode!': 'tr', +'!langname!': 'Türkçe', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"güncelle" ("update") "field1=\'yenideğer\'" gibi isteğe bağlı bir ifadedir. JON sonucu güncelleyemez veya silemzsiniz.', +'%s %%(shop)': '%s %%(shop)', +'%s %%(shop[0])': '%s %%(shop[0])', +'%s %%{quark[0]}': '%s %%{quark[0]}', +'%s %%{shop[0]}': '%s %%{shop[0]}', +'%s %%{shop}': '%s %%{shop}', +'%s selected': '%s selected', +'%Y-%m-%d': '%d-%m-%Y', +'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S', +'@markmin\x01**Hello World**': '**Merhaba Dünya**', +'@markmin\x01An error occured, please [[reload %s]] the page': 'Bir hata oluştu, lütfen sayfayı [[yenileyin yükleyin %s]] ', +'About': 'Hakkında', +'Access Control': 'Erişim Denetimi', +'Administrative Interface': 'Yönetim Arayüzü', +'Ajax Recipes': 'Ajax Tarifleri', +'An error occured, please %s the page': 'Bir hata meydana geldi, lütfen sayfayı %s', +'Apply changes': 'Değişiklikleri uygula', +'Are you sure you want to delete this object?': 'Bu nesneyi silmek istediğinden emin misin?', +'Available Databases and Tables': 'Kullanılabilir Varitabanları ve Tablolar', +'Buy this book': 'Bu kitabı satın alın', +'cache': 'zula', +'Cannot be empty': 'Boş bırakılamaz', +'Change password': 'Parolayı değiştir', +'Check to delete': 'Silmek için denetle', +'Client IP': 'İstemci IP', +'Community': 'Topluluk', +'Components and Plugins': 'Bileşenler ve Eklentiler', +'Controller': 'Denetçi', +'Copyright': 'Telif', +'Created By': 'Tasarlayan', +'Created On': 'Oluşturma tarihi', +'customize me!': 'burayı değiştir!', +'Database': 'Veritabanı', +'Database %s select': '%s veritabanı seç', +'Database Administration (appadmin)': 'Veritabanı Yönetimi (appadmin)', +'db': 'db', +'DB Model': 'DB Modeli', +'Delete:': 'Sil:', +'Demo': 'Tanıtım', +'Deployment Recipes': 'Yayınlama tarifleri', +'Description': 'Açıklama', +'design': 'tasarım', +'Documentation': 'Kitap', +"Don't know what to do?": 'Neleri nasıl yapacağını bilmiyor musun?', +'Download': 'İndir', +'E-mail': 'E-posta', +'Email and SMS': 'E-posta ve kısa mesaj (SMS)', +'enter a value': 'bir değer giriniz', +'enter an integer between %(min)g and %(max)g': '%(min)g ve %(max)g arasında bir sayı girin', +'enter date and time as %(format)s': 'tarih ve saati %(format)s biçiminde girin', +'Errors': 'Hatalar', +'Errors in form, please check it out.': 'Formda hatalar var, lütfen kontrol edin.', +'export as csv file': 'csv dosyası olarak dışa aktar', +'FAQ': 'SSS', +'First name': 'Ad', +'Forgot username?': 'Kullanıcı adını mı unuttun?', +'Forms and Validators': 'Biçimler ve Doğrulayıcılar', +'Free Applications': 'Ücretsiz uygulamalar', +'Giriş': 'Giriş', +'Graph Model': 'Grafik Modeli', +'Group %(group_id)s created': '%(group_id)s takımı oluşturuldu', +'Group ID': 'Takım ID', +'Group uniquely assigned to user %(id)s': 'Grup özgün olarak %(id)s kullanıcılara atandı', +'Groups': 'Gruplar', +'Hello World': 'Merhaba Dünya', +'Hello World ## comment': 'Merhaba Dünya ## yorum ', +'Hello World## comment': 'Merhaba Dünya## yorum ', +'Home': 'Anasayfa', +'How did you get here?': 'Bu sayfayı görüntüleme uğruna neler mi oldu?', +'import': 'import', +'Import/Export': 'Dışa/İçe Aktar', +'Introduction': 'Giriş', +'Invalid email': 'Yanlış eposta', +'Is Active': 'Etkin', +'Kayıt ol': 'Kayıt ol', +'Last name': 'Soyad', +'Layout': 'Şablon', +'Layout Plugins': 'Şablon Eklentileri', +'Layouts': 'Şablonlar', +'Live Chat': 'Canlı Sohbet', +'Logged in': 'Giriş yapıldı', +'Logged out': 'Çıkış yapıldı', +'Login': 'Giriş', +'Logout': 'Terket', +'Lost Password': 'Şifremi unuttum', +'Lost password?': 'Şifrenizimi unuttunuz?', +'Menu Model': 'Model Menü', +'Modified By': 'Değiştiren', +'Modified On': 'Değiştirilme tarihi', +'My Sites': 'Sitelerim', +'Name': 'İsim', +'New password': 'Yeni parola', +'New Record': 'Yeni Kayıt', +'Object or table name': 'Nesne ya da tablo adı', +'Old password': 'Eski parola', +'Online examples': 'Canlı örnekler', +'or import from csv file': 'veya csv dosyasından içe aktar', +'Origin': 'Asıl', +'Other Plugins': 'Diğer eklentiler', +'Other Recipes': 'Diğer Tarifler', +'Overview': 'Göz gezdir', +'Password': 'Parola', +"Password fields don't match": 'Parolalar uyuşmuyor', +'please input your password again': 'lütfen parolanızı tekrar girin', +'Plugins': 'Eklentiler', +'Powered by': 'Yazılım Temeli', +'Preface': 'Önzös', +'Profile': 'Profil', +'pygraphviz library not found': 'pygraphviz library not found', +'Python': 'Python', +'Query:': 'Sorgu:', +'Quick Examples': 'Hızlı Örnekler', +'Recipes': 'Tarifeler', +'Record ID': 'Kayıt ID', +'Register': 'Kayıt ol', +'Registration identifier': 'Kayıt belirleyicisi', +'Registration key': 'Kayıt anahtarı', +'Registration successful': 'Kayıt başarılı', +'reload': 'yeniden yükle', +'Remember me (for 30 days)': 'Beni hatırla (30 gün)', +'Request reset password': 'Parolanı sıfırla', +'Reset Password key': 'Parola anahtarını sıfırla', +'Role': 'Rol', +'Rows in Table': 'Tablodaki Satırlar', +'Save model as...': 'Modeli farklı kaydet...', +'Semantic': 'Anlamsal', +'Services': 'Hizmetler', +'state': 'durum', +'Stylesheet': 'Stil Şablonu', +'submit': 'gönder', +'Submit': 'Gönder', +'Support': 'Destek', +'Table': 'Tablo', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"sorgulama" "db.table1.field1==\'değer\'" şeklinde bir durumu ifade eder. SQL birleştirmede (JOIN) "db.table1.field1==db.table2.field2" şeklindedir.', +'The Core': 'Çekirdek', +'The output of the file is a dictionary that was rendered by the view %s': 'Son olarak fonksiyonların vs. işlenip %s dosyasıyla tasarıma yedirilmesiyle sayfayı görüntüledin', +'The Views': 'Görünümler', +'This App': 'Bu Uygulama', +'This email already has an account': 'Bu e-postaya ait bir hesap zaten var', +'Timestamp': 'Zaman damgası', +'Twitter': 'Twitter', +'Update:': 'Güncelle:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Karmaşık sorgularda Ve (AND) için (...)&(...) kullanın, Veya (OR) için (...)|(...) kullanın ve DEĞİL (NOT) için ~(...) kullanın. ', +'User %(id)s Logged-in': '%(id)s Giriş yaptı', +'User %(id)s Logged-out': '%(id)s çıkış yaptı', +'User %(id)s Password reset': 'Kullanıc %(id)s Parolasını sıfırla', +'User %(id)s Registered': '%(id)s Kayıt oldu', +'User ID': 'Kullanıcı ID', +'value already in database or empty': 'değer boş ya da veritabanında zaten mevcut', +'Verify Password': 'Parolanı Onayla', +'Videos': 'Videolar', +'View': 'Görünüm', +'Welcome': 'Hoşgeldin', +'Welcome to web2py!': "web2py'ye hoşgeldiniz!", +'Which called the function %s located in the file %s': 'Bu ziyaretle %s fonksiyonunu %s dosyasından çağırmış oldun ', +'Working...': 'Çalışıyor...', +'You are successfully running web2py': 'web2py çatısını çalıştırmayı başardın', +'You can modify this application and adapt it to your needs': 'Artık uygulamayı istediğin gibi düzenleyebilirsin!', +'You visited the url %s': '%s adresini ziyaret ettin', +'invalid controller': 'geçersiz denetleyici', +} + diff --git a/applications/welcome3/languages/uk.py b/applications/welcome3/languages/uk.py new file mode 100644 index 00000000..3a5f791f --- /dev/null +++ b/applications/welcome3/languages/uk.py @@ -0,0 +1,227 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'uk', +'!langname!': 'Українська', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Оновити" це додатковий вираз, такий, як "field1=\'нове_значення\'". Ви не можете змінювати або вилучати дані об\'єднаних таблиць.', +'%d days ago': '%d %%{день} тому', +'%d hours ago': '%d %%{годину} тому', +'%d minutes ago': '%d %%{хвилину} тому', +'%d months ago': '%d %%{місяць} тому', +'%d secods ago': '%d %%{секунду} тому', +'%d weeks ago': '%d %%{тиждень} тому', +'%d years ago': '%d %%{рік} тому', +'%s %%{row} deleted': 'Вилучено %s %%{рядок}', +'%s %%{row} updated': 'Змінено %s %%{рядок}', +'%s selected': 'Вибрано %s %%{запис}', +'%Y-%m-%d': '%Y/%m/%d', +'%Y-%m-%d %H:%M:%S': '%Y/%m/%d %H:%M:%S', +'1 day ago': '1 день тому', +'1 hour ago': '1 годину тому', +'1 minute ago': '1 хвилину тому', +'1 month ago': '1 місяць тому', +'1 second ago': '1 секунду тому', +'1 week ago': '1 тиждень тому', +'1 year ago': '1 рік тому', +'@markmin\x01(**%.0d MB**)': '(**``%.0d``:red МБ**)', +'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{елемент(items)}, **%(bytes)s** %%{байт(bytes)}', +'@markmin\x01``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**нема в наявності**``:red (потребує Пітонівської бібліотеки [[guppy [посилання відкриється у новому вікні] http://pypi.python.org/pypi/guppy/ popup]])', +'@markmin\x01An error occured, please [[reload %s]] the page': 'Сталась помилка, будь-ласка [[перевантажте %s]] сторінку', +'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': "Час життя об'єктів в КЕШІ сягає **%(hours)02d** %%{годину(hours)} **%(min)02d** %%{хвилину(min)} та **%(sec)02d** %%{секунду(sec)}.", +'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': "Час життя об'єктів в ДИСКОВОМУ КЕШІ сягає **%(hours)02d** %%{годину(hours)} **%(min)02d** %%{хвилину(min)} та **%(sec)02d** %%{секунду(sec)}.", +'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Оцінка поцілювання: **%(ratio)s%%** (**%(hits)s** %%{поцілювання(hits)} та **%(misses)s** %%{схибнення(misses)})', +'@markmin\x01Number of entries: **%s**': 'Кількість входжень: ``**%s**``:red', +'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': "Час життя об'єктів в ОЗП-КЕШІ сягає **%(hours)02d** %%{годину(hours)} **%(min)02d** %%{хвилину(min)} та **%(sec)02d** %%{секунду(sec)}.", +'About': 'Про додаток', +'Access Control': 'Контроль доступу', +'Administrative Interface': 'Адміністративний інтерфейс', +'Ajax Recipes': 'Рецепти для Ajax', +'appadmin is disabled because insecure channel': 'використовується незахищенний канал (HTTP). Appadmin вимкнено', +'Are you sure you want to delete this object?': "Ви впевнені, що хочете вилучити цей об'єкт?", +'Available Databases and Tables': 'Доступні бази даних та таблиці', +'Buy this book': 'Купити книжку', +'cache': 'кеш', +'Cache': 'Кеш', +'Cache Keys': 'Ключі кешу', +'Cannot be empty': 'Порожнє значення неприпустиме', +'Change password': 'Змінити пароль', +'Check to delete': 'Позначити для вилучення', +'Check to delete:': 'Позначте для вилучення:', +'Clear CACHE?': 'Очистити ВЕСЬ кеш?', +'Clear DISK': 'Очистити ДИСКОВИЙ кеш', +'Clear RAM': "Очистити кеш В ПАМ'ЯТІ", +'Client IP': 'IP клієнта', +'Community': 'Спільнота', +'Components and Plugins': 'Компоненти та втулки', +'Controller': 'Контролер', +'Copyright': 'Правовласник', +'Created By': 'Створив(ла)', +'Created On': 'Створено в', +'Current request': 'Поточний запит (current request)', +'Current response': 'Поточна відповідь (current response)', +'Current session': 'Поточна сесія (current session)', +'customize me!': 'причепуріть мене!', +'data uploaded': 'дані завантажено', +'Database': 'База даних', +'Database %s select': 'Вибірка з бази даних %s', +'Database Administration (appadmin)': 'Адміністрування Бази Даних (appadmin)', +'db': 'база даних', +'DB Model': 'Модель БД', +'Delete:': 'Вилучити:', +'Demo': 'Демо', +'Deployment Recipes': 'Способи розгортання', +'Description': 'Опис', +'design': 'налаштування', +'DISK': 'ДИСК', +'Disk Cache Keys': 'Ключі дискового кешу', +'Disk Cleared': 'Дисковий кеш очищено', +'Documentation': 'Документація', +"Don't know what to do?": 'Не знаєте що робити далі?', +'done!': 'зроблено!', +'Download': 'Завантажити', +'E-mail': 'Ел.пошта', +'edit': 'редагувати', +'Edit current record': 'Редагувати поточний запис', +'Edit Page': 'Редагувати сторінку', +'Email and SMS': 'Ел.пошта та SMS', +'enter a value': 'введіть значення', +'enter an integer between %(min)g and %(max)g': 'введіть ціле число між %(min)g та %(max)g', +'Error!': 'Помилка!', +'Errors': 'Помилки', +'Errors in form, please check it out.': 'У формі є помилка. Виправте її, будь-ласка.', +'export as csv file': 'експортувати як файл csv', +'FAQ': 'ЧаПи (FAQ)', +'First name': "Ім'я", +'Forgot username?': "Забули ім'я користувача?", +'Forms and Validators': 'Форми та коректність даних', +'Free Applications': 'Вільні додатки', +'Graph Model': 'Графова Модель', +'Group %(group_id)s created': 'Групу %(group_id)s створено', +'Group ID': 'Ідентифікатор групи', +'Group uniquely assigned to user %(id)s': "Група унікально зв'язана з користувачем %(id)s", +'Groups': 'Групи', +'Hello World': 'Привіт, світ!', +'Home': 'Початок', +'How did you get here?': 'Як цього було досягнуто?', +'import': 'Імпортувати', +'Import/Export': 'Імпорт/Експорт', +'insert new': 'Створити новий запис', +'insert new %s': 'створити новий запис %s', +'Internal State': 'Внутрішній стан', +'Introduction': 'Введення', +'Invalid email': 'Невірна адреса ел.пошти', +'Invalid login': "Невірне ім'я користувача", +'Invalid password': 'Невірний пароль', +'Invalid Query': 'Помилковий запит', +'invalid request': 'хибний запит', +'Is Active': 'Активна', +'Key': 'Ключ', +'Last name': 'Прізвище', +'Layout': 'Макет (Layout)', +'Layout Plugins': 'Втулки макетів', +'Layouts': 'Макети', +'Live Chat': 'Чат', +'Logged in': 'Вхід здійснено', +'Logged out': 'Вихід здійснено', +'Login': 'Вхід', +'Logout': 'Вихід', +'Lost Password': 'Забули пароль', +'Lost password?': 'Забули пароль?', +'Manage Cache': 'Управління кешем', +'Menu Model': 'Модель меню', +'Modified By': 'Зміни провадив(ла)', +'Modified On': 'Змінено в', +'My Sites': 'Сайт (усі додатки)', +'Name': "Ім'я", +'New password': 'Новий пароль', +'New Record': 'Новий запис', +'new record inserted': 'новий рядок додано', +'next 100 rows': 'наступні 100 рядків', +'No databases in this application': 'Даний додаток не використовує базу даних', +'now': 'зараз', +'Object or table name': "Об'єкт або назва таблиці", +'Old password': 'Старий пароль', +'Online examples': 'Зразковий демо-сайт', +'or import from csv file': 'або імпортувати з csv-файлу', +'Origin': 'Походження', +'Other Plugins': 'Інші втулки', +'Other Recipes': 'Інші рецепти', +'Overview': 'Огляд', +'Page Not Found!': 'Сторінку не знайдено!', +'Page saved': 'Сторінку збережено', +'Password': 'Пароль', +'Password changed': 'Пароль змінено', +"Password fields don't match": 'Пароль не співпав', +'please input your password again': 'Будь-ласка введіть пароль ще раз', +'Plugins': 'Втулки (Plugins)', +'Powered by': 'Працює на', +'Preface': 'Передмова', +'previous 100 rows': 'попередні 100 рядків', +'Profile': 'Параметри', +'Profile updated': 'Параметри змінено', +'pygraphviz library not found': 'Бібліотека pygraphviz не знайдена (не встановлена)', +'Python': 'Мова Python', +'Query:': 'Запит:', +'Quick Examples': 'Швидкі приклади', +'RAM': "ОПЕРАТИВНА ПАМ'ЯТЬ (ОЗП)", +'RAM Cache Keys': 'Ключі ОЗП-кешу', +'Ram Cleared': 'ОЗП-кеш очищено', +'Recipes': 'Рецепти', +'Record': 'запис', +'Record %(id)s updated': 'Запис %(id)s змінено', +'record does not exist': 'запису не існує', +'Record ID': 'Ід.запису', +'Record id': 'ід. запису', +'Record Updated': 'Запис змінено', +'Register': 'Реєстрація', +'Registration identifier': 'Реєстраційний ідентифікатор', +'Registration key': 'Реєстраційний ключ', +'Registration successful': 'Реєстрація пройшла успішно', +'Remember me (for 30 days)': "Запам'ятати мене (на 30 днів)", +'Request reset password': 'Запит на зміну пароля', +'Reset Password key': 'Ключ скидання пароля', +'Role': 'Роль', +'Rows in Table': 'Рядки в таблиці', +'Rows selected': 'Відмічено рядків', +'Save profile': 'Зберегти параметри', +'Semantic': 'Семантика', +'Services': 'Сервіс', +'Size of cache:': 'Розмір кешу:', +'state': 'стан', +'Statistics': 'Статистика', +'Stylesheet': 'CSS-стилі', +'submit': 'застосувати', +'Submit': 'Застосувати', +'Support': 'Підтримка', +'Table': 'Таблиця', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Запит" це умова, на зразок "db.table1.field1==\'значення\'". Вираз "db.table1.field1==db.table2.field2" повертає результат об\'єднання (SQL JOIN) таблиць.', +'The Core': 'Ядро', +'The output of the file is a dictionary that was rendered by the view %s': 'Результат функції - словник пар (назва=значення) було відображено з допомогою відображення (view) %s', +'The Views': 'Відображення (Views)', +'This App': 'Цей додаток', +'This email already has an account': 'Вказана адреса ел.пошти вже зареєстрована', +'Time in Cache (h:m:s)': 'Час знаходження в кеші (h:m:s)', +'Timestamp': 'Відмітка часу', +'too short': 'Занадто короткий', +'Twitter': 'Твіттер', +'unable to parse csv file': 'не вдається розібрати csv-файл', +'Update:': 'Оновити:', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Для створення складних запитів використовуйте (...)&(...) замість AND, (...)|(...) замість OR, та ~(...) замість NOT.', +'User %(id)s Logged-in': 'Користувач %(id)s увійшов', +'User %(id)s Logged-out': 'Користувач %(id)s вийшов', +'User %(id)s Password changed': 'Користувач %(id)s змінив свій пароль', +'User %(id)s Password reset': 'Користувач %(id)s скинув пароль', +'User %(id)s Profile updated': 'Параметри користувача %(id)s змінено', +'User %(id)s Registered': 'Користувач %(id)s зареєструвався', +'User ID': 'Ід.користувача', +'value already in database or empty': 'значення вже в базі даних або порожнє', +'Verify Password': 'Повторити пароль', +'Videos': 'Відео', +'View': 'Відображення (View)', +'Welcome': 'Ласкаво просимо', +'Welcome to web2py!': 'Ласкаво просимо до web2py!', +'Which called the function %s located in the file %s': 'Управління передалось функції %s, яка розташована у файлі %s', +'Working...': 'Працюємо...', +'You are successfully running web2py': 'Ви успішно запустили web2py', +'You can modify this application and adapt it to your needs': 'Ви можете модифікувати цей додаток і адаптувати його до своїх потреб', +'You visited the url %s': 'Ви відвідали наступну адресу: %s', +} diff --git a/applications/welcome3/languages/zh-cn.py b/applications/welcome3/languages/zh-cn.py new file mode 100644 index 00000000..d92a8c53 --- /dev/null +++ b/applications/welcome3/languages/zh-cn.py @@ -0,0 +1,244 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'zh-cn', +'!langname!': '中文', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" 应为选择表达式, 格式如 "field1=\'value\'". 但是对 JOIN 的结果不可以使用 update 或者 delete"', +'%s %%{row} deleted': '已删除 %s 笔', +'%s %%{row} updated': '已更新 %s 笔', +'%s selected': '%s 已选择', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'(something like "it-it")': '(格式类似 "zh-tw")', +'A new version of web2py is available': '新版 web2py 已推出', +'A new version of web2py is available: %s': '新版 web2py 已推出: %s', +'about': '关于', +'About': '关于', +'About application': '关于本应用程序', +'Access Control': 'Access Control', +'Admin is disabled because insecure channel': '管理功能(Admin)在非安全连接环境下自动关闭', +'Admin is disabled because unsecure channel': '管理功能(Admin)在非安全连接环境下自动关闭', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': '点击进入管理界面', +'Administrator Password:': '管理员密码:', +'Ajax Recipes': 'Ajax Recipes', +'An error occured, please %s the page': 'An error occured, please %s the page', +'appadmin is disabled because insecure channel': '管理界面在非安全通道下被禁用', +'Are you sure you want to delete file "%s"?': '确定要删除文件"%s"?', +'Are you sure you want to delete this object?': '确定要删除该对象么?', +'Are you sure you want to uninstall application "%s"': '确定要删除应用程序 "%s"', +'Are you sure you want to uninstall application "%s"?': '确定要删除应用程序 "%s"', +'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '注意: 登录管理账号需要安全连接(HTTPS)或是在本地连接(localhost).', +'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: 因为在测试模式不保证多线程安全性,所以不可同时执行多个测试案例', +'ATTENTION: you cannot edit the running application!': '注意:不可编辑正在执行的应用程序!', +'Authentication': '验证', +'Available Databases and Tables': '可提供的数据库和数据表', +'Buy this book': '购买本书', +'cache': '高速缓存', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': '不可空白', +'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': '编译失败:应用程序有错误,请排除错误后再尝试编译.', +'Change Password': '修改密码', +'change password': '修改密码', +'Check to delete': '打勾以示删除', +'Check to delete:': '打勾以示删除:', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Client IP': '客户端网址(IP)', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': '控件', +'Controllers': '控件', +'Copyright': '版权所有', +'Create new application': '创建应用程序', +'Created By': 'Created By', +'Created On': 'Created On', +'Current request': '当前网络要求(request)', +'Current response': '当前网络响应(response)', +'Current session': '当前网络连接信息(session)', +'customize me!': '请调整我!', +'data uploaded': '数据已上传', +'Database': '数据库', +'Database %s select': '已选择 %s 数据库', +'Date and Time': '日期和时间', +'db': 'db', +'DB Model': '数据库模型', +'Delete': '删除', +'Delete:': '删除:', +'Demo': 'Demo', +'Deploy on Google App Engine': '发布到 Google App Engine', +'Deployment Recipes': 'Deployment Recipes', +'Description': '描述', +'DESIGN': '设计', +'design': '设计', +'Design for': '设计用于', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': '完成!', +'Download': '下载', +'E-mail': '电子邮件', +'EDIT': '编辑', +'Edit': '编辑', +'Edit application': '编辑应用程序', +'Edit current record': '编辑当前记录', +'edit profile': '编辑配置文件', +'Edit Profile': '编辑配置文件', +'Edit This App': '编辑本应用程序', +'Editing file': '编辑文件', +'Editing file "%s"': '编辑文件"%s"', +'Email and SMS': 'Email and SMS', +'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g', +'Error logs for "%(app)s"': '"%(app)s"的错误记录', +'Errors': 'Errors', +'export as csv file': '以CSV格式导出', +'FAQ': 'FAQ', +'First name': '名', +'Forgot username?': '忘记用户名?', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函数会显示 [passed].', +'Group ID': '群组编号', +'Groups': 'Groups', +'Hello World': 'Hello World', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': '导入/导出', +'Index': '索引', +'insert new': '插入新纪录', +'insert new %s': '插入新纪录 %s', +'Installed applications': '已安裝应用程序', +'Internal State': '內部状态', +'Introduction': 'Introduction', +'Invalid action': '非法操作(action)', +'Invalid email': '不符合电子邮件格式', +'Invalid Query': '无效的查询请求', +'invalid request': '网络要求无效', +'Is Active': 'Is Active', +'Key': 'Key', +'Language files (static strings) updated': '语言文件已更新', +'Languages': '各国语言', +'Last name': '姓', +'Last saved on:': '最后保存时间:', +'Layout': '网页布局', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'License for': '软件授权', +'Live Chat': 'Live Chat', +'login': '登录', +'Login': '登录', +'Login to the Administrative Interface': '登录到管理员界面', +'logout': '登出', +'Logout': '登出', +'Lost Password': '忘记密码', +'Lost password?': '忘记密码?', +'Main Menu': '主菜单', +'Manage Cache': 'Manage Cache', +'Menu Model': '菜单模型(menu)', +'Models': '数据模型', +'Modified By': '修改者', +'Modified On': '修改时间', +'Modules': '程序模块', +'My Sites': 'My Sites', +'Name': '名字', +'New Record': '新记录', +'new record inserted': '已插入新记录', +'next 100 rows': '往后 100 笔', +'NO': '否', +'No databases in this application': '该应用程序不含数据库', +'Object or table name': 'Object or table name', +'Online examples': '点击进入在线例子', +'or import from csv file': '或导入CSV文件', +'Origin': '原文', +'Original/Translation': '原文/翻译', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': '概览', +'Password': '密码', +"Password fields don't match": '密码不匹配', +'Peeking at file': '选择文件', +'Plugins': 'Plugins', +'Powered by': '基于下列技术构建:', +'Preface': 'Preface', +'previous 100 rows': '往前 100 笔', +'Python': 'Python', +'Query:': '查询:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': '记录', +'record does not exist': '记录不存在', +'Record ID': '记录编号', +'Record id': '记录编号', +'Register': '注册', +'register': '注册', +'Registration identifier': 'Registration identifier', +'Registration key': '注册密钥', +'reload': 'reload', +'Remember me (for 30 days)': '记住我(30 天)', +'Reset Password key': '重置密码', +'Resolve Conflict file': '解决冲突文件', +'Role': '角色', +'Rows in Table': '在数据表里的记录', +'Rows selected': '笔记录被选择', +'Saved file hash:': '已保存文件的哈希值:', +'Semantic': 'Semantic', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': '状态', +'Static files': '静态文件', +'Statistics': '统计数据', +'Stylesheet': '网页样式表', +'submit': '提交', +'Submit': '提交', +'Support': 'Support', +'Sure you want to delete this object?': '确定要删除此对象?', +'Table': '数据表', +'Table name': '数据表名称', +'Testing application': '测试中的应用程序', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"query"应是类似 "db.table1.field1==\'value\'" 的条件表达式. "db.table1.field1==db.table2.field2"的形式则代表执行 JOIN SQL.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': '视图', +'There are no controllers': '沒有控件(controllers)', +'There are no models': '沒有数据库模型(models)', +'There are no modules': '沒有程序模块(modules)', +'There are no static files': '沒有静态文件', +'There are no translators, only default language is supported': '沒有对应的语言文件,仅支持原始语言', +'There are no views': '沒有视图', +'This App': '该应用', +'This is the %(filename)s template': '这是%(filename)s文件的模板(template)', +'Ticket': '问题清单', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': '时间戳', +'Twitter': 'Twitter', +'Unable to check for upgrades': '查询新版本失败', +'Unable to download': '无法下载', +'Unable to download app': '无法下载应用程序', +'unable to parse csv file': '无法解析CSV文件', +'Update:': '更新:', +'Upload existing application': '上传已有应用程序', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式可得到更复杂的条件表达式, (...)&(...) 代表必须都满足, (...)|(...) 代表其一, ~(...)则代表否.', +'User %(id)s Logged-in': '用户 %(id)s 已登录', +'User %(id)s Registered': '用户 %(id)s 已注册', +'User ID': '用户编号', +'Verify Password': '验证密码', +'Videos': '视频', +'View': '查看', +'Views': '视图', +'Welcome': '欢迎', +'Welcome %s': '欢迎 %s', +'Welcome to web2py': '欢迎使用 web2py', +'Welcome to web2py!': '欢迎使用 web2py!', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'YES': '是', +'You are successfully running web2py': '您已成功运行 web2py', +'You can modify this application and adapt it to your needs': '请根据您的需要修改本程序', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/languages/zh-tw.py b/applications/welcome3/languages/zh-tw.py new file mode 100644 index 00000000..fa805aa4 --- /dev/null +++ b/applications/welcome3/languages/zh-tw.py @@ -0,0 +1,244 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'zh-cn', +'!langname!': '中文', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"更新" 是選擇性的條件式, 格式就像 "欄位1=\'值\'". 但是 JOIN 的資料不可以使用 update 或是 delete"', +'%s %%{row} deleted': '已刪除 %s 筆', +'%s %%{row} updated': '已更新 %s 筆', +'%s selected': '%s 已選擇', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'(something like "it-it")': '(格式類似 "zh-tw")', +'A new version of web2py is available': '新版的 web2py 已發行', +'A new version of web2py is available: %s': '新版的 web2py 已發行: %s', +'about': '關於', +'About': '關於', +'About application': '關於本應用程式', +'Access Control': 'Access Control', +'Admin is disabled because insecure channel': '管理功能(Admin)在不安全連線環境下自動關閉', +'Admin is disabled because unsecure channel': '管理功能(Admin)在不安全連線環境下自動關閉', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': '點此處進入管理介面', +'Administrator Password:': '管理員密碼:', +'Ajax Recipes': 'Ajax Recipes', +'An error occured, please %s the page': 'An error occured, please %s the page', +'appadmin is disabled because insecure channel': '因為來自非安全通道,管理介面關閉', +'Are you sure you want to delete file "%s"?': '確定要刪除檔案"%s"?', +'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', +'Are you sure you want to uninstall application "%s"': '確定要移除應用程式 "%s"', +'Are you sure you want to uninstall application "%s"?': '確定要移除應用程式 "%s"', +'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '注意: 登入管理帳號需要安全連線(HTTPS)或是在本機連線(localhost).', +'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: 因為在測試模式不保證多執行緒安全性,也就是說不可以同時執行多個測試案例', +'ATTENTION: you cannot edit the running application!': '注意:不可編輯正在執行的應用程式!', +'Authentication': '驗證', +'Available Databases and Tables': '可提供的資料庫和資料表', +'Buy this book': 'Buy this book', +'cache': '快取記憶體', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': '不可空白', +'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': '無法編譯:應用程式中含有錯誤,請除錯後再試一次.', +'Change Password': '變更密碼', +'change password': '變更密碼', +'Check to delete': '打勾代表刪除', +'Check to delete:': '點選以示刪除:', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Client IP': '客戶端網址(IP)', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': '控件', +'Controllers': '控件', +'Copyright': '版權所有', +'Create new application': '創建應用程式', +'Created By': 'Created By', +'Created On': 'Created On', +'Current request': '目前網路資料要求(request)', +'Current response': '目前網路資料回應(response)', +'Current session': '目前網路連線資訊(session)', +'customize me!': '請調整我!', +'data uploaded': '資料已上傳', +'Database': '資料庫', +'Database %s select': '已選擇 %s 資料庫', +'Date and Time': '日期和時間', +'db': 'db', +'DB Model': '資料庫模組', +'Delete': '刪除', +'Delete:': '刪除:', +'Demo': 'Demo', +'Deploy on Google App Engine': '配置到 Google App Engine', +'Deployment Recipes': 'Deployment Recipes', +'Description': '描述', +'DESIGN': '設計', +'design': '設計', +'Design for': '設計為了', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': '完成!', +'Download': 'Download', +'E-mail': '電子郵件', +'EDIT': '編輯', +'Edit': '編輯', +'Edit application': '編輯應用程式', +'Edit current record': '編輯當前紀錄', +'edit profile': '編輯設定檔', +'Edit Profile': '編輯設定檔', +'Edit This App': '編輯本應用程式', +'Editing file': '編輯檔案', +'Editing file "%s"': '編輯檔案"%s"', +'Email and SMS': 'Email and SMS', +'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g', +'Error logs for "%(app)s"': '"%(app)s"的錯誤紀錄', +'Errors': 'Errors', +'export as csv file': '以逗號分隔檔(csv)格式匯出', +'FAQ': 'FAQ', +'First name': '名', +'Forgot username?': 'Forgot username?', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函式會顯示 [passed].', +'Group ID': '群組編號', +'Groups': 'Groups', +'Hello World': '嗨! 世界', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': '匯入/匯出', +'Index': '索引', +'insert new': '插入新資料', +'insert new %s': '插入新資料 %s', +'Installed applications': '已安裝應用程式', +'Internal State': '內部狀態', +'Introduction': 'Introduction', +'Invalid action': '不合法的動作(action)', +'Invalid email': '不合法的電子郵件', +'Invalid Query': '不合法的查詢', +'invalid request': '不合法的網路要求(request)', +'Is Active': 'Is Active', +'Key': 'Key', +'Language files (static strings) updated': '語言檔已更新', +'Languages': '各國語言', +'Last name': '姓', +'Last saved on:': '最後儲存時間:', +'Layout': '網頁配置', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'License for': '軟體版權為', +'Live Chat': 'Live Chat', +'login': '登入', +'Login': '登入', +'Login to the Administrative Interface': '登入到管理員介面', +'logout': '登出', +'Logout': '登出', +'Lost Password': '密碼遺忘', +'Lost password?': 'Lost password?', +'Main Menu': '主選單', +'Manage Cache': 'Manage Cache', +'Menu Model': '選單模組(menu)', +'Models': '資料模組', +'Modified By': 'Modified By', +'Modified On': 'Modified On', +'Modules': '程式模組', +'My Sites': 'My Sites', +'Name': '名字', +'New Record': '新紀錄', +'new record inserted': '已插入新紀錄', +'next 100 rows': '往後 100 筆', +'NO': '否', +'No databases in this application': '這應用程式不含資料庫', +'Object or table name': 'Object or table name', +'Online examples': '點此處進入線上範例', +'or import from csv file': '或是從逗號分隔檔(CSV)匯入', +'Origin': '原文', +'Original/Translation': '原文/翻譯', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Password': '密碼', +"Password fields don't match": '密碼欄不匹配', +'Peeking at file': '選擇檔案', +'Plugins': 'Plugins', +'Powered by': '基於以下技術構建:', +'Preface': 'Preface', +'previous 100 rows': '往前 100 筆', +'Python': 'Python', +'Query:': '查詢:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': '紀錄', +'record does not exist': '紀錄不存在', +'Record ID': '紀錄編號', +'Record id': '紀錄編號', +'Register': '註冊', +'register': '註冊', +'Registration identifier': 'Registration identifier', +'Registration key': '註冊金鑰', +'reload': 'reload', +'Remember me (for 30 days)': '記住我(30 天)', +'Reset Password key': '重設密碼', +'Resolve Conflict file': '解決衝突檔案', +'Role': '角色', +'Rows in Table': '在資料表裏的資料', +'Rows selected': '筆資料被選擇', +'Saved file hash:': '檔案雜湊值已紀錄:', +'Semantic': 'Semantic', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': '狀態', +'Static files': '靜態檔案', +'Statistics': 'Statistics', +'Stylesheet': '網頁風格檔', +'submit': 'submit', +'Submit': '傳送', +'Support': 'Support', +'Sure you want to delete this object?': '確定要刪除此物件?', +'Table': '資料表', +'Table name': '資料表名稱', +'Testing application': '測試中的應用程式', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"查詢"是一個像 "db.表1.欄位1==\'值\'" 的條件式. 以"db.表1.欄位1==db.表2.欄位2"方式則相當於執行 JOIN SQL.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': 'The Views', +'There are no controllers': '沒有控件(controllers)', +'There are no models': '沒有資料庫模組(models)', +'There are no modules': '沒有程式模組(modules)', +'There are no static files': '沒有靜態檔案', +'There are no translators, only default language is supported': '沒有翻譯檔,只支援原始語言', +'There are no views': '沒有視圖', +'This App': 'This App', +'This is the %(filename)s template': '這是%(filename)s檔案的樣板(template)', +'Ticket': '問題單', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': '時間標記', +'Twitter': 'Twitter', +'Unable to check for upgrades': '無法做升級檢查', +'Unable to download': '無法下載', +'Unable to download app': '無法下載應用程式', +'unable to parse csv file': '無法解析逗號分隔檔(csv)', +'Update:': '更新:', +'Upload existing application': '更新存在的應用程式', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式來組合更複雜的條件式, (...)&(...) 代表同時存在的條件, (...)|(...) 代表擇一的條件, ~(...)則代表反向條件.', +'User %(id)s Logged-in': '使用者 %(id)s 已登入', +'User %(id)s Registered': '使用者 %(id)s 已註冊', +'User ID': '使用者編號', +'Verify Password': '驗證密碼', +'Videos': 'Videos', +'View': '視圖', +'Views': '視圖', +'Welcome': 'Welcome', +'Welcome %s': '歡迎 %s', +'Welcome to web2py': '歡迎使用 web2py', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'YES': '是', +'You are successfully running web2py': 'You are successfully running web2py', +'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/languages/zh.py b/applications/welcome3/languages/zh.py new file mode 100644 index 00000000..d4790627 --- /dev/null +++ b/applications/welcome3/languages/zh.py @@ -0,0 +1,231 @@ +# -*- coding: utf-8 -*- +{ +'!langcode!': 'zh-tw', +'!langname!': '中文', +'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"更新" 是選擇性的條件式, 格式就像 "欄位1=\'值\'". 但是 JOIN 的資料不可以使用 update 或是 delete"', +'%s %%{row} deleted': '已刪除 %s 筆', +'%s %%{row} updated': '已更新 %s 筆', +'%s selected': '%s 已選擇', +'%Y-%m-%d': '%Y-%m-%d', +'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', +'(something like "it-it")': '(格式類似 "zh-tw")', +'A new version of web2py is available': '新版的 web2py 已發行', +'A new version of web2py is available: %s': '新版的 web2py 已發行: %s', +'about': '關於', +'About': '關於', +'About application': '關於本應用程式', +'Access Control': 'Access Control', +'Admin is disabled because insecure channel': '管理功能(Admin)在不安全連線環境下自動關閉', +'Admin is disabled because unsecure channel': '管理功能(Admin)在不安全連線環境下自動關閉', +'Administrative Interface': 'Administrative Interface', +'Administrative interface': '點此處進入管理介面', +'Administrator Password:': '管理員密碼:', +'Ajax Recipes': 'Ajax Recipes', +'appadmin is disabled because insecure channel': '因為來自非安全通道,管理介面關閉', +'Are you sure you want to delete file "%s"?': '確定要刪除檔案"%s"?', +'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', +'Are you sure you want to uninstall application "%s"': '確定要移除應用程式 "%s"', +'Are you sure you want to uninstall application "%s"?': '確定要移除應用程式 "%s"', +'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '注意: 登入管理帳號需要安全連線(HTTPS)或是在本機連線(localhost).', +'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: 因為在測試模式不保證多執行緒安全性,也就是說不可以同時執行多個測試案例', +'ATTENTION: you cannot edit the running application!': '注意:不可編輯正在執行的應用程式!', +'Authentication': '驗證', +'Available Databases and Tables': '可提供的資料庫和資料表', +'Buy this book': 'Buy this book', +'cache': '快取記憶體', +'Cache': 'Cache', +'Cache Keys': 'Cache Keys', +'Cannot be empty': '不可空白', +'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': '無法編譯:應用程式中含有錯誤,請除錯後再試一次.', +'Change Password': '變更密碼', +'change password': '變更密碼', +'Check to delete': '打勾代表刪除', +'Check to delete:': '點選以示刪除:', +'Clear CACHE?': 'Clear CACHE?', +'Clear DISK': 'Clear DISK', +'Clear RAM': 'Clear RAM', +'Client IP': '客戶端網址(IP)', +'Community': 'Community', +'Components and Plugins': 'Components and Plugins', +'Controller': '控件', +'Controllers': '控件', +'Copyright': '版權所有', +'Create new application': '創建應用程式', +'Current request': '目前網路資料要求(request)', +'Current response': '目前網路資料回應(response)', +'Current session': '目前網路連線資訊(session)', +'customize me!': '請調整我!', +'data uploaded': '資料已上傳', +'Database': '資料庫', +'Database %s select': '已選擇 %s 資料庫', +'Date and Time': '日期和時間', +'db': 'db', +'DB Model': '資料庫模組', +'Delete': '刪除', +'Delete:': '刪除:', +'Demo': 'Demo', +'Deploy on Google App Engine': '配置到 Google App Engine', +'Deployment Recipes': 'Deployment Recipes', +'Description': '描述', +'DESIGN': '設計', +'design': '設計', +'Design for': '設計為了', +'DISK': 'DISK', +'Disk Cache Keys': 'Disk Cache Keys', +'Disk Cleared': 'Disk Cleared', +'Documentation': 'Documentation', +"Don't know what to do?": "Don't know what to do?", +'done!': '完成!', +'Download': 'Download', +'E-mail': '電子郵件', +'EDIT': '編輯', +'Edit': '編輯', +'Edit application': '編輯應用程式', +'Edit current record': '編輯當前紀錄', +'edit profile': '編輯設定檔', +'Edit Profile': '編輯設定檔', +'Edit This App': '編輯本應用程式', +'Editing file': '編輯檔案', +'Editing file "%s"': '編輯檔案"%s"', +'Email and SMS': 'Email and SMS', +'Error logs for "%(app)s"': '"%(app)s"的錯誤紀錄', +'Errors': 'Errors', +'export as csv file': '以逗號分隔檔(csv)格式匯出', +'FAQ': 'FAQ', +'First name': '名', +'Forms and Validators': 'Forms and Validators', +'Free Applications': 'Free Applications', +'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函式會顯示 [passed].', +'Group ID': '群組編號', +'Groups': 'Groups', +'Hello World': '嗨! 世界', +'Home': 'Home', +'How did you get here?': 'How did you get here?', +'import': 'import', +'Import/Export': '匯入/匯出', +'Index': '索引', +'insert new': '插入新資料', +'insert new %s': '插入新資料 %s', +'Installed applications': '已安裝應用程式', +'Internal State': '內部狀態', +'Introduction': 'Introduction', +'Invalid action': '不合法的動作(action)', +'Invalid email': '不合法的電子郵件', +'Invalid Query': '不合法的查詢', +'invalid request': '不合法的網路要求(request)', +'Key': 'Key', +'Language files (static strings) updated': '語言檔已更新', +'Languages': '各國語言', +'Last name': '姓', +'Last saved on:': '最後儲存時間:', +'Layout': '網頁配置', +'Layout Plugins': 'Layout Plugins', +'Layouts': 'Layouts', +'License for': '軟體版權為', +'Live Chat': 'Live Chat', +'login': '登入', +'Login': '登入', +'Login to the Administrative Interface': '登入到管理員介面', +'logout': '登出', +'Logout': '登出', +'Lost Password': '密碼遺忘', +'Main Menu': '主選單', +'Manage Cache': 'Manage Cache', +'Menu Model': '選單模組(menu)', +'Models': '資料模組', +'Modules': '程式模組', +'My Sites': 'My Sites', +'Name': '名字', +'New Record': '新紀錄', +'new record inserted': '已插入新紀錄', +'next 100 rows': '往後 100 筆', +'NO': '否', +'No databases in this application': '這應用程式不含資料庫', +'Online examples': '點此處進入線上範例', +'or import from csv file': '或是從逗號分隔檔(CSV)匯入', +'Origin': '原文', +'Original/Translation': '原文/翻譯', +'Other Plugins': 'Other Plugins', +'Other Recipes': 'Other Recipes', +'Overview': 'Overview', +'Password': '密碼', +"Password fields don't match": '密碼欄不匹配', +'Peeking at file': '選擇檔案', +'Plugins': 'Plugins', +'Powered by': '基於以下技術構建:', +'Preface': 'Preface', +'previous 100 rows': '往前 100 筆', +'Python': 'Python', +'Query:': '查詢:', +'Quick Examples': 'Quick Examples', +'RAM': 'RAM', +'RAM Cache Keys': 'RAM Cache Keys', +'Ram Cleared': 'Ram Cleared', +'Recipes': 'Recipes', +'Record': '紀錄', +'record does not exist': '紀錄不存在', +'Record ID': '紀錄編號', +'Record id': '紀錄編號', +'Register': '註冊', +'register': '註冊', +'Registration key': '註冊金鑰', +'Remember me (for 30 days)': '記住我(30 天)', +'Reset Password key': '重設密碼', +'Resolve Conflict file': '解決衝突檔案', +'Role': '角色', +'Rows in Table': '在資料表裏的資料', +'Rows selected': '筆資料被選擇', +'Saved file hash:': '檔案雜湊值已紀錄:', +'Semantic': 'Semantic', +'Services': 'Services', +'Size of cache:': 'Size of cache:', +'state': '狀態', +'Static files': '靜態檔案', +'Statistics': 'Statistics', +'Stylesheet': '網頁風格檔', +'submit': 'submit', +'Submit': '傳送', +'Support': 'Support', +'Sure you want to delete this object?': '確定要刪除此物件?', +'Table': '資料表', +'Table name': '資料表名稱', +'Testing application': '測試中的應用程式', +'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"查詢"是一個像 "db.表1.欄位1==\'值\'" 的條件式. 以"db.表1.欄位1==db.表2.欄位2"方式則相當於執行 JOIN SQL.', +'The Core': 'The Core', +'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', +'The Views': 'The Views', +'There are no controllers': '沒有控件(controllers)', +'There are no models': '沒有資料庫模組(models)', +'There are no modules': '沒有程式模組(modules)', +'There are no static files': '沒有靜態檔案', +'There are no translators, only default language is supported': '沒有翻譯檔,只支援原始語言', +'There are no views': '沒有視圖', +'This App': 'This App', +'This is the %(filename)s template': '這是%(filename)s檔案的樣板(template)', +'Ticket': '問題單', +'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', +'Timestamp': '時間標記', +'Twitter': 'Twitter', +'Unable to check for upgrades': '無法做升級檢查', +'Unable to download': '無法下載', +'Unable to download app': '無法下載應用程式', +'unable to parse csv file': '無法解析逗號分隔檔(csv)', +'Update:': '更新:', +'Upload existing application': '更新存在的應用程式', +'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式來組合更複雜的條件式, (...)&(...) 代表同時存在的條件, (...)|(...) 代表擇一的條件, ~(...)則代表反向條件.', +'User %(id)s Logged-in': '使用者 %(id)s 已登入', +'User %(id)s Registered': '使用者 %(id)s 已註冊', +'User ID': '使用者編號', +'Verify Password': '驗證密碼', +'Videos': 'Videos', +'View': '視圖', +'Views': '視圖', +'Welcome %s': '歡迎 %s', +'Welcome to web2py': '歡迎使用 web2py', +'Welcome to web2py!': 'Welcome to web2py!', +'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', +'YES': '是', +'You are successfully running web2py': 'You are successfully running web2py', +'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', +'You visited the url %s': 'You visited the url %s', +} diff --git a/applications/welcome3/models/db.py b/applications/welcome3/models/db.py new file mode 100644 index 00000000..ab0c624e --- /dev/null +++ b/applications/welcome3/models/db.py @@ -0,0 +1,89 @@ +# -*- coding: utf-8 -*- + +######################################################################### +## This scaffolding model makes your app work on Google App Engine too +## File is released under public domain and you can use without limitations +######################################################################### + +## if SSL/HTTPS is properly configured and you want all HTTP requests to +## be redirected to HTTPS, uncomment the line below: +# request.requires_https() + +if not request.env.web2py_runtime_gae: + ## if NOT running on Google App Engine use SQLite or other DB + db = DAL('sqlite://storage.sqlite',pool_size=1,check_reserved=['all']) +else: + ## connect to Google BigTable (optional 'google:datastore://namespace') + db = DAL('google:datastore+ndb') + ## store sessions and tickets there + session.connect(request, response, db=db) + ## or store session in Memcache, Redis, etc. + ## from gluon.contrib.memdb import MEMDB + ## from google.appengine.api.memcache import Client + ## session.connect(request, response, db = MEMDB(Client())) + +## by default give a view/generic.extension to all actions from localhost +## none otherwise. a pattern can be 'controller/function.extension' +response.generic_patterns = ['*'] if request.is_local else [] +## choose a style for forms +response.formstyle = 'bootstrap3_inline' # or 'bootstrap3_stacked' or 'bootstrap2' or other + +## (optional) optimize handling of static files +# response.optimize_css = 'concat,minify,inline' +# response.optimize_js = 'concat,minify,inline' +## (optional) static assets folder versioning +# response.static_version = '0.0.0' +######################################################################### +## Here is sample code if you need for +## - email capabilities +## - authentication (registration, login, logout, ... ) +## - authorization (role based authorization) +## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss) +## - old style crud actions +## (more options discussed in gluon/tools.py) +######################################################################### + +from gluon.tools import Auth, Service, PluginManager + +auth = Auth(db) +service = Service() +plugins = PluginManager() + +## create all tables needed by auth if not custom tables +auth.define_tables(username=False, signature=False) + +## configure email +mail = auth.settings.mailer +mail.settings.server = 'logging' if request.is_local else 'smtp.gmail.com:587' +mail.settings.sender = 'you@gmail.com' +mail.settings.login = 'username:password' + +## configure auth policy +auth.settings.registration_requires_verification = False +auth.settings.registration_requires_approval = False +auth.settings.reset_password_requires_verification = True + +## if you need to use OpenID, Facebook, MySpace, Twitter, Linkedin, etc. +## register with janrain.com, write your domain:api_key in private/janrain.key +from gluon.contrib.login_methods.janrain_account import use_janrain +use_janrain(auth, filename='private/janrain.key') + +######################################################################### +## Define your tables below (or better in another model file) for example +## +## >>> db.define_table('mytable',Field('myfield','string')) +## +## Fields can be 'string','text','password','integer','double','boolean' +## 'date','time','datetime','blob','upload', 'reference TABLENAME' +## There is an implicit 'id integer autoincrement' field +## Consult manual for more options, validators, etc. +## +## More API examples for controllers: +## +## >>> db.mytable.insert(myfield='value') +## >>> rows=db(db.mytable.myfield=='value').select(db.mytable.ALL) +## >>> for row in rows: print row.id, row.myfield +######################################################################### + +## after defining tables, uncomment below to enable auditing +# auth.enable_record_versioning(db) diff --git a/applications/welcome3/models/menu.py b/applications/welcome3/models/menu.py new file mode 100644 index 00000000..7994b049 --- /dev/null +++ b/applications/welcome3/models/menu.py @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- +# this file is released under public domain and you can use without limitations + +######################################################################### +## Customize your APP title, subtitle and menus here +######################################################################### + +response.logo = A(B('web',SPAN(2),'py'),XML('™ '), + _class="navbar-brand",_href="http://www.web2py.com/", + _id="web2py-logo") +response.title = request.application.replace('_',' ').title() +response.subtitle = '' + +## read more at http://dev.w3.org/html5/markup/meta.name.html +response.meta.author = 'Your Name ' +response.meta.description = 'a cool new app' +response.meta.keywords = 'web2py, python, framework' +response.meta.generator = 'Web2py Web Framework' + +## your http://google.com/analytics id +response.google_analytics_id = None + +######################################################################### +## this is the main application menu add/remove items as required +######################################################################### + +response.menu = [ + (T('Home'), False, URL('default', 'index'), []) +] + +DEVELOPMENT_MENU = True + +######################################################################### +## provide shortcuts for development. remove in production +######################################################################### + +def _(): + # shortcuts + app = request.application + ctr = request.controller + # useful links to internal and external resources + response.menu += [ + (SPAN('web2py', _class='highlighted'), False, 'http://web2py.com', [ + (T('My Sites'), False, URL('admin', 'default', 'site')), + (T('This App'), False, URL('admin', 'default', 'design/%s' % app), [ + (T('Controller'), False, + URL( + 'admin', 'default', 'edit/%s/controllers/%s.py' % (app, ctr))), + (T('View'), False, + URL( + 'admin', 'default', 'edit/%s/views/%s' % (app, response.view))), + (T('Layout'), False, + URL( + 'admin', 'default', 'edit/%s/views/layout.html' % app)), + (T('Stylesheet'), False, + URL( + 'admin', 'default', 'edit/%s/static/css/web2py.css' % app)), + (T('DB Model'), False, + URL( + 'admin', 'default', 'edit/%s/models/db.py' % app)), + (T('Menu Model'), False, + URL( + 'admin', 'default', 'edit/%s/models/menu.py' % app)), + (T('Database'), False, URL(app, 'appadmin', 'index')), + (T('Errors'), False, URL( + 'admin', 'default', 'errors/' + app)), + (T('About'), False, URL( + 'admin', 'default', 'about/' + app)), + ]), + ('web2py.com', False, 'http://www.web2py.com', [ + (T('Download'), False, + 'http://www.web2py.com/examples/default/download'), + (T('Support'), False, + 'http://www.web2py.com/examples/default/support'), + (T('Demo'), False, 'http://web2py.com/demo_admin'), + (T('Quick Examples'), False, + 'http://web2py.com/examples/default/examples'), + (T('FAQ'), False, 'http://web2py.com/AlterEgo'), + (T('Videos'), False, + 'http://www.web2py.com/examples/default/videos/'), + (T('Free Applications'), + False, 'http://web2py.com/appliances'), + (T('Plugins'), False, 'http://web2py.com/plugins'), + (T('Layouts'), False, 'http://web2py.com/layouts'), + (T('Recipes'), False, 'http://web2pyslices.com/'), + (T('Semantic'), False, 'http://web2py.com/semantic'), + ]), + (T('Documentation'), False, 'http://www.web2py.com/book', [ + (T('Preface'), False, + 'http://www.web2py.com/book/default/chapter/00'), + (T('Introduction'), False, + 'http://www.web2py.com/book/default/chapter/01'), + (T('Python'), False, + 'http://www.web2py.com/book/default/chapter/02'), + (T('Overview'), False, + 'http://www.web2py.com/book/default/chapter/03'), + (T('The Core'), False, + 'http://www.web2py.com/book/default/chapter/04'), + (T('The Views'), False, + 'http://www.web2py.com/book/default/chapter/05'), + (T('Database'), False, + 'http://www.web2py.com/book/default/chapter/06'), + (T('Forms and Validators'), False, + 'http://www.web2py.com/book/default/chapter/07'), + (T('Email and SMS'), False, + 'http://www.web2py.com/book/default/chapter/08'), + (T('Access Control'), False, + 'http://www.web2py.com/book/default/chapter/09'), + (T('Services'), False, + 'http://www.web2py.com/book/default/chapter/10'), + (T('Ajax Recipes'), False, + 'http://www.web2py.com/book/default/chapter/11'), + (T('Components and Plugins'), False, + 'http://www.web2py.com/book/default/chapter/12'), + (T('Deployment Recipes'), False, + 'http://www.web2py.com/book/default/chapter/13'), + (T('Other Recipes'), False, + 'http://www.web2py.com/book/default/chapter/14'), + (T('Buy this book'), False, + 'http://stores.lulu.com/web2py'), + ]), + (T('Community'), False, None, [ + (T('Groups'), False, + 'http://www.web2py.com/examples/default/usergroups'), + (T('Twitter'), False, 'http://twitter.com/web2py'), + (T('Live Chat'), False, + 'http://webchat.freenode.net/?channels=web2py'), + ]), + (T('Plugins'), False, 'http://web2py.com/plugins')] + )] +if DEVELOPMENT_MENU: _() + +if "auth" in locals(): auth.wikimenu() diff --git a/applications/welcome3/modules/__init__.py b/applications/welcome3/modules/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/applications/welcome3/modules/__init__.py @@ -0,0 +1 @@ + diff --git a/applications/welcome3/modules/__init__.pyc b/applications/welcome3/modules/__init__.pyc new file mode 100644 index 00000000..48f9f12b Binary files /dev/null and b/applications/welcome3/modules/__init__.pyc differ diff --git a/applications/welcome3/routes.example.py b/applications/welcome3/routes.example.py new file mode 100644 index 00000000..95130e18 --- /dev/null +++ b/applications/welcome3/routes.example.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +# This is an app-specific example router +# +# This simple router is used for setting languages from app/languages directory +# as a part of the application path: app//controller/function +# Language from default.py or 'en' (if the file is not found) is used as +# a default_language +# +# See /router.example.py for parameter's detail +#------------------------------------------------------------------------------------- +# To enable this route file you must do the steps: +# +# 1. rename /router.example.py to routes.py +# 2. rename this APP/routes.example.py to APP/routes.py +# (where APP - is your application directory) +# 3. restart web2py (or reload routes in web2py admin interfase) +# +# YOU CAN COPY THIS FILE TO ANY APPLICATION'S ROOT DIRECTORY WITHOUT CHANGES! + +from fileutils import abspath +from languages import read_possible_languages + +possible_languages = read_possible_languages(abspath('applications', app)) +#NOTE! app - is an application based router's parameter with name of an +# application. E.g.'welcome' + +routers = { + app: dict( + default_language = possible_languages['default'][0], + languages = [lang for lang in possible_languages + if lang != 'default'] + ) +} + +#NOTE! To change language in your application using these rules add this line +#in one of your models files: +# if request.uri_language: T.force(request.uri_language) diff --git a/applications/welcome3/routes.example.py.bak2 b/applications/welcome3/routes.example.py.bak2 new file mode 100644 index 00000000..95130e18 --- /dev/null +++ b/applications/welcome3/routes.example.py.bak2 @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +# This is an app-specific example router +# +# This simple router is used for setting languages from app/languages directory +# as a part of the application path: app//controller/function +# Language from default.py or 'en' (if the file is not found) is used as +# a default_language +# +# See /router.example.py for parameter's detail +#------------------------------------------------------------------------------------- +# To enable this route file you must do the steps: +# +# 1. rename /router.example.py to routes.py +# 2. rename this APP/routes.example.py to APP/routes.py +# (where APP - is your application directory) +# 3. restart web2py (or reload routes in web2py admin interfase) +# +# YOU CAN COPY THIS FILE TO ANY APPLICATION'S ROOT DIRECTORY WITHOUT CHANGES! + +from fileutils import abspath +from languages import read_possible_languages + +possible_languages = read_possible_languages(abspath('applications', app)) +#NOTE! app - is an application based router's parameter with name of an +# application. E.g.'welcome' + +routers = { + app: dict( + default_language = possible_languages['default'][0], + languages = [lang for lang in possible_languages + if lang != 'default'] + ) +} + +#NOTE! To change language in your application using these rules add this line +#in one of your models files: +# if request.uri_language: T.force(request.uri_language) diff --git a/applications/welcome3/static/403.html b/applications/welcome3/static/403.html new file mode 100644 index 00000000..e1a29c1f --- /dev/null +++ b/applications/welcome3/static/403.html @@ -0,0 +1 @@ +403 diff --git a/applications/welcome3/static/404.html b/applications/welcome3/static/404.html new file mode 100644 index 00000000..f1b1cb3a --- /dev/null +++ b/applications/welcome3/static/404.html @@ -0,0 +1 @@ +404 diff --git a/applications/welcome3/static/500.html b/applications/welcome3/static/500.html new file mode 100644 index 00000000..1b79f38e --- /dev/null +++ b/applications/welcome3/static/500.html @@ -0,0 +1 @@ +500 diff --git a/applications/welcome3/static/css/bootstrap-responsive.min.css b/applications/welcome3/static/css/bootstrap-responsive.min.css new file mode 100644 index 00000000..96a435be --- /dev/null +++ b/applications/welcome3/static/css/bootstrap-responsive.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap Responsive v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} diff --git a/applications/welcome3/static/css/bootstrap.min.css b/applications/welcome3/static/css/bootstrap.min.css new file mode 100644 index 00000000..a9f35cee --- /dev/null +++ b/applications/welcome3/static/css/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-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}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/applications/welcome3/static/css/calendar.css b/applications/welcome3/static/css/calendar.css new file mode 100644 index 00000000..51d68a91 --- /dev/null +++ b/applications/welcome3/static/css/calendar.css @@ -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} diff --git a/applications/welcome3/static/css/web2py-bootstrap3.css b/applications/welcome3/static/css/web2py-bootstrap3.css new file mode 100644 index 00000000..2e18330c --- /dev/null +++ b/applications/welcome3/static/css/web2py-bootstrap3.css @@ -0,0 +1,291 @@ +/*! + * part of the package to convert web2py elements to bootstrap3 theme + * Developed by Paolo Caruccio ( paolo.caruccio66@gmail.com ) + * Released under MIT license + * version 1 rev.201402261600 + * + * Supported version of bootstrap framework: 3.0.2+ + + * The full package includes: + * - bootstrap3.py python module + * - this css file + * - web2py-bootstrap3.js + * - example of layout.html + + */ + + +/*! + * rules overriding web2py.css + * remove if web2py.css is not used + +*/ + +div.flash.alert{ + background-image: none; + border-radius: 4px; + -o-border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-width: 1px; + color: rgb(51, 51, 51); + font-weight: normal; + margin: 0 0 20px 0; + min-width: 28px; + opacity: 1; + padding: 15px 35px 15px 15px; + vertical-align: baseline; + right: auto; } +div.flash.alert:hover { + opacity: 1; } +.ie-lte8 div.flash { + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } +.ie-lte8 div.flash:hover { + filter:alpha(opacity=100); } +ul.navbar-nav li { + margin-bottom: 0; } +ul.list-group, .bs3-form ul , ul.nav-tabs, ul.nav-pills { + margin-left: 0; } +p.lead { + text-align: inherit; } +.bs3-form label { + white-space: normal; } +.bs3-form.form-inline [type="text"], [type="password"], select { + margin-right: 0; } +.bs3-form div.error { + display: none; + width: auto; + background: transparent; + border: none; + color: #a94442; + padding: 0; + background-image: none; } + + +/*! + * bootstrap3 adapters + * essential rules + +*/ + +/* flash messages */ +div.flash.alert { + display: none; + position: fixed; + top: 70px; + right: 75px; + cursor: pointer; + z-index: 1000000; + background-color: #f9edbe; + border-color: #f0c36d; } +div.flash.alert.centered { + right: auto; } +div.flash.alert.leftside { + right: auto; + left: 75px; } +div.flash.alert #closeflash { + display: inline-block; + position: relative; + top: -2px; + right: -21px; + color: inherit; + cursor: pointer; + opacity: 0.5; + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + text-shadow: 0 1px 0 #ffffff; + margin: 0; + padding: 0; } +/* buttons */ +.bs3-form-btn { + margin-top: 3px; + margin-bottom: 3px; } +/*image preview in update forms*/ +.w2p-uploaded-file .btn-group { + vertical-align: top; + margin-top: 0; } +#file-reset-btn { + vertical-align: top; } +.w2p-uploaded-file input[type="file"] { + display:inline-block; + padding-top: 7px; } +.w2p-file-preview img { + max-width: 150px; } +.w2p-file-preview:hover img { + background-color: #ebebeb; + border-color: #adadad; } +.w2p-file-preview span { + min-width: 150px; + max-width: 150px; + display: inline-block; + line-height: 40px; + min-height: 40px; } +#no-file { + display: inline-block; + background-color: #eee; + vertical-align: middle; + text-align: center; + border-radius: 4px; + min-width: 150px; + max-width: 150px; + line-height: 43px; + min-height: 43px; } +/* form-inline */ +.form-inline .form-group { + margin-right: 4px; } +/* list widget */ +.w2p_list li { + margin-bottom: 6px; } +.w2p_list li input { + display: inline-block; + width: 59%; + margin-right: 4px; } +/* autocomplete widget */ +div[id^=_autocomplete_] { + margin-top: -10px; + z-index: 1; } +select.autocomplete { + display: block; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + color: #555; + vertical-align: middle; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-color: #428bca; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075); + box-shadow: inset 0 1px 1px rgba(0,0,0,0.075); + -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; } +/* nav-tabs */ +.nav-tabs { + margin-bottom: 15px; } +/* dropdown multilevels in menu*/ +/* fix issue when screen height is shorter than bs3 default */ +.navbar-collapse.short-screen { + max-height: 200px !important; } +.dropdown-submenu>a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + margin-top: 5px; + margin-right: -10px; + border-style: solid; + /* right-arrow */ + border-color: transparent #cccccc; + border-width: 4px 0 4px 4px; } +@media (min-width: 768px) { + /* animation */ + .navbar-nav .dropdown-menu { + top: -9999px; + display: block; + opacity: 0; + -webkit-transition: opacity .4s ease-in-out; } + .dropdown-submenu { + position: relative; } + .dropdown-submenu>.dropdown-menu { + position: absolute; + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + border-radius: 0 4px 4px 4px; + /* animation */ + left: -9999px; + opacity: 0; + display: block; + -webkit-transition: opacity .4s ease-in-out; } + .navbar ul.nav li[data-w2pmenulevel="l0"]:hover >ul.dropdown-menu { + display: block; + /* animation */ + top: 100%; + opacity: 1; } + .dropdown-submenu:hover>.dropdown-menu { + display: block; + /* animation */ + left: 100%; + opacity: 1; } + .dropdown-submenu:hover>a, + .dropdown-submenu:focus>a { + color: #fff; + text-decoration: none; + background-color: #357ebd; } + .navbar-inverse .navbar-nav>li>a:hover, + .navbar-inverse .navbar-nav>li>a:focus, + .navbar-inverse .navbar-nav>li:hover>a { + color: #fff; + background-color: black; } + .dropdown-submenu>a:hover:after, + .dropdown-submenu:hover>a:after { + /* left-arrow */ + border-color: transparent #fff; + border-width: 4px 4px 4px 0; } +} +@media (max-width: 767px){ + .dropdown-menu { + width: 100%; + display: none; } + .dropdown-submenu>.dropdown-menu { + position: static; + float: none; + display: none; + border: none; + margin: 0; + padding: 0; + box-shadow: none; + text-indent: 8px; } + .dropdown-submenu>.dropdown-menu.open { + display: block; + height: 100%; } + .dropdown-submenu>a:after { + /* down-arrow */ + border-color: #cccccc transparent; + border-width: 4px 4px 0px 4px; } + .dropdown-submenu>a:hover:after { + border-color: #ffffff transparent; } + .dropdown-submenu>a.active { + font-weight: 700; } + .dropdown-submenu>a.active:after { + /* up-arrow */ + border-color: #ffffff transparent; + border-width: 0px 4px 4px 4px; } +} + + +/*! + * application customization + * add custom rules + +*/ + + +body { + padding-top: 70px; } +/* web2py logo */ +#web2py-logo { + color: #c6cecc; } +#web2py-logo b { + display: inline-block; + margin-top: -1px; } +#web2py-logo b>span { + font-size: 22px; + color: white; } +#web2py-logo:hover { + color: white; } +/*footer*/ +#footer>div.row { + padding-top: 9px; + margin: 20px 0 40px 0; + border-top: 1px solid #eee; } +#footer p { + margin-left: -15px; + margin-right: -15px; } +.dropdown .highlighted { + color: #428bca; + } diff --git a/applications/welcome3/static/css/web2py.css b/applications/welcome3/static/css/web2py.css new file mode 100644 index 00000000..4a89ae9f --- /dev/null +++ b/applications/welcome3/static/css/web2py.css @@ -0,0 +1,313 @@ +/** these MUST stay **/ +a {text-decoration:none; white-space:nowrap} +a:hover {text-decoration:underline} +a.button {text-decoration:none} +h1,h2,h3,h4,h5,h6 {margin:0.5em 0 0.25em 0; display:block; + font-family:Helvetica} +h1 {font-size:4.00em} +h2 {font-size:3.00em} +h3 {font-size:2.00em} +h4 {font-size:1.50em} +h5 {font-size:1.25em} +h6 {font-size:1.12em} +th,label {font-weight:bold; white-space:nowrap;} +td,th {text-align:left; padding:2px 5px 2px 5px} +th {vertical-align:middle; border-right:1px solid white} +td {vertical-align:top} +form table tr td label {text-align:left} +p,table,ol,ul {padding:0; margin: 0.75em 0} +p {text-align:justify} +ol, ul {list-style-position:outside; margin-left:2em} +li {margin-bottom:0.5em} +span,input,select,textarea,button,label,a {display:inline} +img {border:0} +blockquote,blockquote p,p blockquote { + font-style:italic; margin:0.5em 30px 0.5em 30px; font-size:0.9em} +i,em {font-style:italic} +strong {font-weight:bold} +small {font-size:0.8em} +code {font-family:Courier} +textarea {width:100%} +video {width:400px} +audio {width:200px} +[type="text"], [type="password"], select { + margin-right: 5px; width: 300px; +} +.hidden {display:none;visibility:visible} +.right {float:right; text-align:right} +.left {float:left; text-align:left} +.center {width:100%; text-align:center; vertical-align:middle} +/** end **/ + +/* Sticky footer begin */ + +.main { + padding:20px 0 50px 0; +} + +.footer,.push { + height:6em; + padding:1em 0; + clear:both; +} + +.footer-content {position:relative; bottom:-4em; width:100%} + +.auth_navbar { + white-space:nowrap; +} + +/* Sticky footer end */ + +.footer { + border-top:1px #DEDEDE solid; +} +.header { + /* background:; */ +} + + +fieldset {padding:16px; border-top:1px #DEDEDE solid} +fieldset legend {text-transform:uppercase; font-weight:bold; padding:4px 16px 4px 16px; background:#f1f1f1} + +/* fix ie problem with menu */ + +td.w2p_fw {padding-bottom:1px} +td.w2p_fl,td.w2p_fw,td.w2p_fc {vertical-align:top} +td.w2p_fl {text-align:left} +td.w2p_fl, td.w2p_fw {padding-right:7px} +td.w2p_fl,td.w2p_fc {padding-top:4px} +div.w2p_export_menu {margin:5px 0} +div.w2p_export_menu a, div.w2p_wiki_tags a, div.w2p_cloud a {margin-left:5px; padding:2px 5px; background-color:#f1f1f1; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;} + +/* tr#submit_record__row {border-top:1px solid #E5E5E5} */ +#submit_record__row td {padding-top:.5em} + +/* Fix */ +#auth_user_remember__row label {display:inline} +#web2py_user_form td {vertical-align:top} + +/*********** web2py specific ***********/ +div.flash { + font-weight:bold; + display:none; + position:fixed; + padding:10px; + top:48px; + right:250px; + min-width:280px; + opacity:0.95; + margin:0px 0px 10px 10px; + vertical-align:middle; + cursor:pointer; + color:#fff; + background-color:#000; + border:2px solid #fff; + border-radius:8px; + -o-border-radius: 8px; + -moz-border-radius:8px; + -webkit-border-radius:8px; + background-image: -webkit-linear-gradient(top,#222,#000); + background-image: -o-linear-gradient(top,#222,#000); + background-image: -moz-linear-gradient(90deg, #222, #000); + background-image: linear-gradient(top,#222,#000); + background-repeat: repeat-x; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + z-index:2000; +} + +div.flash #closeflash{color:inherit; float:right; margin-left:15px;} +.ie-lte7 div.flash #closeflash +{color:expression(this.parentNode.currentStyle['color']);float:none;position:absolute;right:4px;} + +div.flash:hover { opacity:0.25; } + +div.error_wrapper {display:block} +div.error { + color:red; + padding:5px; + display:inline-block; +} + +.topbar { + padding:10px 0; + width:100%; + color:#959595; + vertical-align:middle; + padding:auto; + background-image:-khtml-gradient(linear,left top,left bottom,from(#333333),to(#222222)); + background-image:-moz-linear-gradient(top,#333333,#222222); + background-image:-ms-linear-gradient(top,#333333,#222222); + background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#333333),color-stop(100%,#222222)); + background-image:-webkit-linear-gradient(top,#333333,#222222); + background-image:-o-linear-gradient(top,#333333,#222222); + background-image:linear-gradient(top,#333333,#222222); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0); + -webkit-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1); + -moz-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1); + box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1); +} + +.topbar a { + color:#e1e1e1; +} + +#navbar {float:right; padding:5px; /* same as superfish */} + +.statusbar { + background-color:#F5F5F5; + margin-top:1em; + margin-bottom:1em; + padding:.5em 1em; + border:1px solid #ddd; + border-radius:5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; +} + +.breadcrumbs {float:left} + +.copyright {float:left} +#poweredBy {float:right} + +/* #MEDIA QUERIES SECTION */ + +/* +*Grid +* +* The default style for SQLFORM.grid even using jquery-iu or another ui framework +* will look better with the declarations below +* if needed to remove base.css consider keeping these following lines in some css file. +*/ +/* .web2py_table {border:1px solid #ccc} */ +.web2py_paginator {} +.web2py_grid {width:100%} +.web2py_grid table {width:100%} +.web2py_grid tbody td {padding:2px 5px 2px 5px; vertical-align: middle;} +.web2py_grid .web2py_form td {vertical-align: top;} + +.web2py_grid thead th,.web2py_grid tfoot td { + background-color:#EAEAEA; + padding:10px 5px 10px 5px; +} + +.web2py_grid tr.odd {background-color:#F9F9F9} +.web2py_grid tr:hover {background-color:#F5F5F5} + +/* +.web2py_breadcrumbs a { + line-height:20px; margin-right:5px; display:inline-block; + padding:3px 5px 3px 5px; + font-family:'lucida grande',tahoma,verdana,arial,sans-serif; + color:#3C3C3D; + text-shadow:1px 1px 0 #FFFFFF; + white-space:nowrap; overflow:visible; cursor:pointer; + background:#ECECEC; + border:1px solid #CACACA; + -webkit-border-radius:2px; -moz-border-radius:2px; + -webkit-background-clip:padding-box; border-radius:2px; + outline:none; position:relative; zoom:1; *display:inline; +} +*/ + +.web2py_console form { + width: 100%; + display: inline; + vertical-align: middle; + margin: 0 0 0 5px; +} + +.web2py_console form select { + margin:0; +} + +.web2py_search_actions { + float:left; + text-align:left; +} + +.web2py_grid .row_buttons { + min-height:25px; + vertical-align:middle; +} +.web2py_grid .row_buttons a { + margin:3px; +} + +.web2py_search_actions { + width:100%; +} + +.web2py_grid .row_buttons a, +.web2py_paginator ul li a, +.web2py_search_actions a, +.web2py_console input[type=submit], +.web2py_console input[type=button], +.web2py_console button { + line-height:20px; + margin-right:2px; display:inline-block; + padding:3px 5px 3px 5px; +} + +.web2py_counter { + margin-top:5px; + margin-right:2px; + width:35%; + float:right; + text-align:right; +} + +/*Fix firefox problem*/ +.web2py_table {clear:both; display:block} + +.web2py_paginator { + padding:5px; + text-align:right; + background-color:#f2f2f2; + +} +.web2py_paginator ul { + list-style-type:none; + margin:0px; + padding:0px; +} + +.web2py_paginator ul li { + display:inline; +} + +.web2py_paginator .current { + font-weight:bold; +} + +.web2py_breadcrumbs ul { + list-style:none; + margin-bottom:18px; +} + +li.w2p_grid_breadcrumb_elem { + display:inline-block; +} + +.web2py_console form { vertical-align: middle; } +.web2py_console input, .web2py_console select, +.web2py_console a { margin: 2px; } + + +#wiki_page_body { + width: 600px; + height: auto; + min-height: 400px; +} + +/* fix some IE problems */ + +.ie-lte7 .topbar .container {z-index:2} +.ie-lte8 div.flash{ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#222222', endColorstr='#000000', GradientType=0 ); } +.ie-lte8 div.flash:hover {filter:alpha(opacity=25);} +.ie9 #w2p_query_panel {padding-bottom:2px} + +.web2py_console .form-control {width: 20%; display: inline;} +.web2py_console #w2p_keywords {width: 50%;} +.web2py_search_actions a, .web2py_console input[type=submit], .web2py_console input[type=button], .web2py_console button { padding: 6px 12px; } diff --git a/applications/welcome3/static/fonts/glyphicons-halflings-regular.eot b/applications/welcome3/static/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 00000000..4a4ca865 Binary files /dev/null and b/applications/welcome3/static/fonts/glyphicons-halflings-regular.eot differ diff --git a/applications/welcome3/static/fonts/glyphicons-halflings-regular.svg b/applications/welcome3/static/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 00000000..e3e2dc73 --- /dev/null +++ b/applications/welcome3/static/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/applications/welcome3/static/fonts/glyphicons-halflings-regular.ttf b/applications/welcome3/static/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 00000000..67fa00bf Binary files /dev/null and b/applications/welcome3/static/fonts/glyphicons-halflings-regular.ttf differ diff --git a/applications/welcome3/static/fonts/glyphicons-halflings-regular.woff b/applications/welcome3/static/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 00000000..8c54182a Binary files /dev/null and b/applications/welcome3/static/fonts/glyphicons-halflings-regular.woff differ diff --git a/applications/welcome3/static/images/facebook.png b/applications/welcome3/static/images/facebook.png new file mode 100644 index 00000000..be55dedd Binary files /dev/null and b/applications/welcome3/static/images/facebook.png differ diff --git a/applications/welcome3/static/images/favicon.ico b/applications/welcome3/static/images/favicon.ico new file mode 100644 index 00000000..d2296d5e Binary files /dev/null and b/applications/welcome3/static/images/favicon.ico differ diff --git a/applications/welcome3/static/images/favicon.png b/applications/welcome3/static/images/favicon.png new file mode 100644 index 00000000..bd0a414e Binary files /dev/null and b/applications/welcome3/static/images/favicon.png differ diff --git a/applications/welcome3/static/images/glyphicons-halflings-white.png b/applications/welcome3/static/images/glyphicons-halflings-white.png new file mode 100644 index 00000000..3bf6484a Binary files /dev/null and b/applications/welcome3/static/images/glyphicons-halflings-white.png differ diff --git a/applications/welcome3/static/images/glyphicons-halflings.png b/applications/welcome3/static/images/glyphicons-halflings.png new file mode 100644 index 00000000..a9969993 Binary files /dev/null and b/applications/welcome3/static/images/glyphicons-halflings.png differ diff --git a/applications/welcome3/static/images/gplus-32.png b/applications/welcome3/static/images/gplus-32.png new file mode 100644 index 00000000..c42eab78 Binary files /dev/null and b/applications/welcome3/static/images/gplus-32.png differ diff --git a/applications/welcome3/static/images/twitter.png b/applications/welcome3/static/images/twitter.png new file mode 100644 index 00000000..d94419a4 Binary files /dev/null and b/applications/welcome3/static/images/twitter.png differ diff --git a/applications/welcome3/static/js/analytics.min.js b/applications/welcome3/static/js/analytics.min.js new file mode 100644 index 00000000..e8d27047 --- /dev/null +++ b/applications/welcome3/static/js/analytics.min.js @@ -0,0 +1,3 @@ +!function(){function require(path,parent,orig){var resolved=require.resolve(path);if(null==resolved){orig=orig||path;parent=parent||"root";var err=new Error('Failed to require "'+orig+'" from "'+parent+'"');err.path=orig;err.parent=parent;err.require=true;throw err}var module=require.modules[resolved];if(!module.exports){module.exports={};module.client=module.component=true;module.call(this,module.exports,require.relative(resolved),module)}return module.exports}require.modules={};require.aliases={};require.resolve=function(path){if(path.charAt(0)==="/")path=path.slice(1);var paths=[path,path+".js",path+".json",path+"/index.js",path+"/index.json"];for(var i=0;idocument.w=window');storageContainer.close();storageOwner=storageContainer.w.frames[0].document;storage=storageOwner.createElement("div")}catch(e){storage=doc.createElement("div");storageOwner=doc.body}function withIEStorage(storeFunction){return function(){var args=Array.prototype.slice.call(arguments,0);args.unshift(storage);storageOwner.appendChild(storage);storage.addBehavior("#default#userData");storage.load(localStorageName);var result=storeFunction.apply(store,args);storageOwner.removeChild(storage);return result}}var forbiddenCharsRegex=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function ieKeyFix(key){return key.replace(forbiddenCharsRegex,"___")}store.set=withIEStorage(function(storage,key,val){key=ieKeyFix(key);if(val===undefined){return store.remove(key)}storage.setAttribute(key,store.serialize(val));storage.save(localStorageName);return val});store.get=withIEStorage(function(storage,key){key=ieKeyFix(key);return store.deserialize(storage.getAttribute(key))});store.remove=withIEStorage(function(storage,key){key=ieKeyFix(key);storage.removeAttribute(key);storage.save(localStorageName)});store.clear=withIEStorage(function(storage){var attributes=storage.XMLDocument.documentElement.attributes;storage.load(localStorageName);for(var i=0,attr;attr=attributes[i];i++){storage.removeAttribute(attr.name)}storage.save(localStorageName)});store.getAll=withIEStorage(function(storage){var attributes=storage.XMLDocument.documentElement.attributes;var ret={};for(var i=0,attr;attr=attributes[i];++i){var key=ieKeyFix(attr.name);ret[attr.name]=store.deserialize(storage.getAttribute(key))}return ret})}try{store.set(namespace,namespace);if(store.get(namespace)!=namespace){store.disabled=true}store.remove(namespace)}catch(e){store.disabled=true}store.enabled=!store.disabled;module.exports=store});require.register("segmentio-top-domain/index.js",function(exports,require,module){var url=require("url");module.exports=function(urlStr){var host=url.parse(urlStr).hostname,topLevel=host.match(/[a-z0-9][a-z0-9\-]*[a-z0-9]\.[a-z\.]{2,6}$/i);return topLevel?topLevel[0]:host}});require.register("timoxley-next-tick/index.js",function(exports,require,module){"use strict";if(typeof setImmediate=="function"){module.exports=function(f){setImmediate(f)}}else if(typeof process!="undefined"&&typeof process.nextTick=="function"){module.exports=process.nextTick}else if(typeof window=="undefined"||window.ActiveXObject||!window.postMessage){module.exports=function(f){setTimeout(f)}}else{var q=[];window.addEventListener("message",function(){var i=0;while(i<",i," onl"+'oad="var d=',g,";d.getElementsByTagName('head')[0].",j,"(d.",h,"('script')).",k,"='",l,"//",a.l,"'",'"',">"].join("")}var i="body",m=d[i];if(!m){return setTimeout(ld,100)}a.P(1);var j="appendChild",h="createElement",k="src",n=d[h]("div"),v=n[j](d[h](z)),b=d[h]("iframe"),g="document",e="domain",o;n.style.display="none";m.insertBefore(n,m.firstChild).id=z;b.frameBorder="0";b.id=z+"-loader";if(/MSIE[ ]+6/.test(navigator.userAgent)){b.src="javascript:false"}b.allowTransparency="true";v[j](b);try{b.contentWindow[g].open()}catch(w){c[e]=d[e];o="javascript:var d="+g+".open();d.domain='"+d.domain+"';";b[k]=o+"void(0);"}try{var t=b.contentWindow[g];t.write(p());t.close()}catch(x){b[k]=o+'d.write("'+p().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};ld()};nt()}({loader:"static.olark.com/jsclient/loader0.js",name:"olark",methods:["configure","extend","declare","identify"]});window.olark.identify(options.siteId);var self=this;window.olark("api.box.onExpand",function(){self.chatting=true});window.olark("api.box.onShrink",function(){self.chatting=false});ready()},identify:function(userId,traits){if(!this.options.identify)return;var email=traits.email,name=traits.name||traits.firstName,phone=traits.phone,nickname=name||email||userId;if(name&&email)nickname+=" ("+email+")";window.olark("api.visitor.updateCustomFields",traits);if(email)window.olark("api.visitor.updateEmailAddress",{emailAddress:email});if(name)window.olark("api.visitor.updateFullName",{fullName:name});if(phone)window.olark("api.visitor.updatePhoneNumber",{phoneNumber:phone});if(nickname)window.olark("api.chat.updateVisitorNickname",{snippet:nickname})},track:function(event,properties){if(!this.options.track||!this.chatting)return;window.olark("api.chat.sendNotificationToOperator",{body:'visitor triggered "'+event+'"'})},pageview:function(url){if(!this.options.pageview||!this.chatting)return;window.olark("api.chat.sendNotificationToOperator",{body:"looking at "+window.location.href})}})});require.register("analytics/src/providers/optimizely.js",function(exports,require,module){var each=require("each"),nextTick=require("next-tick"),Provider=require("../provider");module.exports=Provider.extend({name:"Optimizely",defaults:{variations:true},initialize:function(options,ready,analytics){window.optimizely=window.optimizely||[];if(options.variations){var self=this;nextTick(function(){self.replay()})}ready()},track:function(event,properties){if(properties&&properties.revenue)properties.revenue=properties.revenue*100;window.optimizely.push(["trackEvent",event,properties])},replay:function(){var data=window.optimizely.data;if(!data)return;var experiments=data.experiments,variationNamesMap=data.state.variationNamesMap;var traits={};each(variationNamesMap,function(experimentId,variation){traits["Experiment: "+experiments[experimentId].name]=variation});this.analytics.identify(traits)}})});require.register("analytics/src/providers/perfect-audience.js",function(exports,require,module){var Provider=require("../provider"),load=require("load-script");module.exports=Provider.extend({name:"Perfect Audience",key:"siteId",defaults:{siteId:null},initialize:function(options,ready){window._pa||(window._pa={});load("//tag.perfectaudience.com/serve/"+options.siteId+".js",ready)},track:function(event,properties){window._pa.track(event,properties)}})});require.register("analytics/src/providers/pingdom.js",function(exports,require,module){var date=require("load-date"),Provider=require("../provider"),load=require("load-script");module.exports=Provider.extend({name:"Pingdom",key:"id",defaults:{id:null},initialize:function(options,ready){window._prum=[["id",options.id],["mark","firstbyte",date.getTime()]];load("//rum-static.pingdom.net/prum.min.js",ready)}})});require.register("analytics/src/providers/preact.js",function(exports,require,module){var Provider=require("../provider"),isEmail=require("is-email"),load=require("load-script");module.exports=Provider.extend({name:"Preact",key:"projectCode",defaults:{projectCode:null},initialize:function(options,ready){var _lnq=window._lnq=window._lnq||[];_lnq.push(["_setCode",options.projectCode]);load("//d2bbvl6dq48fa6.cloudfront.net/js/ln-2.4.min.js");ready()},identify:function(userId,traits){if(!userId)return;if(traits.created){traits.created_at=Math.floor(traits.created/1e3);delete traits.created +}window._lnq.push(["_setPersonData",{name:traits.name,email:traits.email,uid:userId,properties:traits}])},group:function(groupId,properties){if(!groupId)return;properties.id=groupId;window._lnq.push(["_setAccount",properties])},track:function(event,properties){properties||(properties={});var special={name:event};if(properties.revenue){special.revenue=properties.revenue*100;delete properties.revenue}if(properties.note){special.note=properties.note;delete properties.note}window._lnq.push(["_logEvent",special,properties])}})});require.register("analytics/src/providers/qualaroo.js",function(exports,require,module){var Provider=require("../provider"),isEmail=require("is-email"),load=require("load-script");module.exports=Provider.extend({name:"Qualaroo",defaults:{customerId:null,siteToken:null,track:false},initialize:function(options,ready){window._kiq=window._kiq||[];load("//s3.amazonaws.com/ki.js/"+options.customerId+"/"+options.siteToken+".js");ready()},identify:function(userId,traits){var identity=traits.email||userId;if(identity)window._kiq.push(["identify",identity]);if(traits)window._kiq.push(["set",traits])},track:function(event,properties){if(!this.options.track)return;var traits={};traits["Triggered: "+event]=true;this.identify(null,traits)}})});require.register("analytics/src/providers/quantcast.js",function(exports,require,module){var Provider=require("../provider"),load=require("load-script");module.exports=Provider.extend({name:"Quantcast",key:"pCode",defaults:{pCode:null},initialize:function(options,ready){window._qevents=window._qevents||[];window._qevents.push({qacct:options.pCode});load({http:"http://edge.quantserve.com/quant.js",https:"https://secure.quantserve.com/quant.js"},ready)}})});require.register("analytics/src/providers/sentry.js",function(exports,require,module){var Provider=require("../provider"),load=require("load-script");module.exports=Provider.extend({name:"Sentry",key:"config",defaults:{config:null},initialize:function(options,ready){load("//d3nslu0hdya83q.cloudfront.net/dist/1.0/raven.min.js",function(){window.Raven.config(options.config).install();ready()})},identify:function(userId,traits){traits.id=userId;window.Raven.setUser(traits)},log:function(error,properties){window.Raven.captureException(error,properties)}})});require.register("analytics/src/providers/snapengage.js",function(exports,require,module){var Provider=require("../provider"),isEmail=require("is-email"),load=require("load-script");module.exports=Provider.extend({name:"SnapEngage",key:"apiKey",defaults:{apiKey:null},initialize:function(options,ready){load("//commondatastorage.googleapis.com/code.snapengage.com/js/"+options.apiKey+".js",ready)},identify:function(userId,traits,options){if(!traits.email)return;window.SnapABug.setUserEmail(traits.email)}})});require.register("analytics/src/providers/usercycle.js",function(exports,require,module){var Provider=require("../provider"),load=require("load-script"),user=require("../user");module.exports=Provider.extend({name:"USERcycle",key:"key",defaults:{key:null},initialize:function(options,ready){window._uc=window._uc||[];window._uc.push(["_key",options.key]);load("//api.usercycle.com/javascripts/track.js");ready()},identify:function(userId,traits){if(userId)window._uc.push(["uid",userId]);window._uc.push(["action","came_back",traits])},track:function(event,properties){window._uc.push(["action",event,properties])}})});require.register("analytics/src/providers/userfox.js",function(exports,require,module){var Provider=require("../provider"),extend=require("extend"),load=require("load-script"),isEmail=require("is-email");module.exports=Provider.extend({name:"userfox",key:"clientId",defaults:{clientId:null},initialize:function(options,ready){window._ufq=window._ufq||[];load("//d2y71mjhnajxcg.cloudfront.net/js/userfox-stable.js");ready()},identify:function(userId,traits){if(!traits.email)return;window._ufq.push(["init",{clientId:this.options.clientId,email:traits.email}]);if(traits.created){traits.signup_date=(traits.created.getTime()/1e3).toString();delete traits.created;window._ufq.push(["track",traits])}}})});require.register("analytics/src/providers/uservoice.js",function(exports,require,module){var Provider=require("../provider"),load=require("load-script"),alias=require("alias"),clone=require("clone");module.exports=Provider.extend({name:"UserVoice",defaults:{widgetId:null,forumId:null,showTab:true,mode:"full",primaryColor:"#cc6d00",linkColor:"#007dbf",defaultMode:"support",tabLabel:"Feedback & Support",tabColor:"#cc6d00",tabPosition:"middle-right",tabInverted:false},initialize:function(options,ready){window.UserVoice=window.UserVoice||[];load("//widget.uservoice.com/"+options.widgetId+".js",ready);var optionsClone=clone(options);alias(optionsClone,{forumId:"forum_id",primaryColor:"primary_color",linkColor:"link_color",defaultMode:"default_mode",tabLabel:"tab_label",tabColor:"tab_color",tabPosition:"tab_position",tabInverted:"tab_inverted"});window.showClassicWidget=function(showWhat){window.UserVoice.push([showWhat||"showLightbox","classic_widget",optionsClone])};if(options.showTab){window.showClassicWidget("showTab")}},identify:function(userId,traits){traits.id=userId;window.UserVoice.push(["setCustomFields",traits])}})});require.register("analytics/src/providers/vero.js",function(exports,require,module){var Provider=require("../provider"),isEmail=require("is-email"),load=require("load-script");module.exports=Provider.extend({name:"Vero",key:"apiKey",defaults:{apiKey:null},initialize:function(options,ready){window._veroq=window._veroq||[];window._veroq.push(["init",{api_key:options.apiKey}]);load("//d3qxef4rp70elm.cloudfront.net/m.js");ready()},identify:function(userId,traits){if(!userId||!traits.email)return;traits.id=userId;window._veroq.push(["user",traits])},track:function(event,properties){window._veroq.push(["track",event,properties])}})});require.register("analytics/src/providers/visual-website-optimizer.js",function(exports,require,module){var each=require("each"),inherit=require("inherit"),nextTick=require("next-tick"),Provider=require("../provider");module.exports=VWO;function VWO(){Provider.apply(this,arguments)}inherit(VWO,Provider);VWO.prototype.name="Visual Website Optimizer";VWO.prototype.defaults={replay:true};VWO.prototype.initialize=function(options,ready){if(options.replay)this.replay();ready()};VWO.prototype.replay=function(){var analytics=this.analytics;nextTick(function(){experiments(function(err,traits){if(traits)analytics.identify(traits)})})};function experiments(callback){enqueue(function(){var data={};var ids=window._vwo_exp_ids;if(!ids)return callback();each(ids,function(id){var name=variation(id);if(name)data["Experiment: "+id]=name});callback(null,data)})}function enqueue(fn){window._vis_opt_queue||(window._vis_opt_queue=[]);window._vis_opt_queue.push(fn)}function variation(id){var experiments=window._vwo_exp;if(!experiments)return null;var experiment=experiments[id];var variationId=experiment.combination_chosen;return variationId?experiment.comb_n[variationId]:null}});require.register("analytics/src/providers/woopra.js",function(exports,require,module){var Provider=require("../provider"),each=require("each"),extend=require("extend"),isEmail=require("is-email"),load=require("load-script"),type=require("type"),user=require("../user");module.exports=Provider.extend({name:"Woopra",key:"domain",defaults:{domain:null},initialize:function(options,ready){var self=this;window.woopraReady=function(tracker){tracker.setDomain(self.options.domain);tracker.setIdleTimeout(3e5);var userId=user.id(),traits=user.traits();addTraits(userId,traits,tracker);tracker.track();ready();return false};load("//static.woopra.com/js/woopra.js")},identify:function(userId,traits){if(!window.woopraTracker)return;addTraits(userId,traits,window.woopraTracker)},track:function(event,properties){if(!window.woopraTracker)return;properties||(properties={});properties.name=event;window.woopraTracker.pushEvent(properties)}});function addTraits(userId,traits,tracker){if(userId)traits.id=userId;each(traits,function(key,value){if("string"===type(value))tracker.addVisitorProperty(key,value)})}});require.alias("avetisk-defaults/index.js","analytics/deps/defaults/index.js");require.alias("avetisk-defaults/index.js","defaults/index.js");require.alias("component-clone/index.js","analytics/deps/clone/index.js");require.alias("component-clone/index.js","clone/index.js");require.alias("component-type/index.js","component-clone/deps/type/index.js");require.alias("component-cookie/index.js","analytics/deps/cookie/index.js");require.alias("component-cookie/index.js","cookie/index.js");require.alias("component-each/index.js","analytics/deps/each/index.js");require.alias("component-each/index.js","each/index.js");require.alias("component-type/index.js","component-each/deps/type/index.js");require.alias("component-event/index.js","analytics/deps/event/index.js");require.alias("component-event/index.js","event/index.js");require.alias("component-inherit/index.js","analytics/deps/inherit/index.js");require.alias("component-inherit/index.js","inherit/index.js");require.alias("component-object/index.js","analytics/deps/object/index.js");require.alias("component-object/index.js","object/index.js");require.alias("component-querystring/index.js","analytics/deps/querystring/index.js");require.alias("component-querystring/index.js","querystring/index.js");require.alias("component-trim/index.js","component-querystring/deps/trim/index.js");require.alias("component-type/index.js","analytics/deps/type/index.js");require.alias("component-type/index.js","type/index.js");require.alias("component-url/index.js","analytics/deps/url/index.js");require.alias("component-url/index.js","url/index.js");require.alias("segmentio-after/index.js","analytics/deps/after/index.js");require.alias("segmentio-after/index.js","after/index.js");require.alias("segmentio-alias/index.js","analytics/deps/alias/index.js");require.alias("segmentio-alias/index.js","alias/index.js");require.alias("segmentio-bind-all/index.js","analytics/deps/bind-all/index.js");require.alias("segmentio-bind-all/index.js","analytics/deps/bind-all/index.js");require.alias("segmentio-bind-all/index.js","bind-all/index.js");require.alias("component-bind/index.js","segmentio-bind-all/deps/bind/index.js");require.alias("component-type/index.js","segmentio-bind-all/deps/type/index.js");require.alias("segmentio-bind-all/index.js","segmentio-bind-all/index.js");require.alias("segmentio-canonical/index.js","analytics/deps/canonical/index.js");require.alias("segmentio-canonical/index.js","canonical/index.js");require.alias("segmentio-extend/index.js","analytics/deps/extend/index.js");require.alias("segmentio-extend/index.js","extend/index.js");require.alias("segmentio-is-email/index.js","analytics/deps/is-email/index.js");require.alias("segmentio-is-email/index.js","is-email/index.js");require.alias("segmentio-is-meta/index.js","analytics/deps/is-meta/index.js");require.alias("segmentio-is-meta/index.js","is-meta/index.js");require.alias("segmentio-json/index.js","analytics/deps/json/index.js");require.alias("segmentio-json/index.js","json/index.js");require.alias("component-json-fallback/index.js","segmentio-json/deps/json-fallback/index.js");require.alias("segmentio-load-date/index.js","analytics/deps/load-date/index.js");require.alias("segmentio-load-date/index.js","load-date/index.js");require.alias("segmentio-load-script/index.js","analytics/deps/load-script/index.js");require.alias("segmentio-load-script/index.js","load-script/index.js");require.alias("component-type/index.js","segmentio-load-script/deps/type/index.js");require.alias("segmentio-new-date/index.js","analytics/deps/new-date/index.js");require.alias("segmentio-new-date/index.js","new-date/index.js");require.alias("segmentio-type/index.js","segmentio-new-date/deps/type/index.js");require.alias("segmentio-on-body/index.js","analytics/deps/on-body/index.js");require.alias("segmentio-on-body/index.js","on-body/index.js");require.alias("component-each/index.js","segmentio-on-body/deps/each/index.js");require.alias("component-type/index.js","component-each/deps/type/index.js");require.alias("segmentio-store.js/store.js","analytics/deps/store/store.js");require.alias("segmentio-store.js/store.js","analytics/deps/store/index.js");require.alias("segmentio-store.js/store.js","store/index.js");require.alias("segmentio-json/index.js","segmentio-store.js/deps/json/index.js");require.alias("component-json-fallback/index.js","segmentio-json/deps/json-fallback/index.js");require.alias("segmentio-store.js/store.js","segmentio-store.js/index.js");require.alias("segmentio-top-domain/index.js","analytics/deps/top-domain/index.js");require.alias("segmentio-top-domain/index.js","analytics/deps/top-domain/index.js");require.alias("segmentio-top-domain/index.js","top-domain/index.js");require.alias("component-url/index.js","segmentio-top-domain/deps/url/index.js");require.alias("segmentio-top-domain/index.js","segmentio-top-domain/index.js");require.alias("timoxley-next-tick/index.js","analytics/deps/next-tick/index.js");require.alias("timoxley-next-tick/index.js","next-tick/index.js");require.alias("yields-prevent/index.js","analytics/deps/prevent/index.js");require.alias("yields-prevent/index.js","prevent/index.js");require.alias("analytics/src/index.js","analytics/index.js");if(typeof exports=="object"){module.exports=require("analytics")}else if(typeof define=="function"&&define.amd){define(function(){return require("analytics")})}else{this["analytics"]=require("analytics")}}(); \ No newline at end of file diff --git a/applications/welcome3/static/js/bootstrap.min.js b/applications/welcome3/static/js/bootstrap.min.js new file mode 100644 index 00000000..7c1561a8 --- /dev/null +++ b/applications/welcome3/static/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("