txukunketa
This commit is contained in:
parent
c6a4c118ab
commit
d9e3661071
166
app.py
166
app.py
@ -31,10 +31,10 @@ from ldap3.core.exceptions import LDAPBindError, LDAPConstraintViolationResult,
|
|||||||
import logging
|
import logging
|
||||||
from os import getenv, environ, path
|
from os import getenv, environ, path
|
||||||
import re
|
import re
|
||||||
import sqlite3
|
from libs import flist, slist
|
||||||
from data import flist, slist
|
from libs.localization import *
|
||||||
|
from libs.helper import *
|
||||||
import random
|
import random
|
||||||
import gettext
|
|
||||||
|
|
||||||
BASE_DIR = path.dirname(__file__)
|
BASE_DIR = path.dirname(__file__)
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@ -134,6 +134,9 @@ def post_signup():
|
|||||||
form = request.forms.getunicode
|
form = request.forms.getunicode
|
||||||
isFake = False
|
isFake = False
|
||||||
|
|
||||||
|
manage_codes = Tools()
|
||||||
|
db = 'data/invite-codes.db'
|
||||||
|
|
||||||
def username_validation(e):
|
def username_validation(e):
|
||||||
regex = r'^\w+$'
|
regex = r'^\w+$'
|
||||||
return(bool(re.fullmatch(regex, e)))
|
return(bool(re.fullmatch(regex, e)))
|
||||||
@ -142,23 +145,6 @@ def post_signup():
|
|||||||
regex = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
|
regex = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
|
||||||
return(bool(re.fullmatch(regex, e)))
|
return(bool(re.fullmatch(regex, e)))
|
||||||
|
|
||||||
def code_is_valid(code):
|
|
||||||
con = sqlite3.connect('data/invite-codes.db')
|
|
||||||
cur = con.cursor()
|
|
||||||
|
|
||||||
codes=[]
|
|
||||||
for row in cur.execute('SELECT * FROM codes WHERE valid = 1'):
|
|
||||||
codes.append(row[0])
|
|
||||||
|
|
||||||
return(bool(code in codes))
|
|
||||||
|
|
||||||
def mark_code_as_used(code):
|
|
||||||
con = sqlite3.connect('data/invite-codes.db')
|
|
||||||
cur = con.cursor()
|
|
||||||
|
|
||||||
cur.execute('''UPDATE codes SET valid=? WHERE code==?''',(0, code))
|
|
||||||
con.commit()
|
|
||||||
|
|
||||||
def auto_complete(arg):
|
def auto_complete(arg):
|
||||||
if arg == 'firstname':
|
if arg == 'firstname':
|
||||||
result = random.choice(flist.firstname)
|
result = random.choice(flist.firstname)
|
||||||
@ -169,7 +155,7 @@ def post_signup():
|
|||||||
def error(msg):
|
def error(msg):
|
||||||
return signup_tpl(alerts=[('error', msg, 'fadeOut')], str=i18n.str)
|
return signup_tpl(alerts=[('error', msg, 'fadeOut')], str=i18n.str)
|
||||||
|
|
||||||
if not code_is_valid(form('invite_code')):
|
if not manage_codes.code_is_valid(form('invite_code'), db):
|
||||||
return(error(i18n.msg[4]))
|
return(error(i18n.msg[4]))
|
||||||
|
|
||||||
if len(form('username')) < 3:
|
if len(form('username')) < 3:
|
||||||
@ -206,7 +192,7 @@ def post_signup():
|
|||||||
return error(str(e))
|
return error(str(e))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
mark_code_as_used(form('invite_code'))
|
manage_codes.mark_code_as_used(form('invite_code'), db)
|
||||||
except Error as e:
|
except Error as e:
|
||||||
LOG.warning("There was a problem verifying the invitation code, please try again later.", e)
|
LOG.warning("There was a problem verifying the invitation code, please try again later.", e)
|
||||||
return error(str(e))
|
return error(str(e))
|
||||||
@ -230,10 +216,10 @@ def post_edit_fullname():
|
|||||||
return edit_fullname_tpl(alerts=[('error', msg, 'fadeOut')], data=newSession().get(), str=i18n.str)
|
return edit_fullname_tpl(alerts=[('error', msg, 'fadeOut')], data=newSession().get(), str=i18n.str)
|
||||||
|
|
||||||
if len(form('firstname')) < 3:
|
if len(form('firstname')) < 3:
|
||||||
return error(i18n.msg[10])
|
return error(i18n.msg[11])
|
||||||
|
|
||||||
if len(form('surname')) < 3:
|
if len(form('surname')) < 3:
|
||||||
return error(i18n.msg[11])
|
return error(i18n.msg[12])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
edit_fullname(username, old_firstname, old_surname, form('firstname').lower(), form('surname').lower())
|
edit_fullname(username, old_firstname, old_surname, form('firstname').lower(), form('surname').lower())
|
||||||
@ -241,7 +227,7 @@ def post_edit_fullname():
|
|||||||
LOG.warning("Unsuccessful attempt to edit fullname for %s: %s" % (username, e))
|
LOG.warning("Unsuccessful attempt to edit fullname for %s: %s" % (username, e))
|
||||||
return error(str(e))
|
return error(str(e))
|
||||||
|
|
||||||
return user_tpl(alerts=[('success', i18n.msg[12], 'fadeOut' )], data=newSession().get(), str=i18n.str)
|
return user_tpl(alerts=[('success', i18n.msg[13], 'fadeOut' )], data=newSession().get(), str=i18n.str)
|
||||||
|
|
||||||
@post('/edit_email')
|
@post('/edit_email')
|
||||||
def post_edit_email():
|
def post_edit_email():
|
||||||
@ -261,7 +247,7 @@ def post_edit_email():
|
|||||||
return edit_email_tpl(alerts=[('error', msg, 'fadeOut')], data=newSession().get(), str=i18n.str)
|
return edit_email_tpl(alerts=[('error', msg, 'fadeOut')], data=newSession().get(), str=i18n.str)
|
||||||
|
|
||||||
if not email_is_valid(form('email')):
|
if not email_is_valid(form('email')):
|
||||||
return(error(i18n.msg[13]))
|
return(error(i18n.msg[14]))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
edit_email(username, old_email, form('email').lower())
|
edit_email(username, old_email, form('email').lower())
|
||||||
@ -269,7 +255,7 @@ def post_edit_email():
|
|||||||
LOG.warning("Unsuccessful attempt to change email addres for %s: %s" % (username, e))
|
LOG.warning("Unsuccessful attempt to change email addres for %s: %s" % (username, e))
|
||||||
return error(str(e))
|
return error(str(e))
|
||||||
|
|
||||||
return user_tpl(alerts=[('success', i18n.msg[14], 'fadeOut' )], data=newSession().get(), str=i18n.str)
|
return user_tpl(alerts=[('success', i18n.msg[16], 'fadeOut' )], data=newSession().get(), str=i18n.str)
|
||||||
|
|
||||||
@post('/change_pwd')
|
@post('/change_pwd')
|
||||||
def post_change_pwd():
|
def post_change_pwd():
|
||||||
@ -289,7 +275,7 @@ def post_change_pwd():
|
|||||||
return error(i18n.msg[8])
|
return error(i18n.msg[8])
|
||||||
|
|
||||||
if form('old-password') == form('confirm-password'):
|
if form('old-password') == form('confirm-password'):
|
||||||
return error(i18n.msg[15])
|
return error(i18n.msg[17])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
change_passwords(username, form('old-password'), form('new-password'))
|
change_passwords(username, form('old-password'), form('new-password'))
|
||||||
@ -300,7 +286,7 @@ def post_change_pwd():
|
|||||||
|
|
||||||
LOG.info("Password successfully changed for: %s" % username)
|
LOG.info("Password successfully changed for: %s" % username)
|
||||||
|
|
||||||
return index_tpl(alerts=[('success', i18n.msg[16], 'fadeOut')], username=username, str=i18n.str)
|
return index_tpl(alerts=[('success', i18n.msg[18], 'fadeOut')], username=username, str=i18n.str)
|
||||||
|
|
||||||
@post('/delete')
|
@post('/delete')
|
||||||
def post_delete():
|
def post_delete():
|
||||||
@ -314,14 +300,14 @@ def post_delete():
|
|||||||
if(form('username').lower() == username):
|
if(form('username').lower() == username):
|
||||||
del_user(username)
|
del_user(username)
|
||||||
else:
|
else:
|
||||||
return(error(i18n.msg[17]))
|
return(error(i18n.msg[19]))
|
||||||
except Error as e:
|
except Error as e:
|
||||||
LOG.warning("Unsuccessful attempt to delete the account: %s" % e)
|
LOG.warning("Unsuccessful attempt to delete the account: %s" % e)
|
||||||
return error(str(e))
|
return error(str(e))
|
||||||
|
|
||||||
LOG.info("Account successfully deleted")
|
LOG.info("Account successfully deleted")
|
||||||
|
|
||||||
return index_tpl(alerts=[('success', i18n.msg[18], 'fadeOut')], str=i18n.str)
|
return index_tpl(alerts=[('success', i18n.msg[20], 'fadeOut')], str=i18n.str)
|
||||||
|
|
||||||
@route('/static/<filename>', name='static')
|
@route('/static/<filename>', name='static')
|
||||||
def serve_static(filename):
|
def serve_static(filename):
|
||||||
@ -380,15 +366,15 @@ def login_user(conf, *args):
|
|||||||
login_user_ldap(conf, *args)
|
login_user_ldap(conf, *args)
|
||||||
|
|
||||||
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
||||||
raise Error(i18n.msg[19])
|
raise Error(i18n.msg[21])
|
||||||
|
|
||||||
except LDAPSocketOpenError as e:
|
except LDAPSocketOpenError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[20])
|
raise Error(i18n.msg[22])
|
||||||
|
|
||||||
except LDAPExceptionError as e:
|
except LDAPExceptionError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[21])
|
raise Error(i18n.msg[23])
|
||||||
|
|
||||||
def login_user_ldap(conf, username, password):
|
def login_user_ldap(conf, username, password):
|
||||||
#set current LDAP
|
#set current LDAP
|
||||||
@ -428,15 +414,15 @@ def logout_user(conf, *args):
|
|||||||
logout_user_ldap(conf, *args)
|
logout_user_ldap(conf, *args)
|
||||||
|
|
||||||
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
||||||
raise Error(i18n.msg[19])
|
raise Error(i18n.msg[21])
|
||||||
|
|
||||||
except LDAPSocketOpenError as e:
|
except LDAPSocketOpenError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[20])
|
raise Error(i18n.msg[22])
|
||||||
|
|
||||||
except LDAPExceptionError as e:
|
except LDAPExceptionError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[21])
|
raise Error(i18n.msg[23])
|
||||||
|
|
||||||
def logout_user_ldap(conf, username):
|
def logout_user_ldap(conf, username):
|
||||||
#set current LDAP
|
#set current LDAP
|
||||||
@ -475,15 +461,15 @@ def new_user_account(conf, *args):
|
|||||||
register(conf, *args)
|
register(conf, *args)
|
||||||
|
|
||||||
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
||||||
raise Error(i18n.msg[19])
|
raise Error(i18n.msg[21])
|
||||||
|
|
||||||
except LDAPSocketOpenError as e:
|
except LDAPSocketOpenError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[20])
|
raise Error(i18n.msg[22])
|
||||||
|
|
||||||
except LDAPExceptionError as e:
|
except LDAPExceptionError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[21])
|
raise Error(i18n.msg[23])
|
||||||
|
|
||||||
def register(conf, username, firstname, surname, password, email, isFake):
|
def register(conf, username, firstname, surname, password, email, isFake):
|
||||||
|
|
||||||
@ -503,10 +489,10 @@ def register(conf, username, firstname, surname, password, email, isFake):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if (find_user_dn(conf,c,username) is not None):
|
if (find_user_dn(conf,c,username) is not None):
|
||||||
raise Error(i18n.msg[22])
|
raise Error(i18n.msg[24])
|
||||||
|
|
||||||
if (find_email(conf,c,email)):
|
if (find_email(conf,c,email)):
|
||||||
raise Error(i18n.msg[23])
|
raise Error(i18n.msg[25])
|
||||||
|
|
||||||
except Error as e:
|
except Error as e:
|
||||||
raise e
|
raise e
|
||||||
@ -549,7 +535,7 @@ def new_fullname(conf, *args):
|
|||||||
update_fullname(conf, *args)
|
update_fullname(conf, *args)
|
||||||
|
|
||||||
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
||||||
raise Error(i18n.msg[24])
|
raise Error(i18n.msg[26])
|
||||||
|
|
||||||
except LDAPConstraintViolationResult as e:
|
except LDAPConstraintViolationResult as e:
|
||||||
# Extract useful part of the error message (for Samba 4 / AD).
|
# Extract useful part of the error message (for Samba 4 / AD).
|
||||||
@ -558,11 +544,11 @@ def new_fullname(conf, *args):
|
|||||||
|
|
||||||
except LDAPSocketOpenError as e:
|
except LDAPSocketOpenError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[20])
|
raise Error(i18n.msg[22])
|
||||||
|
|
||||||
except LDAPExceptionError as e:
|
except LDAPExceptionError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[21])
|
raise Error(i18n.msg[23])
|
||||||
|
|
||||||
def update_fullname(conf, username, firstname, surname):
|
def update_fullname(conf, username, firstname, surname):
|
||||||
#set current LDAP
|
#set current LDAP
|
||||||
@ -581,7 +567,7 @@ def update_fullname(conf, username, firstname, surname):
|
|||||||
fakeFullName = user_dn[3:-len(base)].split(" ")
|
fakeFullName = user_dn[3:-len(base)].split(" ")
|
||||||
|
|
||||||
if(user_dn == new_user_dn):
|
if(user_dn == new_user_dn):
|
||||||
raise Error('Izen-abizenak ez dira aldatu.')
|
raise Error(i18n.msg[10])
|
||||||
|
|
||||||
c.modify(new_user_dn, {'fakeCn': [(MODIFY_REPLACE, 'false' )]})
|
c.modify(new_user_dn, {'fakeCn': [(MODIFY_REPLACE, 'false' )]})
|
||||||
newSession().set(get_user_data(new_user_dn, c))
|
newSession().set(get_user_data(new_user_dn, c))
|
||||||
@ -612,7 +598,7 @@ def new_email_address(conf, *args):
|
|||||||
update_email_address(conf, *args)
|
update_email_address(conf, *args)
|
||||||
|
|
||||||
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
||||||
raise Error(i18n.msg[24])
|
raise Error(i18n.msg[26])
|
||||||
|
|
||||||
except LDAPConstraintViolationResult as e:
|
except LDAPConstraintViolationResult as e:
|
||||||
# Extract useful part of the error message (for Samba 4 / AD).
|
# Extract useful part of the error message (for Samba 4 / AD).
|
||||||
@ -621,16 +607,16 @@ def new_email_address(conf, *args):
|
|||||||
|
|
||||||
except LDAPSocketOpenError as e:
|
except LDAPSocketOpenError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[20])
|
raise Error(i18n.msg[22])
|
||||||
|
|
||||||
except LDAPExceptionError as e:
|
except LDAPExceptionError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[21])
|
raise Error(i18n.msg[23])
|
||||||
|
|
||||||
|
|
||||||
def update_email_address(conf, username, old_email, new_email):
|
def update_email_address(conf, username, old_email, new_email):
|
||||||
if(old_email == new_email):
|
if(old_email == new_email):
|
||||||
raise Error('Email helbidea ez da aldatu.')
|
raise Error(i18n.msg[15])
|
||||||
|
|
||||||
#set current LDAP
|
#set current LDAP
|
||||||
superUser = SuperUsers(conf)
|
superUser = SuperUsers(conf)
|
||||||
@ -670,7 +656,7 @@ def change_password(conf, *args):
|
|||||||
change_password_ldap(conf, *args)
|
change_password_ldap(conf, *args)
|
||||||
|
|
||||||
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
except (LDAPBindError, LDAPInvalidCredentialsResult, LDAPUserNameIsMandatoryError):
|
||||||
raise Error(i18n.msg[24])
|
raise Error(i18n.msg[26])
|
||||||
|
|
||||||
except LDAPConstraintViolationResult as e:
|
except LDAPConstraintViolationResult as e:
|
||||||
# Extract useful part of the error message (for Samba 4 / AD).
|
# Extract useful part of the error message (for Samba 4 / AD).
|
||||||
@ -679,11 +665,11 @@ def change_password(conf, *args):
|
|||||||
|
|
||||||
except LDAPSocketOpenError as e:
|
except LDAPSocketOpenError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[20])
|
raise Error(i18n.msg[22])
|
||||||
|
|
||||||
except LDAPExceptionError as e:
|
except LDAPExceptionError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[21])
|
raise Error(i18n.msg[23])
|
||||||
|
|
||||||
|
|
||||||
def change_password_ldap(conf, username, old_pass, new_pass):
|
def change_password_ldap(conf, username, old_pass, new_pass):
|
||||||
@ -729,11 +715,11 @@ def del_account(conf, *args):
|
|||||||
|
|
||||||
except LDAPSocketOpenError as e:
|
except LDAPSocketOpenError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[20])
|
raise Error(i18n.msg[22])
|
||||||
|
|
||||||
except LDAPExceptionError as e:
|
except LDAPExceptionError as e:
|
||||||
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
LOG.error('{}: {!s}'.format(e.__class__.__name__, e))
|
||||||
raise Error(i18n.msg[21])
|
raise Error(i18n.msg[23])
|
||||||
|
|
||||||
def delete(conf, username):
|
def delete(conf, username):
|
||||||
#set current LDAP
|
#set current LDAP
|
||||||
@ -831,8 +817,9 @@ def newSession():
|
|||||||
self.data = bottle.request.environ.get('beaker.session')
|
self.data = bottle.request.environ.get('beaker.session')
|
||||||
self.lang = self.get_lang()
|
self.lang = self.get_lang()
|
||||||
#localization
|
#localization
|
||||||
|
self.lang = self.get_lang()
|
||||||
global i18n
|
global i18n
|
||||||
i18n = LocalizeTo(self.lang)
|
i18n = LocalizeTo(self.lang, CONF)
|
||||||
|
|
||||||
def get_lang(self):
|
def get_lang(self):
|
||||||
if 'HTTP_ACCEPT_LANGUAGE' in bottle.request.environ:
|
if 'HTTP_ACCEPT_LANGUAGE' in bottle.request.environ:
|
||||||
@ -845,7 +832,7 @@ def newSession():
|
|||||||
if 'username' in self.data:
|
if 'username' in self.data:
|
||||||
return(self.data)
|
return(self.data)
|
||||||
else:
|
else:
|
||||||
raise Error(i18n.msg[25])
|
raise Error(i18n.msg[27])
|
||||||
|
|
||||||
def set(self, data):
|
def set(self, data):
|
||||||
self.active = data[0]
|
self.active = data[0]
|
||||||
@ -871,71 +858,6 @@ def newSession():
|
|||||||
s=Session()
|
s=Session()
|
||||||
return s
|
return s
|
||||||
|
|
||||||
class LocalizeTo(object):
|
|
||||||
"""docstring for Session"""
|
|
||||||
def __init__(self, lang):
|
|
||||||
super(LocalizeTo, self).__init__()
|
|
||||||
translate = gettext.translation('base', localedir=CONF['locale']['dir'], languages=[lang])
|
|
||||||
translate.install()
|
|
||||||
_ = translate.gettext
|
|
||||||
|
|
||||||
#generic strings
|
|
||||||
str_00 = _("User")
|
|
||||||
str_01 = _("Username")
|
|
||||||
str_02 = _("Firstname")
|
|
||||||
str_03 = _("Surname")
|
|
||||||
str_04 = _("Password")
|
|
||||||
str_05 = _("Old password")
|
|
||||||
str_06 = _("New password")
|
|
||||||
str_07 = _("Confirm password")
|
|
||||||
str_08 = _("Email")
|
|
||||||
str_09 = _("edit")
|
|
||||||
str_10 = _("Login")
|
|
||||||
str_11 = _("Logout")
|
|
||||||
str_12 = _("Delete")
|
|
||||||
str_13 = _("Sign Up")
|
|
||||||
str_14 = _("Back")
|
|
||||||
str_15 = _("Update")
|
|
||||||
str_16 = _("Or Sign In")
|
|
||||||
str_17 = _("Or Sign Up")
|
|
||||||
str_18 = _("Invite code")
|
|
||||||
str_19 = _("Edit your fullname")
|
|
||||||
str_20 = _("Edit your email")
|
|
||||||
str_21 = _("Change your password")
|
|
||||||
str_22 = _("Delete your account")
|
|
||||||
str_23 = _("Welcome")
|
|
||||||
|
|
||||||
#messages
|
|
||||||
msg_00 = _("The session was closed.")
|
|
||||||
msg_01 = _("Username must be at least 3 characters long!")
|
|
||||||
msg_02 = _("Please enter your password!")
|
|
||||||
msg_03 = _("Welcome")
|
|
||||||
msg_04 = _("The code is invalid or has expired.")
|
|
||||||
msg_05 = _("A bit short, don't you think?!")
|
|
||||||
msg_06 = _("Not allowed characters for the username field.")
|
|
||||||
msg_07 = _("Passwords do not match!")
|
|
||||||
msg_08 = _("Password must be at least 8 characters long!")
|
|
||||||
msg_09 = _("Congratulations, your account has been created!")
|
|
||||||
msg_10 = _("Your firstname is a bit short, don't you think?")
|
|
||||||
msg_11 = _("Your surname is a bit short, don't you think?")
|
|
||||||
msg_12 = _("Your first and last name have been successfully updated.")
|
|
||||||
msg_13 = _("Invalid email address. Please try again.")
|
|
||||||
msg_14 = _("Your email has been successfully updated.")
|
|
||||||
msg_15 = _("The password entered is the same as the current password.")
|
|
||||||
msg_16 = _("Password has been changed!")
|
|
||||||
msg_17 = _("Please, type your username for account deletion.")
|
|
||||||
msg_18 = _("Account successfully deleted!")
|
|
||||||
msg_19 = _("Username or password is incorrect!")
|
|
||||||
msg_20 = _("Unable to connect to the remote server.")
|
|
||||||
msg_21 = _("Encountered an unexpected error while communicating with the remote server.")
|
|
||||||
msg_22 = _("User already exists.")
|
|
||||||
msg_23 = _("Email already exists.")
|
|
||||||
msg_24 = _("Forgot your password? Please try again.")
|
|
||||||
msg_25 = _("The session has expired.")
|
|
||||||
|
|
||||||
self.str = {'usr':str_00, 'usrn':str_01, 'fn':str_02, 'sn':str_03, 'pwd':str_04, 'old-pwd':str_05, 'new-pwd':str_06, 'conf-pwd':str_07, 'email':str_08, 'edit':str_09, 'login':str_10, 'log-out':str_11, 'del':str_12, 'sign-up':str_13, 'back':str_14, 'update':str_15, 'or-sign-in':str_16, 'or-sign-up':str_17, 'inv-code':str_18, 'edit-fn':str_19, 'edit-email':str_20, 'ch-pwd':str_21, 'del-account':str_22, 'welcome':str_23}
|
|
||||||
self.msg = (msg_00, msg_01, msg_02, msg_03, msg_04, msg_05, msg_06, msg_07, msg_08, msg_09, msg_10, msg_11, msg_12, msg_13, msg_14, msg_15, msg_16, msg_17, msg_18, msg_19, msg_20, msg_21, msg_22, msg_23, msg_24, msg_25)
|
|
||||||
|
|
||||||
if environ.get('DEBUG'):
|
if environ.get('DEBUG'):
|
||||||
bottle.debug(True)
|
bottle.debug(True)
|
||||||
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
libs/__pycache__/helper.cpython-39.pyc
Normal file
BIN
libs/__pycache__/helper.cpython-39.pyc
Normal file
Binary file not shown.
BIN
libs/__pycache__/localization.cpython-39.pyc
Normal file
BIN
libs/__pycache__/localization.cpython-39.pyc
Normal file
Binary file not shown.
Binary file not shown.
25
libs/helper.py
Normal file
25
libs/helper.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import sqlite3
|
||||||
|
|
||||||
|
class Tools():
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.username = ''
|
||||||
|
|
||||||
|
#check code
|
||||||
|
def code_is_valid(self, code, db):
|
||||||
|
con = sqlite3.connect(db)
|
||||||
|
cur = con.cursor()
|
||||||
|
|
||||||
|
codes=[]
|
||||||
|
for row in cur.execute('SELECT * FROM codes WHERE valid = 1'):
|
||||||
|
codes.append(row[0])
|
||||||
|
return(bool(code in codes))
|
||||||
|
|
||||||
|
def mark_code_as_used(self, code, db):
|
||||||
|
con = sqlite3.connect(db)
|
||||||
|
cur = con.cursor()
|
||||||
|
|
||||||
|
cur.execute('''UPDATE codes SET valid=? WHERE code==?''',(0, code))
|
||||||
|
con.commit()
|
68
libs/localization.py
Normal file
68
libs/localization.py
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
import gettext
|
||||||
|
|
||||||
|
class LocalizeTo(object):
|
||||||
|
"""docstring for Session"""
|
||||||
|
def __init__(self, lang, conf):
|
||||||
|
super(LocalizeTo, self).__init__()
|
||||||
|
translate = gettext.translation('base', localedir=conf['locale']['dir'], languages=[lang])
|
||||||
|
translate.install()
|
||||||
|
_ = translate.gettext
|
||||||
|
|
||||||
|
#generic strings
|
||||||
|
str_00 = _("User")
|
||||||
|
str_01 = _("Username")
|
||||||
|
str_02 = _("Firstname")
|
||||||
|
str_03 = _("Surname")
|
||||||
|
str_04 = _("Password")
|
||||||
|
str_05 = _("Old password")
|
||||||
|
str_06 = _("New password")
|
||||||
|
str_07 = _("Confirm password")
|
||||||
|
str_08 = _("Email")
|
||||||
|
str_09 = _("edit")
|
||||||
|
str_10 = _("Login")
|
||||||
|
str_11 = _("Logout")
|
||||||
|
str_12 = _("Delete")
|
||||||
|
str_13 = _("Sign Up")
|
||||||
|
str_14 = _("Back")
|
||||||
|
str_15 = _("Update")
|
||||||
|
str_16 = _("Or Sign In")
|
||||||
|
str_17 = _("Or Sign Up")
|
||||||
|
str_18 = _("Invite code")
|
||||||
|
str_19 = _("Edit your fullname")
|
||||||
|
str_20 = _("Edit your email")
|
||||||
|
str_21 = _("Change your password")
|
||||||
|
str_22 = _("Delete your account")
|
||||||
|
str_23 = _("Welcome")
|
||||||
|
|
||||||
|
#messages
|
||||||
|
msg_00 = _("The session was closed.")
|
||||||
|
msg_01 = _("Username must be at least 3 characters long!")
|
||||||
|
msg_02 = _("Please enter your password!")
|
||||||
|
msg_03 = _("Welcome")
|
||||||
|
msg_04 = _("The code is invalid or has expired.")
|
||||||
|
msg_05 = _("A bit short, don't you think?!")
|
||||||
|
msg_06 = _("Not allowed characters for the username field.")
|
||||||
|
msg_07 = _("Passwords do not match!")
|
||||||
|
msg_08 = _("Password must be at least 8 characters long!")
|
||||||
|
msg_09 = _("Congratulations, your account has been created!")
|
||||||
|
msg_10 = _("Your first and last name have not been changed.")
|
||||||
|
msg_11 = _("Your firstname is a bit short, don't you think?")
|
||||||
|
msg_12 = _("Your surname is a bit short, don't you think?")
|
||||||
|
msg_13 = _("Your first and last name have been successfully updated.")
|
||||||
|
msg_14 = _("Invalid email address. Please try again.")
|
||||||
|
msg_15 = _("Email address has not been changed.")
|
||||||
|
msg_16 = _("Your email has been successfully updated.")
|
||||||
|
msg_17 = _("The password entered is the same as the current password.")
|
||||||
|
msg_18 = _("Password has been changed!")
|
||||||
|
msg_19 = _("Please, type your username for account deletion.")
|
||||||
|
msg_20 = _("Account successfully deleted!")
|
||||||
|
msg_21 = _("Username or password is incorrect!")
|
||||||
|
msg_22 = _("Unable to connect to the remote server.")
|
||||||
|
msg_23 = _("Encountered an unexpected error while communicating with the remote server.")
|
||||||
|
msg_24 = _("User already exists.")
|
||||||
|
msg_25 = _("Email already exists.")
|
||||||
|
msg_26 = _("Forgot your password? Please try again.")
|
||||||
|
msg_27 = _("The session has expired.")
|
||||||
|
|
||||||
|
self.str = {'usr':str_00, 'usrn':str_01, 'fn':str_02, 'sn':str_03, 'pwd':str_04, 'old-pwd':str_05, 'new-pwd':str_06, 'conf-pwd':str_07, 'email':str_08, 'edit':str_09, 'login':str_10, 'log-out':str_11, 'del':str_12, 'sign-up':str_13, 'back':str_14, 'update':str_15, 'or-sign-in':str_16, 'or-sign-up':str_17, 'inv-code':str_18, 'edit-fn':str_19, 'edit-email':str_20, 'ch-pwd':str_21, 'del-account':str_22, 'welcome':str_23}
|
||||||
|
self.msg = (msg_00, msg_01, msg_02, msg_03, msg_04, msg_05, msg_06, msg_07, msg_08, msg_09, msg_10, msg_11, msg_12, msg_13, msg_14, msg_15, msg_16, msg_17, msg_18, msg_19, msg_20, msg_21, msg_22, msg_23, msg_24, msg_25, msg_26, msg_27)
|
106
locales/base.pot
106
locales/base.pot
@ -17,199 +17,207 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: app.py:880
|
#: libs/localization.py:12
|
||||||
msgid "User"
|
msgid "User"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:881
|
#: libs/localization.py:13
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:882
|
#: libs/localization.py:14
|
||||||
msgid "Firstname"
|
msgid "Firstname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:883
|
#: libs/localization.py:15
|
||||||
msgid "Surname"
|
msgid "Surname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:884
|
#: libs/localization.py:16
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:885
|
#: libs/localization.py:17
|
||||||
msgid "Old password"
|
msgid "Old password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:886
|
#: libs/localization.py:18
|
||||||
msgid "New password"
|
msgid "New password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:887
|
#: libs/localization.py:19
|
||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:888
|
#: libs/localization.py:20
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:889
|
#: libs/localization.py:21
|
||||||
msgid "edit"
|
msgid "edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:890
|
#: libs/localization.py:22
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:891
|
#: libs/localization.py:23
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:892
|
#: libs/localization.py:24
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:893
|
#: libs/localization.py:25
|
||||||
msgid "Sign Up"
|
msgid "Sign Up"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:894
|
#: libs/localization.py:26
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:895
|
#: libs/localization.py:27
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:896
|
#: libs/localization.py:28
|
||||||
msgid "Or Sign In"
|
msgid "Or Sign In"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:897
|
#: libs/localization.py:29
|
||||||
msgid "Or Sign Up"
|
msgid "Or Sign Up"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:898
|
#: libs/localization.py:30
|
||||||
msgid "Invite code"
|
msgid "Invite code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:899
|
#: libs/localization.py:31
|
||||||
msgid "Edit your fullname"
|
msgid "Edit your fullname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:900
|
#: libs/localization.py:32
|
||||||
msgid "Edit your email"
|
msgid "Edit your email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:901
|
#: libs/localization.py:33
|
||||||
msgid "Change your password"
|
msgid "Change your password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:902
|
#: libs/localization.py:34
|
||||||
msgid "Delete your account"
|
msgid "Delete your account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:903 app.py:909
|
#: libs/localization.py:35 libs/localization.py:41
|
||||||
msgid "Welcome"
|
msgid "Welcome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:906
|
#: libs/localization.py:38
|
||||||
msgid "The session was closed."
|
msgid "The session was closed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:907
|
#: libs/localization.py:39
|
||||||
msgid "Username must be at least 3 characters long!"
|
msgid "Username must be at least 3 characters long!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:908
|
#: libs/localization.py:40
|
||||||
msgid "Please enter your password!"
|
msgid "Please enter your password!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:910
|
#: libs/localization.py:42
|
||||||
msgid "The code is invalid or has expired."
|
msgid "The code is invalid or has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:911
|
#: libs/localization.py:43
|
||||||
msgid "A bit short, don't you think?!"
|
msgid "A bit short, don't you think?!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:912
|
#: libs/localization.py:44
|
||||||
msgid "Not allowed characters for the username field."
|
msgid "Not allowed characters for the username field."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:913
|
#: libs/localization.py:45
|
||||||
msgid "Passwords do not match!"
|
msgid "Passwords do not match!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:914
|
#: libs/localization.py:46
|
||||||
msgid "Password must be at least 8 characters long!"
|
msgid "Password must be at least 8 characters long!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:915
|
#: libs/localization.py:47
|
||||||
msgid "Congratulations, your account has been created!"
|
msgid "Congratulations, your account has been created!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:916
|
#: libs/localization.py:48
|
||||||
|
msgid "Your first and last name have not been changed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: libs/localization.py:49
|
||||||
msgid "Your firstname is a bit short, don't you think?"
|
msgid "Your firstname is a bit short, don't you think?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:917
|
#: libs/localization.py:50
|
||||||
msgid "Your surname is a bit short, don't you think?"
|
msgid "Your surname is a bit short, don't you think?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:918
|
#: libs/localization.py:51
|
||||||
msgid "Your first and last name have been successfully updated."
|
msgid "Your first and last name have been successfully updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:919
|
#: libs/localization.py:52
|
||||||
msgid "Invalid email address. Please try again."
|
msgid "Invalid email address. Please try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:920
|
#: libs/localization.py:53
|
||||||
|
msgid "Email address has not been changed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: libs/localization.py:54
|
||||||
msgid "Your email has been successfully updated."
|
msgid "Your email has been successfully updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:921
|
#: libs/localization.py:55
|
||||||
msgid "The password entered is the same as the current password."
|
msgid "The password entered is the same as the current password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:922
|
#: libs/localization.py:56
|
||||||
msgid "Password has been changed!"
|
msgid "Password has been changed!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:923
|
#: libs/localization.py:57
|
||||||
msgid "Please, type your username for account deletion."
|
msgid "Please, type your username for account deletion."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:924
|
#: libs/localization.py:58
|
||||||
msgid "Account successfully deleted!"
|
msgid "Account successfully deleted!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:925
|
#: libs/localization.py:59
|
||||||
msgid "Username or password is incorrect!"
|
msgid "Username or password is incorrect!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:926
|
#: libs/localization.py:60
|
||||||
msgid "Unable to connect to the remote server."
|
msgid "Unable to connect to the remote server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:927
|
#: libs/localization.py:61
|
||||||
msgid ""
|
msgid ""
|
||||||
"Encountered an unexpected error while communicating with the remote server."
|
"Encountered an unexpected error while communicating with the remote server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:928
|
#: libs/localization.py:62
|
||||||
msgid "User already exists."
|
msgid "User already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:929
|
#: libs/localization.py:63
|
||||||
msgid "Email already exists."
|
msgid "Email already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:930
|
#: libs/localization.py:64
|
||||||
msgid "Forgot your password? Please try again."
|
msgid "Forgot your password? Please try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app.py:931
|
#: libs/localization.py:65
|
||||||
msgid "The session has expired."
|
msgid "The session has expired."
|
||||||
msgstr ""
|
msgstr ""
|
Binary file not shown.
@ -3,213 +3,220 @@
|
|||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# FIRST AUTHOR <aitzol@lainoa.eus>, 2022.
|
# FIRST AUTHOR <aitzol@lainoa.eus>, 2022.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 0.0.1\n"
|
"Project-Id-Version: 0.0.1\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-04-07 17:23+0200\n"
|
"POT-Creation-Date: 2022-04-07 17:23+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2022-04-16 17:11+0200\n"
|
||||||
"Last-Translator: Aitzol Berasategi <aitzol@lainoa.eus>\n"
|
"Last-Translator: Aitzol Berasategi <aitzol@lainoa.eus>\n"
|
||||||
"Language-Team: LANGUAGE <EU@eu.org>\n"
|
"Language-Team: LANGUAGE <EU@eu.org>\n"
|
||||||
"Language: \n"
|
"Language: en\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: Poedit 2.3\n"
|
||||||
|
|
||||||
#: app.py:880
|
#: libs/localization.py:12
|
||||||
msgid "User"
|
msgid "User"
|
||||||
msgstr "User"
|
msgstr "User"
|
||||||
|
|
||||||
#: app.py:881
|
#: libs/localization.py:13
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr "Username"
|
msgstr "Username"
|
||||||
|
|
||||||
#: app.py:882
|
#: libs/localization.py:14
|
||||||
msgid "Firstname"
|
msgid "Firstname"
|
||||||
msgstr "Firstname"
|
msgstr "Firstname"
|
||||||
|
|
||||||
#: app.py:883
|
#: libs/localization.py:15
|
||||||
msgid "Surname"
|
msgid "Surname"
|
||||||
msgstr "Surname"
|
msgstr "Surname"
|
||||||
|
|
||||||
#: app.py:884
|
#: libs/localization.py:16
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Password"
|
msgstr "Password"
|
||||||
|
|
||||||
#: app.py:885
|
#: libs/localization.py:17
|
||||||
msgid "Old password"
|
msgid "Old password"
|
||||||
msgstr "Old password"
|
msgstr "Old password"
|
||||||
|
|
||||||
#: app.py:886
|
#: libs/localization.py:18
|
||||||
msgid "New password"
|
msgid "New password"
|
||||||
msgstr "New password"
|
msgstr "New password"
|
||||||
|
|
||||||
#: app.py:887
|
#: libs/localization.py:19
|
||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Confirm password"
|
msgstr "Confirm password"
|
||||||
|
|
||||||
#: app.py:888
|
#: libs/localization.py:20
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Email"
|
msgstr "Email"
|
||||||
|
|
||||||
#: app.py:889
|
#: libs/localization.py:21
|
||||||
msgid "edit"
|
msgid "edit"
|
||||||
msgstr "edit"
|
msgstr "edit"
|
||||||
|
|
||||||
#: app.py:890
|
#: libs/localization.py:22
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Login"
|
msgstr "Login"
|
||||||
|
|
||||||
#: app.py:891
|
#: libs/localization.py:23
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Logout"
|
msgstr "Logout"
|
||||||
|
|
||||||
#: app.py:892
|
#: libs/localization.py:24
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Delete"
|
msgstr "Delete"
|
||||||
|
|
||||||
#: app.py:893
|
#: libs/localization.py:25
|
||||||
msgid "Sign Up"
|
msgid "Sign Up"
|
||||||
msgstr "Sign Up"
|
msgstr "Sign Up"
|
||||||
|
|
||||||
#: app.py:894
|
#: libs/localization.py:26
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "Back"
|
msgstr "Back"
|
||||||
|
|
||||||
#: app.py:895
|
#: libs/localization.py:27
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr "Update"
|
msgstr "Update"
|
||||||
|
|
||||||
#: app.py:896
|
#: libs/localization.py:28
|
||||||
msgid "Or Sign In"
|
msgid "Or Sign In"
|
||||||
msgstr "Or Sign In"
|
msgstr "Or Sign In"
|
||||||
|
|
||||||
#: app.py:897
|
#: libs/localization.py:29
|
||||||
msgid "Or Sign Up"
|
msgid "Or Sign Up"
|
||||||
msgstr "Or Sign Up"
|
msgstr "Or Sign Up"
|
||||||
|
|
||||||
#: app.py:898
|
#: libs/localization.py:30
|
||||||
msgid "Invite code"
|
msgid "Invite code"
|
||||||
msgstr "Invite code"
|
msgstr "Invite code"
|
||||||
|
|
||||||
#: app.py:899
|
#: libs/localization.py:31
|
||||||
msgid "Edit your fullname"
|
msgid "Edit your fullname"
|
||||||
msgstr "Edit your fullname"
|
msgstr "Edit your fullname"
|
||||||
|
|
||||||
#: app.py:900
|
#: libs/localization.py:32
|
||||||
msgid "Edit your email"
|
msgid "Edit your email"
|
||||||
msgstr "Edit your email"
|
msgstr "Edit your email"
|
||||||
|
|
||||||
#: app.py:901
|
#: libs/localization.py:33
|
||||||
msgid "Change your password"
|
msgid "Change your password"
|
||||||
msgstr "Change your password"
|
msgstr "Change your password"
|
||||||
|
|
||||||
#: app.py:902
|
#: libs/localization.py:34
|
||||||
msgid "Delete your account"
|
msgid "Delete your account"
|
||||||
msgstr "Delete your account"
|
msgstr "Delete your account"
|
||||||
|
|
||||||
#: app.py:903 app.py:909
|
#: libs/localization.py:35 libs/localization.py:41
|
||||||
msgid "Welcome"
|
msgid "Welcome"
|
||||||
msgstr "Welcome"
|
msgstr "Welcome"
|
||||||
|
|
||||||
#: app.py:906
|
#: libs/localization.py:38
|
||||||
msgid "The session was closed."
|
msgid "The session was closed."
|
||||||
msgstr "The session was closed."
|
msgstr "The session was closed."
|
||||||
|
|
||||||
#: app.py:907
|
#: libs/localization.py:39
|
||||||
msgid "Username must be at least 3 characters long!"
|
msgid "Username must be at least 3 characters long!"
|
||||||
msgstr "Username must be at least 3 characters long!"
|
msgstr "Username must be at least 3 characters long!"
|
||||||
|
|
||||||
#: app.py:908
|
#: libs/localization.py:40
|
||||||
msgid "Please enter your password!"
|
msgid "Please enter your password!"
|
||||||
msgstr "Please enter your password!"
|
msgstr "Please enter your password!"
|
||||||
|
|
||||||
#: app.py:910
|
#: libs/localization.py:42
|
||||||
msgid "The code is invalid or has expired."
|
msgid "The code is invalid or has expired."
|
||||||
msgstr "The code is invalid or has expired."
|
msgstr "The code is invalid or has expired."
|
||||||
|
|
||||||
#: app.py:911
|
#: libs/localization.py:43
|
||||||
msgid "A bit short, don't you think?!"
|
msgid "A bit short, don't you think?!"
|
||||||
msgstr "A bit short, don't you think?!"
|
msgstr "A bit short, don't you think?!"
|
||||||
|
|
||||||
#: app.py:912
|
#: libs/localization.py:44
|
||||||
msgid "Not allowed characters for the username field."
|
msgid "Not allowed characters for the username field."
|
||||||
msgstr "Not allowed characters for the username field."
|
msgstr "Not allowed characters for the username field."
|
||||||
|
|
||||||
#: app.py:913
|
#: libs/localization.py:45
|
||||||
msgid "Passwords do not match!"
|
msgid "Passwords do not match!"
|
||||||
msgstr "Passwords do not match!"
|
msgstr "Passwords do not match!"
|
||||||
|
|
||||||
#: app.py:914
|
#: libs/localization.py:46
|
||||||
msgid "Password must be at least 8 characters long!"
|
msgid "Password must be at least 8 characters long!"
|
||||||
msgstr "Password must be at least 8 characters long!"
|
msgstr "Password must be at least 8 characters long!"
|
||||||
|
|
||||||
#: app.py:915
|
#: libs/localization.py:47
|
||||||
msgid "Congratulations, your account has been created!"
|
msgid "Congratulations, your account has been created!"
|
||||||
msgstr "Congratulations, your account has been created!"
|
msgstr "Congratulations, your account has been created!"
|
||||||
|
|
||||||
#: app.py:916
|
#: libs/localization.py:48
|
||||||
|
msgid "Your first and last name have not been changed."
|
||||||
|
msgstr "Your first and last name have not been changed."
|
||||||
|
|
||||||
|
#: libs/localization.py:49
|
||||||
msgid "Your firstname is a bit short, don't you think?"
|
msgid "Your firstname is a bit short, don't you think?"
|
||||||
msgstr "Your firstname is a bit short, don't you think?"
|
msgstr "Your firstname is a bit short, don't you think?"
|
||||||
|
|
||||||
#: app.py:917
|
#: libs/localization.py:50
|
||||||
msgid "Your surname is a bit short, don't you think?"
|
msgid "Your surname is a bit short, don't you think?"
|
||||||
msgstr "Your surname is a bit short, don't you think?"
|
msgstr "Your surname is a bit short, don't you think?"
|
||||||
|
|
||||||
#: app.py:918
|
#: libs/localization.py:51
|
||||||
msgid "Your first and last name have been successfully updated."
|
msgid "Your first and last name have been successfully updated."
|
||||||
msgstr "Your first and last name have been successfully updated."
|
msgstr "Your first and last name have been successfully updated."
|
||||||
|
|
||||||
#: app.py:919
|
#: libs/localization.py:52
|
||||||
msgid "Invalid email address. Please try again."
|
msgid "Invalid email address. Please try again."
|
||||||
msgstr "Invalid email address. Please try again."
|
msgstr "Invalid email address. Please try again."
|
||||||
|
|
||||||
#: app.py:920
|
#: libs/localization.py:53
|
||||||
|
msgid "Email address has not been changed."
|
||||||
|
msgstr "Email address has not been changed."
|
||||||
|
|
||||||
|
#: libs/localization.py:54
|
||||||
msgid "Your email has been successfully updated."
|
msgid "Your email has been successfully updated."
|
||||||
msgstr "Your email has been successfully updated."
|
msgstr "Your email has been successfully updated."
|
||||||
|
|
||||||
#: app.py:921
|
#: libs/localization.py:55
|
||||||
msgid "The password entered is the same as the current password."
|
msgid "The password entered is the same as the current password."
|
||||||
msgstr "The password entered is the same as the current password."
|
msgstr "The password entered is the same as the current password."
|
||||||
|
|
||||||
#: app.py:922
|
#: libs/localization.py:56
|
||||||
msgid "Password has been changed!"
|
msgid "Password has been changed!"
|
||||||
msgstr "Password has been changed!"
|
msgstr "Password has been changed!"
|
||||||
|
|
||||||
#: app.py:923
|
#: libs/localization.py:57
|
||||||
msgid "Please, type your username for account deletion."
|
msgid "Please, type your username for account deletion."
|
||||||
msgstr "Please, type your username for account deletion."
|
msgstr "Please, type your username for account deletion."
|
||||||
|
|
||||||
#: app.py:924
|
#: libs/localization.py:58
|
||||||
msgid "Account successfully deleted!"
|
msgid "Account successfully deleted!"
|
||||||
msgstr "Account successfully deleted!"
|
msgstr "Account successfully deleted!"
|
||||||
|
|
||||||
#: app.py:925
|
#: libs/localization.py:59
|
||||||
msgid "Username or password is incorrect!"
|
msgid "Username or password is incorrect!"
|
||||||
msgstr "Username or password is incorrect!"
|
msgstr "Username or password is incorrect!"
|
||||||
|
|
||||||
#: app.py:926
|
#: libs/localization.py:60
|
||||||
msgid "Unable to connect to the remote server."
|
msgid "Unable to connect to the remote server."
|
||||||
msgstr "Unable to connect to the remote server."
|
msgstr "Unable to connect to the remote server."
|
||||||
|
|
||||||
#: app.py:927
|
#: libs/localization.py:61
|
||||||
msgid ""
|
msgid "Encountered an unexpected error while communicating with the remote server."
|
||||||
"Encountered an unexpected error while communicating with the remote server."
|
|
||||||
msgstr "Encountered an unexpected error while communicating with the remote server."
|
msgstr "Encountered an unexpected error while communicating with the remote server."
|
||||||
|
|
||||||
#: app.py:928
|
#: libs/localization.py:62
|
||||||
msgid "User already exists."
|
msgid "User already exists."
|
||||||
msgstr "User already exists."
|
msgstr "User already exists."
|
||||||
|
|
||||||
#: app.py:929
|
#: libs/localization.py:63
|
||||||
msgid "Email already exists."
|
msgid "Email already exists."
|
||||||
msgstr "Email already exists."
|
msgstr "Email already exists."
|
||||||
|
|
||||||
#: app.py:930
|
#: libs/localization.py:64
|
||||||
msgid "Forgot your password? Please try again."
|
msgid "Forgot your password? Please try again."
|
||||||
msgstr "Forgot your password? Please try again."
|
msgstr "Forgot your password? Please try again."
|
||||||
|
|
||||||
#: app.py:931
|
#: libs/localization.py:65
|
||||||
msgid "The session has expired."
|
msgid "The session has expired."
|
||||||
msgstr "The session has expired."
|
msgstr "The session has expired."
|
Binary file not shown.
@ -3,213 +3,220 @@
|
|||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# FIRST AUTHOR <aitzol@lainoa.eus>, 2022.
|
# FIRST AUTHOR <aitzol@lainoa.eus>, 2022.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 0.0.1\n"
|
"Project-Id-Version: 0.0.1\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-04-07 17:23+0200\n"
|
"POT-Creation-Date: 2022-04-07 17:23+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2022-04-16 17:13+0200\n"
|
||||||
"Last-Translator: Aitzol Berasategi <aitzol@lainoa.eus>\n"
|
"Last-Translator: Aitzol Berasategi <aitzol@lainoa.eus>\n"
|
||||||
"Language-Team: LANGUAGE <EU@eu.org>\n"
|
"Language-Team: LANGUAGE <EU@eu.org>\n"
|
||||||
"Language: \n"
|
"Language: eu\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: Poedit 2.3\n"
|
||||||
|
|
||||||
#: app.py:880
|
#: libs/localization.py:12
|
||||||
msgid "User"
|
msgid "User"
|
||||||
msgstr "Erabiltzailea"
|
msgstr "Erabiltzailea"
|
||||||
|
|
||||||
#: app.py:881
|
#: libs/localization.py:13
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr "Erabiltzaile izena"
|
msgstr "Erabiltzailea"
|
||||||
|
|
||||||
#: app.py:882
|
#: libs/localization.py:14
|
||||||
msgid "Firstname"
|
msgid "Firstname"
|
||||||
msgstr "Izena"
|
msgstr "Izena"
|
||||||
|
|
||||||
#: app.py:883
|
#: libs/localization.py:15
|
||||||
msgid "Surname"
|
msgid "Surname"
|
||||||
msgstr "Abizena"
|
msgstr "Abizena"
|
||||||
|
|
||||||
#: app.py:884
|
#: libs/localization.py:16
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Pasahitza"
|
msgstr "Pasahitza"
|
||||||
|
|
||||||
#: app.py:885
|
#: libs/localization.py:17
|
||||||
msgid "Old password"
|
msgid "Old password"
|
||||||
msgstr "Pasahitz zaharra"
|
msgstr "Pasahitz zaharra"
|
||||||
|
|
||||||
#: app.py:886
|
#: libs/localization.py:18
|
||||||
msgid "New password"
|
msgid "New password"
|
||||||
msgstr "Pasahitz berria"
|
msgstr "Pasahitz berria"
|
||||||
|
|
||||||
#: app.py:887
|
#: libs/localization.py:19
|
||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Pasahitza berretsi"
|
msgstr "Pasahitza berretsi"
|
||||||
|
|
||||||
#: app.py:888
|
#: libs/localization.py:20
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Emaila"
|
msgstr "Emaila"
|
||||||
|
|
||||||
#: app.py:889
|
#: libs/localization.py:21
|
||||||
msgid "edit"
|
msgid "edit"
|
||||||
msgstr "editatu"
|
msgstr "editatu"
|
||||||
|
|
||||||
#: app.py:890
|
#: libs/localization.py:22
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Saioa hasi"
|
msgstr "Saioa hasi"
|
||||||
|
|
||||||
#: app.py:891
|
#: libs/localization.py:23
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Saioa itxi"
|
msgstr "Saioa itxi"
|
||||||
|
|
||||||
#: app.py:892
|
#: libs/localization.py:24
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Ezabatu"
|
msgstr "Ezabatu"
|
||||||
|
|
||||||
#: app.py:893
|
#: libs/localization.py:25
|
||||||
msgid "Sign Up"
|
msgid "Sign Up"
|
||||||
msgstr "Kontua sortu"
|
msgstr "Kontua sortu"
|
||||||
|
|
||||||
#: app.py:894
|
#: libs/localization.py:26
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "Itzuli"
|
msgstr "Itzuli"
|
||||||
|
|
||||||
#: app.py:895
|
#: libs/localization.py:27
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr "Eguneratu"
|
msgstr "Eguneratu"
|
||||||
|
|
||||||
#: app.py:896
|
#: libs/localization.py:28
|
||||||
msgid "Or Sign In"
|
msgid "Or Sign In"
|
||||||
msgstr "Edo Saioa hasi"
|
msgstr "Edo Saioa hasi"
|
||||||
|
|
||||||
#: app.py:897
|
#: libs/localization.py:29
|
||||||
msgid "Or Sign Up"
|
msgid "Or Sign Up"
|
||||||
msgstr "Edo Kontua sortu"
|
msgstr "Edo Kontua sortu"
|
||||||
|
|
||||||
#: app.py:898
|
#: libs/localization.py:30
|
||||||
msgid "Invite code"
|
msgid "Invite code"
|
||||||
msgstr "Gonbidapen kodea"
|
msgstr "Gonbidapen kodea"
|
||||||
|
|
||||||
#: app.py:899
|
#: libs/localization.py:31
|
||||||
msgid "Edit your fullname"
|
msgid "Edit your fullname"
|
||||||
msgstr "Izen-abizenak editatu"
|
msgstr "Izen-abizenak editatu"
|
||||||
|
|
||||||
#: app.py:900
|
#: libs/localization.py:32
|
||||||
msgid "Edit your email"
|
msgid "Edit your email"
|
||||||
msgstr "Email helbidea editatu"
|
msgstr "Email helbidea editatu"
|
||||||
|
|
||||||
#: app.py:901
|
#: libs/localization.py:33
|
||||||
msgid "Change your password"
|
msgid "Change your password"
|
||||||
msgstr "Pasahitza eguneratu"
|
msgstr "Pasahitza eguneratu"
|
||||||
|
|
||||||
#: app.py:902
|
#: libs/localization.py:34
|
||||||
msgid "Delete your account"
|
msgid "Delete your account"
|
||||||
msgstr "Kontua ezabatu"
|
msgstr "Kontua ezabatu"
|
||||||
|
|
||||||
#: app.py:903 app.py:909
|
#: libs/localization.py:35 libs/localization.py:41
|
||||||
msgid "Welcome"
|
msgid "Welcome"
|
||||||
msgstr "Ongi etorri"
|
msgstr "Ongi etorri"
|
||||||
|
|
||||||
#: app.py:906
|
#: libs/localization.py:38
|
||||||
msgid "The session was closed."
|
msgid "The session was closed."
|
||||||
msgstr "Saioa itxi da."
|
msgstr "Saioa itxi da."
|
||||||
|
|
||||||
#: app.py:907
|
#: libs/localization.py:39
|
||||||
msgid "Username must be at least 3 characters long!"
|
msgid "Username must be at least 3 characters long!"
|
||||||
msgstr "Erabiltzaile izenak gutxienez 3 karaktere izan behar ditu!"
|
msgstr "Erabiltzaile izenak gutxienez 3 karaktere izan behar ditu!"
|
||||||
|
|
||||||
#: app.py:908
|
#: libs/localization.py:40
|
||||||
msgid "Please enter your password!"
|
msgid "Please enter your password!"
|
||||||
msgstr "Sartu zure pasahitza, mesedez!"
|
msgstr "Sartu zure pasahitza, mesedez!"
|
||||||
|
|
||||||
#: app.py:910
|
#: libs/localization.py:42
|
||||||
msgid "The code is invalid or has expired."
|
msgid "The code is invalid or has expired."
|
||||||
msgstr "Kodea baliogabea da edo iraungi egin da."
|
msgstr "Kodea baliogabea da edo iraungi egin da."
|
||||||
|
|
||||||
#: app.py:911
|
#: libs/localization.py:43
|
||||||
msgid "A bit short, don't you think?!"
|
msgid "A bit short, don't you think?!"
|
||||||
msgstr "Labur-xamarra, ez duzu uste?"
|
msgstr "Labur-xamarra, ez duzu uste?!"
|
||||||
|
|
||||||
#: app.py:912
|
#: libs/localization.py:44
|
||||||
msgid "Not allowed characters for the username field."
|
msgid "Not allowed characters for the username field."
|
||||||
msgstr "Erabiltzaile izenerako onartzen ez diren karaktereak."
|
msgstr "Erabiltzaile izenerako onartzen ez diren karaktereak."
|
||||||
|
|
||||||
#: app.py:913
|
#: libs/localization.py:45
|
||||||
msgid "Passwords do not match!"
|
msgid "Passwords do not match!"
|
||||||
msgstr "Pasahitzak ez datoz bat!"
|
msgstr "Pasahitzak ez datoz bat!"
|
||||||
|
|
||||||
#: app.py:914
|
#: libs/localization.py:46
|
||||||
msgid "Password must be at least 8 characters long!"
|
msgid "Password must be at least 8 characters long!"
|
||||||
msgstr "Pasahitzak gutxienez 8 karaktereko luzera izan behar du!"
|
msgstr "Pasahitzak gutxienez 8 karaktereko luzera izan behar du!"
|
||||||
|
|
||||||
#: app.py:915
|
#: libs/localization.py:47
|
||||||
msgid "Congratulations, your account has been created!"
|
msgid "Congratulations, your account has been created!"
|
||||||
msgstr "Zorionak, zure kontua sortu da!"
|
msgstr "Zorionak, zure kontua sortu da!"
|
||||||
|
|
||||||
#: app.py:916
|
#: libs/localization.py:48
|
||||||
|
msgid "Your first and last name have not been changed."
|
||||||
|
msgstr "Zure izen-abizenak ez dira aldatu."
|
||||||
|
|
||||||
|
#: libs/localization.py:49
|
||||||
msgid "Your firstname is a bit short, don't you think?"
|
msgid "Your firstname is a bit short, don't you think?"
|
||||||
msgstr "Zure izena labur-xamarra da, ez duzu uste?"
|
msgstr "Zure izena labur-xamarra da, ez duzu uste?"
|
||||||
|
|
||||||
#: app.py:917
|
#: libs/localization.py:50
|
||||||
msgid "Your surname is a bit short, don't you think?"
|
msgid "Your surname is a bit short, don't you think?"
|
||||||
msgstr "Zure abizena labur-xamarra da, ez duzu uste?"
|
msgstr "Zure abizena labur-xamarra da, ez duzu uste?"
|
||||||
|
|
||||||
#: app.py:918
|
#: libs/localization.py:51
|
||||||
msgid "Your first and last name have been successfully updated."
|
msgid "Your first and last name have been successfully updated."
|
||||||
msgstr "Zure izen-abizenak ongi eguneratu dira."
|
msgstr "Zure izen-abizenak ongi eguneratu dira."
|
||||||
|
|
||||||
#: app.py:919
|
#: libs/localization.py:52
|
||||||
msgid "Invalid email address. Please try again."
|
msgid "Invalid email address. Please try again."
|
||||||
msgstr "Baliogabeko email helbidea. Saia zaitez berriz, mesedez. "
|
msgstr "Baliogabeko email helbidea. Saia zaitez berriz, mesedez."
|
||||||
|
|
||||||
#: app.py:920
|
#: libs/localization.py:53
|
||||||
|
msgid "Email address has not been changed."
|
||||||
|
msgstr "Email helbidea ez da aldatu."
|
||||||
|
|
||||||
|
#: libs/localization.py:54
|
||||||
msgid "Your email has been successfully updated."
|
msgid "Your email has been successfully updated."
|
||||||
msgstr "Zure emaila ongi eguneratu da."
|
msgstr "Zure emaila ongi eguneratu da."
|
||||||
|
|
||||||
#: app.py:921
|
#: libs/localization.py:55
|
||||||
msgid "The password entered is the same as the current password."
|
msgid "The password entered is the same as the current password."
|
||||||
msgstr "Sartutako pasahitza egungo pasahitzaren berdina da."
|
msgstr "Sartutako pasahitza egungo pasahitzaren berdina da."
|
||||||
|
|
||||||
#: app.py:922
|
#: libs/localization.py:56
|
||||||
msgid "Password has been changed!"
|
msgid "Password has been changed!"
|
||||||
msgstr "Pasahitza eguneratua izan da!"
|
msgstr "Pasahitza eguneratua izan da!"
|
||||||
|
|
||||||
#: app.py:923
|
#: libs/localization.py:57
|
||||||
msgid "Please, type your username for account deletion."
|
msgid "Please, type your username for account deletion."
|
||||||
msgstr "Kontua ezabatzeko idatzi zure erabiltzaile izena, mesedez."
|
msgstr "Kontua ezabatzeko idatzi zure erabiltzaile izena, mesedez."
|
||||||
|
|
||||||
#: app.py:924
|
#: libs/localization.py:58
|
||||||
msgid "Account successfully deleted!"
|
msgid "Account successfully deleted!"
|
||||||
msgstr "Kontua ongi ezabatu da!"
|
msgstr "Kontua ongi ezabatu da!"
|
||||||
|
|
||||||
#: app.py:925
|
#: libs/localization.py:59
|
||||||
msgid "Username or password is incorrect!"
|
msgid "Username or password is incorrect!"
|
||||||
msgstr "Erabiltzaile izena edo pasahitza okerrak dira!"
|
msgstr "Erabiltzaile izena edo pasahitza okerrak dira!"
|
||||||
|
|
||||||
#: app.py:926
|
#: libs/localization.py:60
|
||||||
msgid "Unable to connect to the remote server."
|
msgid "Unable to connect to the remote server."
|
||||||
msgstr "Ezinezkoa urruneko zerbitzara konektatzea."
|
msgstr "Ezinezkoa urruneko zerbitzara konektatzea."
|
||||||
|
|
||||||
#: app.py:927
|
#: libs/localization.py:61
|
||||||
msgid ""
|
msgid "Encountered an unexpected error while communicating with the remote server."
|
||||||
"Encountered an unexpected error while communicating with the remote server."
|
|
||||||
msgstr "Ezusteko errore bat gertatu da urruneko zerbitzariarekin komunikatzean."
|
msgstr "Ezusteko errore bat gertatu da urruneko zerbitzariarekin komunikatzean."
|
||||||
|
|
||||||
#: app.py:928
|
#: libs/localization.py:62
|
||||||
msgid "User already exists."
|
msgid "User already exists."
|
||||||
msgstr "Erabiltzaile hori existitzen da."
|
msgstr "Erabiltzaile hori existitzen da."
|
||||||
|
|
||||||
#: app.py:929
|
#: libs/localization.py:63
|
||||||
msgid "Email already exists"
|
msgid "Email already exists."
|
||||||
msgstr "Email hori existitzen da."
|
msgstr "Email hori existitzen da."
|
||||||
|
|
||||||
#: app.py:930
|
#: libs/localization.py:64
|
||||||
msgid "Forgot your password? Please try again."
|
msgid "Forgot your password? Please try again."
|
||||||
msgstr "Zure pasahitza ahaztu duzu? Saia zeitez berriz, mesedez."
|
msgstr "Zure pasahitza ahaztu duzu? Saia zeitez berriz, mesedez."
|
||||||
|
|
||||||
#: app.py:931
|
#: libs/localization.py:65
|
||||||
msgid "The session has expired."
|
msgid "The session has expired."
|
||||||
msgstr "Saioa iraungi egin da."
|
msgstr "Saioa iraungi egin da."
|
Loading…
Reference in New Issue
Block a user