roundabout,
created on Wednesday, 19 November 2025, 14:56:06 (1763564166),
received on Wednesday, 19 November 2025, 14:56:17 (1763564177)
Author identity: vlad <vlad.muntoiu@gmail.com>
c90b0123e030aded76c11550f90d12004e8db085
app.py
@@ -286,6 +286,35 @@ def settings():
return flask.render_template("user-settings.html", user=user)
@app.route("/settings/password/")
def password_change():
if not flask.session.get("username"):
flask.abort(401)
return flask.render_template("change-password.html")
@app.route("/settings/password/", methods=["POST"])
def password_change_post():
if not flask.session.get("username"):
flask.abort(401)
user = User.query.filter_by(username=flask.session.get("username")).first()
if not bcrypt.check_password_hash(user.password_hashed, flask.request.form["password"]):
flask.flash(Markup("<iconify-icon icon='mdi:account-question'></iconify-icon>" + _("Invalid password")), category="error")
return flask.redirect("/settings/password/", code=302)
# Password OK
if flask.request.form["password1"] != flask.request.form["password2"]:
flask.flash(Markup(_("Make sure the passwords match")), category="error")
return flask.redirect("/settings/password/", code=302)
user.password_hashed = bcrypt.generate_password_hash(flask.request.form["password1"], rounds=config.HASHING_ROUNDS).decode("utf-8")
db.session.commit()
flask.flash("The password has been changed")
return flask.redirect("/", code=302)
@app.route("/settings/confirm-email/<code>")
def confirm_email(code):
request = EmailChangeRequest.query.filter_by(code=code).first()
i18n/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-01-31 16:20+0200\n"
"POT-Creation-Date: 2025-11-19 16:53+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,106 +17,106 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.14.0\n"
#: app.py:118 templates/default.html:163
#: app.py:118 templates/default.html:153
msgid "English"
msgstr ""
#: app.py:329 app.py:344
#: app.py:303 app.py:517 app.py:720
msgid "Invalid password"
msgstr ""
#: app.py:308 app.py:572
msgid "Make sure the passwords match"
msgstr ""
#: app.py:353 app.py:368
msgid "Settings saved"
msgstr ""
#: app.py:480
#: app.py:504
msgid "Successfully logged in as {username}"
msgstr ""
#: app.py:487
#: app.py:511
msgid "User not found"
msgstr ""
#: app.py:493 app.py:693
msgid "Invalid password"
msgstr ""
#: app.py:508
#: app.py:532
msgid "Usernames may only contain Latin alphabet, numbers and '-'"
msgstr ""
#: app.py:513
#: app.py:537
msgid "Usernames may not contain consecutive hyphens"
msgstr ""
#: app.py:518
#: app.py:542
msgid "Usernames may not start or end with a hyphen"
msgstr ""
#: app.py:524
#: app.py:548
msgid "Sorry, {username} is a system path"
msgstr ""
#: app.py:534
#: app.py:558
msgid "Usernames must be lowercase, so it's been converted automatically"
msgstr ""
#: app.py:541
#: app.py:565
msgid "The username {username} is taken"
msgstr ""
#: app.py:548
msgid "Make sure the passwords match"
msgstr ""
#: app.py:558
#: app.py:582
msgid "Successfully created and logged in as {username}"
msgstr ""
#: app.py:583
#: app.py:607
msgid ""
"Repository names may only contain Latin alphabet, numbers, '-', '_' and "
"'.'"
msgstr ""
#: app.py:599
#: app.py:623
msgid "{username} doesn't trust you"
msgstr ""
#: app.py:604
#: app.py:628
msgid "{username} doesn't trust you to modify"
msgstr ""
#: app.py:614
#: app.py:638
msgid "Successfully created repository {name}"
msgstr ""
#: app.py:623
#: app.py:647
msgid "Successfully logged out"
msgstr ""
#: app.py:875
#: app.py:902
#, python-format
msgid "%(num)d file"
msgid_plural "%(num)d files"
msgstr[0] ""
msgstr[1] ""
#: app.py:1813
#: app.py:1844
msgid "Repository doesn't exist"
msgstr ""
#: app.py:1820
#: app.py:1851
msgid "Bad branch name"
msgstr ""
#: app.py:1827
#: app.py:1858
msgid "Head can't be restricted"
msgstr ""
#: app.py:2033
#: app.py:2064
msgid ""
"Your repository {repository} has been demoted from a primary site to a "
"regular site because there can only be one primary site per user."
msgstr ""
#: app.py:2120
#: app.py:2151
msgid "Incorrect password"
msgstr ""
@@ -357,66 +357,85 @@ msgstr ""
msgid "Operating System:"
msgstr ""
#: templates/default.html:65 templates/default.html:127
#: templates/change-password.html:3 templates/default.html:126
#: templates/default.html:127 templates/user-settings.html:3
#: templates/user-settings.html:11
msgid "User settings"
msgstr ""
#: templates/change-password.html:6 templates/default.html:77
#: templates/repo.html:87 templates/user-settings.html:6
msgid "Settings"
msgstr ""
#: templates/change-password.html:13 templates/user-settings.html:17
msgid "Change password"
msgstr ""
#: templates/change-password.html:16
msgid "Current password"
msgstr ""
#: templates/change-password.html:20
msgid "New password"
msgstr ""
#: templates/change-password.html:24
msgid "Repeat new password"
msgstr ""
#: templates/change-password.html:27 templates/post.html:83
#: templates/repository/repo-forum-edit.html:24
#: templates/repository/repo-forum.html:22
msgid "Submit"
msgstr ""
#: templates/default.html:65 templates/default.html:117
#: templates/notifications.html:3 templates/notifications.html:6
msgid "Notifications"
msgstr ""
#: templates/default.html:69 templates/default.html:130
#: templates/default.html:131 templates/new-repo.html:3
#: templates/new-repo.html:11
#: templates/default.html:69 templates/default.html:120
#: templates/default.html:121 templates/new-repo.html:3
#: templates/new-repo.html:14
msgid "Create repository"
msgstr ""
#: templates/default.html:73 templates/default.html:133
#: templates/default.html:73 templates/default.html:123
msgid "Your favourites"
msgstr ""
#: templates/default.html:77 templates/repo.html:87
#: templates/user-settings.html:6
msgid "Settings"
msgstr ""
#: templates/default.html:81 templates/default.html:139
#: templates/default.html:140
#: templates/default.html:81 templates/default.html:129
#: templates/default.html:130
msgid "Log out"
msgstr ""
#: templates/default.html:86 templates/default.html:143
#: templates/default.html:86 templates/default.html:133
#: templates/no-home.html:50
msgid "Log in or sign up"
msgstr ""
#: templates/default.html:101
msgid ""
"By using this site, you agree to have cookies stored on your device, "
"strictly for functional purposes, such as storing your session and "
"preferences."
msgstr ""
#: templates/default.html:104
msgid "Dismiss"
msgstr ""
#: templates/default.html:114
msgid "roundabout"
msgstr ""
#: templates/default.html:134 templates/favourites.html:3
#: templates/default.html:124 templates/favourites.html:3
#: templates/favourites.html:6
msgid "Favourites"
msgstr ""
#: templates/default.html:136 templates/default.html:137
#: templates/user-settings.html:3 templates/user-settings.html:11
msgid "User settings"
#: templates/default.html:158
msgid "Automatic"
msgstr ""
#: templates/default.html:168
msgid "Automatic"
#: templates/default.html:173
msgid ""
"By using this site, you agree to have cookies stored on your device, "
"strictly for functional purposes, such as storing your session and "
"preferences."
msgstr ""
#: templates/default.html:210
#: templates/default.html:203
msgid "Close"
msgstr ""
@@ -544,93 +563,103 @@ msgstr ""
msgid "Login"
msgstr ""
#: templates/login.html:23 templates/login.html:39
#: templates/login.html:8
msgid "Log in or sign up to the server"
msgstr ""
#: templates/login.html:26 templates/login.html:42
msgid "Log in"
msgstr ""
#: templates/login.html:30 templates/repository/repo-users.html:73
#: templates/login.html:33 templates/repository/repo-users.html:73
msgid "Username"
msgstr ""
#: templates/login.html:34 templates/login.html:59
#: templates/login.html:37 templates/login.html:62
msgid "Password"
msgstr ""
#: templates/login.html:46 templates/login.html:90
#: templates/login.html:49 templates/login.html:93
msgid "Sign up"
msgstr ""
#: templates/login.html:53
#: templates/login.html:56
msgid "Wanted username"
msgstr ""
#: templates/login.html:55
#: templates/login.html:58
msgid ""
"Only letters, numbers or hyphens, cannot be\n"
" changed later"
msgstr ""
#: templates/login.html:62
#: templates/login.html:65
msgid ""
"Stored only hashed, so we can't recover it for\n"
" you"
msgstr ""
#: templates/login.html:66
#: templates/login.html:69
msgid "Repeat password"
msgstr ""
#: templates/login.html:71
#: templates/login.html:74
msgid "Email (recommended)"
msgstr ""
#: templates/login.html:73
#: templates/login.html:76
msgid ""
"Used for notifications, only displayed if you'd\n"
" like to"
msgstr ""
#: templates/login.html:77
#: templates/login.html:80
msgid "Display name (optional)"
msgstr ""
#: templates/login.html:79
#: templates/login.html:82
msgid ""
"Doesn't have username restrictions, can be\n"
" changed later"
msgstr ""
#: templates/login.html:85
#: templates/login.html:88
msgid "I accept the"
msgstr ""
#: templates/login.html:86
#: templates/login.html:89
msgid ""
"policies listed\n"
" here"
msgstr ""
#: templates/new-repo.html:17
#: templates/new-repo.html:8
msgid "Create a repository"
msgstr ""
#: templates/new-repo.html:20
msgid "Account"
msgstr ""
#: templates/new-repo.html:25
#: templates/new-repo.html:28
msgid "Name"
msgstr ""
#: templates/new-repo.html:29 templates/repository/repo-settings.html:64
#: templates/new-repo.html:32 templates/repository/repo-settings.html:64
msgid "Public"
msgstr ""
#: templates/new-repo.html:30 templates/repository/repo-settings.html:68
#: templates/new-repo.html:33 templates/repository/repo-settings.html:68
#: templates/user-profile-repositories.html:18
msgid "Unlisted"
msgstr ""
#: templates/new-repo.html:31 templates/repository/repo-settings.html:72
#: templates/new-repo.html:34 templates/repository/repo-settings.html:72
#: templates/user-profile-repositories.html:16
msgid "Private"
msgstr ""
#: templates/new-repo.html:33
#: templates/new-repo.html:36
msgid "Create"
msgstr ""
@@ -779,11 +808,6 @@ msgstr ""
msgid "Subject"
msgstr ""
#: templates/post.html:83 templates/repository/repo-forum-edit.html:24
#: templates/repository/repo-forum.html:22
msgid "Submit"
msgstr ""
#: templates/post.html:99
msgid "Comments hidden; click to go deeper."
msgstr ""
@@ -952,7 +976,7 @@ msgstr ""
msgid "%(username)s's repositories"
msgstr ""
#: templates/user-profile-repositories.html:28
#: templates/user-profile-repositories.html:33
msgid "This user doesn't own any repositories."
msgstr ""
@@ -1051,10 +1075,6 @@ msgstr ""
msgid "Username: %(username)s"
msgstr ""
#: templates/user-settings.html:17
msgid "Change password"
msgstr ""
#: templates/user-settings.html:23
msgid "Avatar"
msgstr ""
@@ -1248,7 +1268,7 @@ msgstr ""
#: templates/repository/repo-branches.html:26
#: templates/repository/repo-branches.html:45
#: templates/repository/repo-log.html:68
#: templates/repository/repo-log.html:73
msgid "View tree"
msgstr ""
@@ -1261,46 +1281,52 @@ msgstr ""
msgid "%(message)s in %(username)s/%(repository)s"
msgstr ""
#: templates/repository/repo-commit.html:19
#: templates/repository/repo-commit.html:17
#, python-format
msgid ""
"\n"
" created on %(author_date)s (%(author_unix)s),\n"
" received on %(receive_date)s (%(receive_unix)s)\n"
"by <a href=\"%(profile_url)s\">%(owner_name)s</a>,\n"
" %(author_date)s (%(author_unix)s),\n"
" pushed by <a "
"href=\"/%(pusher_name)s\">%(pusher_name)s</a>,\n"
" %(receive_date)s (%(receive_unix)s)\n"
" "
msgstr ""
#: templates/repository/repo-commit.html:26
#: templates/repository/repo-commit.html:32
msgid "Author identity:"
msgstr ""
#: templates/repository/repo-commit.html:80
#: templates/repository/repo-commit.html:86
msgid "by"
msgstr ""
#: templates/repository/repo-commit.html:87
#: templates/repository/repo-commit.html:93
msgid "Resolve"
msgstr ""
#: templates/repository/repo-commit.html:91
#: templates/repository/repo-commit.html:111
#: templates/repository/repo-commit.html:97
#: templates/repository/repo-commit.html:117
#: templates/repository/repo-settings.html:25
msgid "Delete"
msgstr ""
#: templates/repository/repo-commit.html:99
#: templates/repository/repo-commit.html:105
#, python-format
msgid "Resolved comments (%(count)s)"
msgstr ""
#: templates/repository/repo-commit.html:107
#: templates/repository/repo-commit.html:113
msgid "Unresolve"
msgstr ""
#: templates/repository/repo-commit.html:135
#: templates/repository/repo-commit.html:141
msgid "Add comment"
msgstr ""
#: templates/repository/repo-commit.html:154
msgid "Post"
msgstr ""
#: templates/repository/repo-file.html:5
#, python-format
msgid "%(basename)s in %(username)s/%(repository)s"
@@ -1383,18 +1409,14 @@ msgstr ""
msgid "History of %(username)s/%(repository)s"
msgstr ""
#: templates/repository/repo-log.html:57
#: templates/repository/repo-log.html:62
#, python-format
msgid ""
"\n"
" by <a "
"href=\"/%(owner_name)s\">%(owner_name)s</a>,\n"
" "
msgid "by <a href=\"%(profile_url)s\">%(owner_name)s</a>,"
msgstr ""
#: templates/repository/repo-log.html:60
#: templates/repository/repo-log.html:66
#, python-format
msgid "received on %(receive_date)s"
msgid "pushed by <a href=\"/%(pusher_name)s\">%(pusher_name)s</a>,"
msgstr ""
#: templates/repository/repo-prs.html:5
i18n/ro_RO/LC_MESSAGES/messages.mo
i18n/ro_RO/LC_MESSAGES/messages.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-01-31 16:20+0200\n"
"PO-Revision-Date: 2025-01-31 16:48+0200\n"
"POT-Creation-Date: 2025-11-19 16:53+0200\n"
"PO-Revision-Date: 2025-11-19 16:55+0200\n"
"Last-Translator: roundabout <root@roundabout-host.com>\n"
"Language-Team: ro_RO <LL@li.org>\n"
"Language: ro_RO\n"
@@ -18,85 +18,85 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2);\n"
"Generated-By: Babel 2.14.0\n"
"X-Generator: Poedit 3.4.4\n"
"X-Generator: Poedit 3.8\n"
#: app.py:118 templates/default.html:163
#: app.py:118 templates/default.html:153
msgid "English"
msgstr "limba română"
#: app.py:329 app.py:344
#: app.py:303 app.py:517 app.py:720
msgid "Invalid password"
msgstr "Parolă invalidă"
#: app.py:308 app.py:572
msgid "Make sure the passwords match"
msgstr "Ai grijă ca parolele să se potrivească"
#: app.py:353 app.py:368
msgid "Settings saved"
msgstr "Setările au fost salvate"
#: app.py:480
#: app.py:504
msgid "Successfully logged in as {username}"
msgstr "Conectat drept {username} cu succes"
#: app.py:487
#: app.py:511
msgid "User not found"
msgstr "Utilizatorul nu poate fi găsit"
#: app.py:493 app.py:693
msgid "Invalid password"
msgstr "Parolă invalidă"
#: app.py:508
#: app.py:532
msgid "Usernames may only contain Latin alphabet, numbers and '-'"
msgstr "Numele de utilizator pot conține doar alfabetul latin, numere și «-»"
#: app.py:513
#: app.py:537
msgid "Usernames may not contain consecutive hyphens"
msgstr "Numele de utilizator nu pot conține cratime consecutive"
#: app.py:518
#: app.py:542
msgid "Usernames may not start or end with a hyphen"
msgstr "Numele de utilizator nu pot avea o cratimă la început sau la sfârșit"
#: app.py:524
#: app.py:548
msgid "Sorry, {username} is a system path"
msgstr "Scuze, {username} este o cale de sistem"
#: app.py:534
#: app.py:558
msgid "Usernames must be lowercase, so it's been converted automatically"
msgstr ""
"Numele de utilizator trebuie să fie cu minuscule, așa că a fost convertit "
"automat"
#: app.py:541
#: app.py:565
msgid "The username {username} is taken"
msgstr "Numele de utilizator {username} este deja folosit"
#: app.py:548
msgid "Make sure the passwords match"
msgstr "Ai grijă ca parolele să se potrivească"
#: app.py:558
#: app.py:582
msgid "Successfully created and logged in as {username}"
msgstr "Creat și conectat drept {username} cu succes"
#: app.py:583
#: app.py:607
msgid ""
"Repository names may only contain Latin alphabet, numbers, '-', '_' and '.'"
msgstr ""
"Numele de depozit pot conține doar alfabetul latin, numere, «-», «_» și «.»"
#: app.py:599
#: app.py:623
msgid "{username} doesn't trust you"
msgstr "{username} nu are încredere în tine"
#: app.py:604
#: app.py:628
msgid "{username} doesn't trust you to modify"
msgstr "{username} nu are încredere în tine să modifici"
#: app.py:614
#: app.py:638
msgid "Successfully created repository {name}"
msgstr "Creat depozitul {name} cu succes"
#: app.py:623
#: app.py:647
msgid "Successfully logged out"
msgstr "Ieșit din cont cu succes"
#: app.py:875
#: app.py:902
#, python-format
msgid "%(num)d file"
msgid_plural "%(num)d files"
@@ -104,19 +104,19 @@ msgstr[0] "%(num)d fișier"
msgstr[1] "%(num)d fișiere"
msgstr[2] "%(num)d de fișiere"
#: app.py:1813
#: app.py:1844
msgid "Repository doesn't exist"
msgstr "Depozitul nu există"
#: app.py:1820
#: app.py:1851
msgid "Bad branch name"
msgstr "Nume de ramificație greșit"
#: app.py:1827
#: app.py:1858
msgid "Head can't be restricted"
msgstr "Vârful nu poate fi restricționat"
#: app.py:2033
#: app.py:2064
msgid ""
"Your repository {repository} has been demoted from a primary site to a regular "
"site because there can only be one primary site per user."
@@ -124,7 +124,7 @@ msgstr ""
"Depozitul tău {repository} a fost retrogradat de la un site primar la un site "
"normal pentru că poate fi un singur site primar pe utilizator."
#: app.py:2120
#: app.py:2151
msgid "Incorrect password"
msgstr "Parolă greșită"
@@ -377,64 +377,84 @@ msgstr "Informații despre server"
msgid "Operating System:"
msgstr "Sistem de operare:"
#: templates/default.html:65 templates/default.html:127
#: templates/change-password.html:3 templates/default.html:126
#: templates/default.html:127 templates/user-settings.html:3
#: templates/user-settings.html:11
msgid "User settings"
msgstr "Setări utilizator"
#: templates/change-password.html:6 templates/default.html:77
#: templates/repo.html:87 templates/user-settings.html:6
msgid "Settings"
msgstr "Setări"
#: templates/change-password.html:13 templates/user-settings.html:17
msgid "Change password"
msgstr "Schimbă parola"
#: templates/change-password.html:16
msgid "Current password"
msgstr "Parola actuală"
#: templates/change-password.html:20
msgid "New password"
msgstr "Parola nouă"
#: templates/change-password.html:24
msgid "Repeat new password"
msgstr "Repetă noua parolă"
#: templates/change-password.html:27 templates/post.html:83
#: templates/repository/repo-forum-edit.html:24
#: templates/repository/repo-forum.html:22
msgid "Submit"
msgstr "Trimite"
#: templates/default.html:65 templates/default.html:117
#: templates/notifications.html:3 templates/notifications.html:6
msgid "Notifications"
msgstr "Notificări"
#: templates/default.html:69 templates/default.html:130 templates/default.html:131
#: templates/new-repo.html:3 templates/new-repo.html:11
#: templates/default.html:69 templates/default.html:120 templates/default.html:121
#: templates/new-repo.html:3 templates/new-repo.html:14
msgid "Create repository"
msgstr "Creează depozit"
#: templates/default.html:73 templates/default.html:133
#: templates/default.html:73 templates/default.html:123
msgid "Your favourites"
msgstr "Preferatele tale"
#: templates/default.html:77 templates/repo.html:87 templates/user-settings.html:6
msgid "Settings"
msgstr "Setări"
#: templates/default.html:81 templates/default.html:139 templates/default.html:140
#: templates/default.html:81 templates/default.html:129 templates/default.html:130
msgid "Log out"
msgstr "Deconectează-te"
#: templates/default.html:86 templates/default.html:143 templates/no-home.html:50
#: templates/default.html:86 templates/default.html:133 templates/no-home.html:50
msgid "Log in or sign up"
msgstr "Conectează-te sau înregistrează-te"
#: templates/default.html:101
msgid ""
"By using this site, you agree to have cookies stored on your device, strictly "
"for functional purposes, such as storing your session and preferences."
msgstr ""
"Folosind acest site, ești de acord să stocăm „cookie”-uri pe aparatul tău, "
"strict pentru utilizări funcționale, cum ar fi reținerea sesiunii sau a "
"preferințelor."
#: templates/default.html:104
msgid "Dismiss"
msgstr "Închide"
#: templates/default.html:114
msgid "roundabout"
msgstr "giratoriu"
#: templates/default.html:134 templates/favourites.html:3
#: templates/default.html:124 templates/favourites.html:3
#: templates/favourites.html:6
msgid "Favourites"
msgstr "Favorite"
#: templates/default.html:136 templates/default.html:137
#: templates/user-settings.html:3 templates/user-settings.html:11
msgid "User settings"
msgstr "Setări utilizator"
#: templates/default.html:168
#: templates/default.html:158
msgid "Automatic"
msgstr "Automat"
#: templates/default.html:210
#: templates/default.html:173
msgid ""
"By using this site, you agree to have cookies stored on your device, strictly "
"for functional purposes, such as storing your session and preferences."
msgstr ""
"Folosind acest site, ești de acord să stocăm „cookie”-uri pe aparatul tău, "
"strict pentru utilizări funcționale, cum ar fi reținerea sesiunii sau a "
"preferințelor."
#: templates/default.html:203
msgid "Close"
msgstr "Închide"
@@ -562,93 +582,103 @@ msgstr "Înregistrat recent"
msgid "Login"
msgstr "Conectare"
#: templates/login.html:23 templates/login.html:39
#: templates/login.html:8
msgid "Log in or sign up to the server"
msgstr "Conectează-te sau înregistrează-te pe servitor"
#: templates/login.html:26 templates/login.html:42
msgid "Log in"
msgstr "Conectează-te"
#: templates/login.html:30 templates/repository/repo-users.html:73
#: templates/login.html:33 templates/repository/repo-users.html:73
msgid "Username"
msgstr "Nume de utilizator"
#: templates/login.html:34 templates/login.html:59
#: templates/login.html:37 templates/login.html:62
msgid "Password"
msgstr "Parolă"
#: templates/login.html:46 templates/login.html:90
#: templates/login.html:49 templates/login.html:93
msgid "Sign up"
msgstr "Înregistrează-te"
#: templates/login.html:53
#: templates/login.html:56
msgid "Wanted username"
msgstr "Nume de utilizator dorit"
#: templates/login.html:55
#: templates/login.html:58
msgid ""
"Only letters, numbers or hyphens, cannot be\n"
" changed later"
msgstr "Doar litere, cifre și cratime, nu se poate schimba mai târziu"
#: templates/login.html:62
#: templates/login.html:65
msgid ""
"Stored only hashed, so we can't recover it for\n"
" you"
msgstr "Stocată doar dispersat, deci nu o putem recupera pentru tine"
#: templates/login.html:66
#: templates/login.html:69
msgid "Repeat password"
msgstr "Repetă parola"
#: templates/login.html:71
#: templates/login.html:74
msgid "Email (recommended)"
msgstr "Email (recomandat)"
#: templates/login.html:73
#: templates/login.html:76
msgid ""
"Used for notifications, only displayed if you'd\n"
" like to"
msgstr "Folosit pentru notificări, afișat doar dacă dorești"
#: templates/login.html:77
#: templates/login.html:80
msgid "Display name (optional)"
msgstr "Nume de afișare (opțional)"
#: templates/login.html:79
#: templates/login.html:82
msgid ""
"Doesn't have username restrictions, can be\n"
" changed later"
msgstr "Nu are restricțiile numelui de utilizator, se poate schimba"
#: templates/login.html:85
#: templates/login.html:88
msgid "I accept the"
msgstr "Accept"
#: templates/login.html:86
#: templates/login.html:89
msgid ""
"policies listed\n"
" here"
msgstr "politicile listate aici"
#: templates/new-repo.html:17
#: templates/new-repo.html:8
msgid "Create a repository"
msgstr "Creează un depozit"
#: templates/new-repo.html:20
msgid "Account"
msgstr "Cont"
#: templates/new-repo.html:25
#: templates/new-repo.html:28
msgid "Name"
msgstr "Nume"
#: templates/new-repo.html:29 templates/repository/repo-settings.html:64
#: templates/new-repo.html:32 templates/repository/repo-settings.html:64
msgid "Public"
msgstr "Public"
#: templates/new-repo.html:30 templates/repository/repo-settings.html:68
#: templates/new-repo.html:33 templates/repository/repo-settings.html:68
#: templates/user-profile-repositories.html:18
msgid "Unlisted"
msgstr "Nelistat"
#: templates/new-repo.html:31 templates/repository/repo-settings.html:72
#: templates/new-repo.html:34 templates/repository/repo-settings.html:72
#: templates/user-profile-repositories.html:16
msgid "Private"
msgstr "Privat"
#: templates/new-repo.html:33
#: templates/new-repo.html:36
msgid "Create"
msgstr "Creează"
@@ -804,11 +834,6 @@ msgstr "Răspunde"
msgid "Subject"
msgstr "Subiect"
#: templates/post.html:83 templates/repository/repo-forum-edit.html:24
#: templates/repository/repo-forum.html:22
msgid "Submit"
msgstr "Trimite"
#: templates/post.html:99
msgid "Comments hidden; click to go deeper."
msgstr "Comentarii ascunse; apasă pentru a merge mai adânc."
@@ -979,7 +1004,7 @@ msgstr "Profilul lui %(username)s"
msgid "%(username)s's repositories"
msgstr "Depozitele lui %(username)s"
#: templates/user-profile-repositories.html:28
#: templates/user-profile-repositories.html:33
msgid "This user doesn't own any repositories."
msgstr "Acest utilizator nu deține niciun depozit."
@@ -1078,10 +1103,6 @@ msgstr "Informații de bază"
msgid "Username: %(username)s"
msgstr "Nume de utilizator: %(username)s"
#: templates/user-settings.html:17
msgid "Change password"
msgstr "Schimbă parola"
#: templates/user-settings.html:23
msgid "Avatar"
msgstr "Poză"
@@ -1279,7 +1300,7 @@ msgstr "Ramificațiile %(username)s/%(repository)s"
#: templates/repository/repo-branches.html:26
#: templates/repository/repo-branches.html:45
#: templates/repository/repo-log.html:68
#: templates/repository/repo-log.html:73
msgid "View tree"
msgstr "Vezi arborele"
@@ -1292,50 +1313,58 @@ msgstr "Etichete"
msgid "%(message)s in %(username)s/%(repository)s"
msgstr "%(message)s în %(username)s/%(repository)s"
#: templates/repository/repo-commit.html:19
#: templates/repository/repo-commit.html:17
#, python-format
msgid ""
"\n"
" created on %(author_date)s (%(author_unix)s),\n"
" received on %(receive_date)s (%(receive_unix)s)\n"
"by <a href=\"%(profile_url)s\">%(owner_name)s</a>,\n"
" %(author_date)s (%(author_unix)s),\n"
" pushed by <a href=\"/%(pusher_name)s\">%(pusher_name)s</"
"a>,\n"
" %(receive_date)s (%(receive_unix)s)\n"
" "
msgstr ""
"\n"
" creat pe %(author_date)s (%(author_unix)s),\n"
" primit pe %(receive_date)s (%(receive_unix)s)\n"
"de <a href=\"%(profile_url)s\">%(owner_name)s</a>,\n"
" %(author_date)s (%(author_unix)s),\n"
" trimis de <a href=\"/%(pusher_name)s\">%(pusher_name)s</"
"a>,\n"
" %(receive_date)s (%(receive_unix)s)\n"
" "
#: templates/repository/repo-commit.html:26
#: templates/repository/repo-commit.html:32
msgid "Author identity:"
msgstr "Identitatea autorului:"
#: templates/repository/repo-commit.html:80
#: templates/repository/repo-commit.html:86
msgid "by"
msgstr "de"
#: templates/repository/repo-commit.html:87
#: templates/repository/repo-commit.html:93
msgid "Resolve"
msgstr "Rezolvă"
#: templates/repository/repo-commit.html:91
#: templates/repository/repo-commit.html:111
#: templates/repository/repo-commit.html:97
#: templates/repository/repo-commit.html:117
#: templates/repository/repo-settings.html:25
msgid "Delete"
msgstr "Șterge"
#: templates/repository/repo-commit.html:99
#: templates/repository/repo-commit.html:105
#, python-format
msgid "Resolved comments (%(count)s)"
msgstr "Comentarii rezolvate (%(count)s)"
#: templates/repository/repo-commit.html:107
#: templates/repository/repo-commit.html:113
msgid "Unresolve"
msgstr "De-rezolvă"
#: templates/repository/repo-commit.html:135
#: templates/repository/repo-commit.html:141
msgid "Add comment"
msgstr "Adaugă comentariu"
#: templates/repository/repo-commit.html:154
msgid "Post"
msgstr "Postare"
#: templates/repository/repo-file.html:5
#, python-format
msgid "%(basename)s in %(username)s/%(repository)s"
@@ -1415,23 +1444,15 @@ msgstr "Postează subiect"
msgid "History of %(username)s/%(repository)s"
msgstr "Istoricul %(username)s/%(repository)s"
#: templates/repository/repo-log.html:57
#: templates/repository/repo-log.html:62
#, python-format
msgid ""
"\n"
" by <a href=\"/"
"%(owner_name)s\">%(owner_name)s</a>,\n"
" "
msgstr ""
"\n"
" de <a href=\"/"
"%(owner_name)s\">%(owner_name)s</a>,\n"
" "
msgid "by <a href=\"%(profile_url)s\">%(owner_name)s</a>,"
msgstr "de <a href=\"%(profile_url)s\">%(owner_name)s</a>,"
#: templates/repository/repo-log.html:60
#: templates/repository/repo-log.html:66
#, python-format
msgid "received on %(receive_date)s"
msgstr "primit pe %(receive_date)s"
msgid "pushed by <a href=\"/%(pusher_name)s\">%(pusher_name)s</a>,"
msgstr "trimis de <a href=\"/%(pusher_name)s\">%(pusher_name)s</a>,"
#: templates/repository/repo-prs.html:5
#, python-format
@@ -1641,19 +1662,19 @@ msgstr "Adaugă"
#~ msgid ""
#~ "\n"
#~ " by <a href=\"/"
#~ "%(owner_name)s\">%(owner_name)s</a>,\n"
#~ " <span title=\"received on "
#~ "%(receive_date)s\">\n"
#~ " by <a href=\"/%(owner_name)s\">%"
#~ "(owner_name)s</a>,\n"
#~ " <span title=\"received on %"
#~ "(receive_date)s\">\n"
#~ " %(author_date)s\n"
#~ " </span>\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ " de <a href=\"/"
#~ "%(owner_name)s\">%(owner_name)s</a>,\n"
#~ " <span title=\"primit la "
#~ "%(receive_date)s\">\n"
#~ " de <a href=\"/%(owner_name)s\">%"
#~ "(owner_name)s</a>,\n"
#~ " <span title=\"primit la %"
#~ "(receive_date)s\">\n"
#~ " %(author_date)s\n"
#~ " </span>\n"
#~ " "
@@ -1728,3 +1749,20 @@ msgstr "Adaugă"
#~ msgid "Follow"
#~ msgstr "Urmărește"
#~ msgid "Dismiss"
#~ msgstr "Închide"
#~ msgid ""
#~ "\n"
#~ " created on %(author_date)s (%(author_unix)s),\n"
#~ " received on %(receive_date)s (%(receive_unix)s)\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ " creat pe %(author_date)s (%(author_unix)s),\n"
#~ " primit pe %(receive_date)s (%(receive_unix)s)\n"
#~ " "
#~ msgid "received on %(receive_date)s"
#~ msgstr "primit pe %(receive_date)s"
templates/change-password.html
@@ -0,0 +1,33 @@
{% extends "default.html" %}
{% block title %}
{% trans %}User settings{% endtrans %}
{% endblock %}
{% block breadcrumbs %}
<li><a href="/settings">{% trans %}Settings{% endtrans %}</a></li>
{% endblock %}
{% block content %}
<x-frame style="--width: 768px;">
<x-vbox>
<article class="card">
<section class="card-main">
<h1>{% trans %}Change password{% endtrans %}</h1>
<form class="vbox" method="POST">
<label>
{% trans %}Current password{% endtrans %}
<input name="password" type="password">
</label>
<label>
{% trans %}New password{% endtrans %}
<input name="password1" type="password">
</label>
<label>
{% trans %}Repeat new password{% endtrans %}
<input name="password2" type="password">
</label>
<button type="submit">{% trans %}Submit{% endtrans %}</button>
</form>
</section>
</article>
</x-vbox>
</x-frame>
{% endblock %}
templates/user-settings.html
@@ -103,5 +103,6 @@
</form>
</section>
</article>
</x-vbox>
</x-frame>
{% endblock %}