You've already forked snikket-web-portal
Compare commits
29 Commits
feature/za
...
feature/mu
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6b67b3fdd | ||
|
|
885db355ab | ||
|
|
c3d5b06313 | ||
|
|
2dd8838852 | ||
|
|
5df2c3945a | ||
|
|
3eb8036ebd | ||
|
|
02ed390cd2 | ||
|
|
2506810b90 | ||
|
|
05d1b42dc4 | ||
|
|
5ef5b93eb9 | ||
|
|
0ff6e00e9d | ||
|
|
c04ac4bee0 | ||
|
|
3e19d42c2a | ||
|
|
03732ac06b | ||
|
|
c70228fed7 | ||
|
|
025172592f | ||
|
|
6de1e5313f | ||
|
|
3083c118a3 | ||
|
|
fa1b13fbdb | ||
|
|
ba30d728f4 | ||
|
|
af87301fa4 | ||
|
|
8ee0b0dd30 | ||
|
|
4a27ef9d72 | ||
|
|
9e9fdaf8d4 | ||
|
|
bdb186ca81 | ||
|
|
4ca9b82bce | ||
|
|
6dbe2c2d5e | ||
|
|
e410aedfef | ||
|
|
1713da61e7 |
@@ -145,14 +145,21 @@ class AppConfig:
|
||||
site_name = environ.var("")
|
||||
avatar_cache_ttl = environ.var(1800, converter=int)
|
||||
languages = environ.var([
|
||||
"da",
|
||||
"de",
|
||||
"en",
|
||||
"fr",
|
||||
"id",
|
||||
"it",
|
||||
"pl",
|
||||
"sv",
|
||||
], converter=autosplit)
|
||||
apple_store_url = environ.var("")
|
||||
# Default limit of 1 MiB is what was discovered to be the effective limit
|
||||
# in #67, hence we set that here for now.
|
||||
# Future versions may change this default, and the standard deployment
|
||||
# tools may also very well override it.
|
||||
max_avatar_size = environ.var(1024*1024, converter=int)
|
||||
|
||||
|
||||
_UPPER_CASE = "".join(map(chr, range(ord("A"), ord("Z")+1)))
|
||||
@@ -183,6 +190,7 @@ def create_app() -> quart.Quart:
|
||||
app.config["SITE_NAME"] = config.site_name or config.domain
|
||||
app.config["AVATAR_CACHE_TTL"] = config.avatar_cache_ttl
|
||||
app.config["APPLE_STORE_URL"] = config.apple_store_url
|
||||
app.config["MAX_AVATAR_SIZE"] = config.max_avatar_size
|
||||
|
||||
app.context_processor(proc)
|
||||
app.register_error_handler(
|
||||
|
||||
@@ -53,13 +53,15 @@ async def view_old(id_: str) -> quart.Response:
|
||||
|
||||
|
||||
@bp.route("/<id_>/")
|
||||
async def view(id_: str) -> typing.Union[quart.Response, str]:
|
||||
async def view(id_: str) -> typing.Union[quart.Response,
|
||||
typing.Tuple[str, int],
|
||||
str]:
|
||||
try:
|
||||
invite = await client.get_public_invite_by_id(id_)
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
if exc.status == 404:
|
||||
# invite expired
|
||||
return await render_template("invite_invalid.html")
|
||||
return await render_template("invite_invalid.html"), 404
|
||||
raise
|
||||
|
||||
if invite.reset_localpart is not None:
|
||||
@@ -89,6 +91,7 @@ async def view(id_: str) -> typing.Union[quart.Response, str]:
|
||||
invite=invite,
|
||||
play_store_url=play_store_url,
|
||||
apple_store_url=apple_store_url,
|
||||
f_droid_url="market://details?id=org.snikket.android",
|
||||
invite_id=id_,
|
||||
)
|
||||
return quart.Response(
|
||||
|
||||
@@ -101,6 +101,10 @@ async def about() -> str:
|
||||
extra_versions["babel"] = babel.__version__
|
||||
extra_versions["wtforms"] = wtforms.__version__
|
||||
extra_versions["flask-wtf"] = flask_wtf.__version__
|
||||
try:
|
||||
extra_versions["Prosody"] = await client.get_server_version()
|
||||
except quart.exceptions.Unauthorized:
|
||||
extra_versions["Prosody"] = "unknown"
|
||||
|
||||
return await render_template(
|
||||
"about.html",
|
||||
@@ -159,3 +163,8 @@ async def avatar(from_: str, code: str) -> quart.Response:
|
||||
|
||||
response.set_data(data)
|
||||
return response
|
||||
|
||||
|
||||
@bp.route("/_health")
|
||||
async def health() -> Response:
|
||||
return Response("STATUS OK", content_type="text/plain")
|
||||
|
||||
@@ -332,15 +332,18 @@ class ProsodyClient:
|
||||
)
|
||||
)
|
||||
|
||||
def _store_token_in_session(self, token_info: TokenInfo) -> None:
|
||||
http_session[self.SESSION_TOKEN] = token_info.token
|
||||
http_session[self.SESSION_CACHED_SCOPE] = " ".join(token_info.scopes)
|
||||
|
||||
async def login(self, jid: str, password: str) -> bool:
|
||||
async with self._plain_session as session:
|
||||
token_info = await self._oauth2_bearer_token(
|
||||
session, jid, password,
|
||||
)
|
||||
|
||||
http_session[self.SESSION_TOKEN] = token_info.token
|
||||
self._store_token_in_session(token_info)
|
||||
http_session[self.SESSION_ADDRESS] = jid
|
||||
http_session[self.SESSION_CACHED_SCOPE] = " ".join(token_info.scopes)
|
||||
return True
|
||||
|
||||
@property
|
||||
@@ -445,6 +448,13 @@ class ProsodyClient:
|
||||
headers=final_headers,
|
||||
data=serialised) as resp:
|
||||
if resp.status != 200:
|
||||
self.logger.debug(
|
||||
"IQ HTTP response (in-reply-to id=%s) with non-OK status "
|
||||
"%s: %s",
|
||||
id_,
|
||||
resp.status,
|
||||
resp.reason,
|
||||
)
|
||||
abort(resp.status)
|
||||
reply_payload = await resp.read()
|
||||
self.logger.debug(
|
||||
@@ -493,6 +503,29 @@ class ProsodyClient:
|
||||
async with session.post(self._rest_endpoint, data=req) as resp:
|
||||
return resp.status == 200
|
||||
|
||||
@autosession
|
||||
async def get_server_version(self, session: aiohttp.ClientSession) -> str:
|
||||
_, domain, _ = split_jid(self.session_address)
|
||||
req = {
|
||||
"kind": "iq",
|
||||
"type": "get",
|
||||
"version": True,
|
||||
"to": domain,
|
||||
}
|
||||
|
||||
async with session.post(self._rest_endpoint, data=req) as resp:
|
||||
if resp.status != 200:
|
||||
return "unknwn"
|
||||
try:
|
||||
return (await resp.json())["version"]["version"]
|
||||
except Exception as exc:
|
||||
self.logger.debug(
|
||||
"failed to parse prosody version from response"
|
||||
" (%s: %s)",
|
||||
type(exc), exc,
|
||||
)
|
||||
return "unknown"
|
||||
|
||||
@autosession
|
||||
async def get_user_nickname(
|
||||
self,
|
||||
@@ -767,7 +800,7 @@ class ProsodyClient:
|
||||
# got there, replacing the current session token on the way.
|
||||
|
||||
async with self._plain_session as session:
|
||||
token = await self._oauth2_bearer_token(
|
||||
token_info = await self._oauth2_bearer_token(
|
||||
session,
|
||||
self.session_address,
|
||||
current_password,
|
||||
@@ -779,14 +812,14 @@ class ProsodyClient:
|
||||
new_password
|
||||
),
|
||||
headers={
|
||||
"Authorization": "Bearer {}".format(token),
|
||||
"Authorization": "Bearer {}".format(token_info.token),
|
||||
},
|
||||
sensitive=True,
|
||||
)
|
||||
# TODO: error handling
|
||||
# TODO: obtain a new token using the new password to allow the
|
||||
# server to expire/revoke all tokens on password change.
|
||||
http_session[self.SESSION_TOKEN] = token
|
||||
self._store_token_in_session(token_info)
|
||||
|
||||
def _raise_error_from_response(
|
||||
self,
|
||||
|
||||
@@ -54,6 +54,8 @@ div.install-buttons {
|
||||
ul {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
list-style-type: none;
|
||||
margin: $w-l1 0;
|
||||
padding: 0;
|
||||
@@ -74,6 +76,10 @@ img.play {
|
||||
height: $w-l3;
|
||||
}
|
||||
|
||||
img.fdroid {
|
||||
height: $w-l3;
|
||||
}
|
||||
|
||||
.tabbox {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
BIN
snikket_web/static/img/f-droid-badge.png
Normal file
BIN
snikket_web/static/img/f-droid-badge.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
@@ -27,8 +27,9 @@
|
||||
<ul>
|
||||
<li><a href="{{ play_store_url }}"><img alt='{% trans %}Get it on Google Play{% endtrans %}' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' class="play"/></a></li>
|
||||
{%- if apple_store_url -%}
|
||||
<li><a href="{{ apple_store_url }}"><img alt='{% trans %}Download on the App Store{% endtrans %}' src="{{ apple_store_badge() }}" class="apple"></a></li>
|
||||
<li><a href="{{ apple_store_url }}" class="popover" data-popover-id="apple-popover"><img alt='{% trans %}Download on the App Store{% endtrans %}' src="{{ apple_store_badge() }}" class="apple"></a></li>
|
||||
{%- endif -%}
|
||||
<li><a href="{{ f_droid_url }}" class="popover" data-popover-id="fdroid-popover"><img alt='{% trans %}Get it on F-Droid{% endtrans %}' src='{{ url_for('static', filename='img/f-droid-badge.png') }}' class="fdroid"/></a></li>
|
||||
</ul>
|
||||
{%- call standard_button("qrcode", "#qr-modal", class="primary", onclick="open_modal(this); return false;") -%}
|
||||
{% trans %}Send to mobile device{% endtrans %}
|
||||
@@ -84,10 +85,77 @@
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
</div>
|
||||
{%- if apple_store_url -%}
|
||||
<div id="apple-popover" class="modal" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;" onclick="close_modal(this); return false;">
|
||||
<div role="document" class="elevated box el-2" onclick="event.stopPropagation();">
|
||||
<header class="modal-title">
|
||||
{#- -#}
|
||||
<span>{% trans %}Install on iOS{% endtrans %}</span>
|
||||
{#- -#}
|
||||
{%- call action_button("close", "#", onclick="close_modal(this.parentNode.parentNode.parentNode); return false;", class="tertiary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</header>
|
||||
<p>{% trans %}After downloading Snikket from the app store, you have to return to this invite link and tap on "Open the app" to proceed.{% endtrans %}</p>
|
||||
<ol>
|
||||
<li><p>{% trans %}First download Snikket from the app store using the button below:{% endtrans %}</p>
|
||||
<p><a href="{{ apple_store_url }}"><img alt='{% trans %}Download on the App Store{% endtrans %}' src="{{ apple_store_badge() }}" class="apple"></a></p>
|
||||
<li><p>{% trans %}After the installation is complete, you can return to this page and tap the "Open the app" button to continue with the setup:{% endtrans %}</p>
|
||||
<p>
|
||||
{%- call standard_button("exit_to_app", invite.xmpp_uri, class="primary") -%}
|
||||
{% trans %}Open the app{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</p></li>
|
||||
</ol>
|
||||
{#- -#}
|
||||
{%- call standard_button("close", "#", onclick="close_modal(this.parentNode.parentNode); return false;", class="secondary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
<div id="fdroid-popover" class="modal" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;" onclick="close_modal(this); return false;">
|
||||
<div role="document" class="elevated box el-2" onclick="event.stopPropagation();">
|
||||
<header class="modal-title">
|
||||
{#- -#}
|
||||
<span>{% trans %}Install via F-Droid{% endtrans %}</span>
|
||||
{#- -#}
|
||||
{%- call action_button("close", "#", onclick="close_modal(this.parentNode.parentNode.parentNode); return false;", class="tertiary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</header>
|
||||
<p>{% trans %}After installing Snikket via F-Droid, you have to return to this invite link and tap on "Open the app" to proceed.{% endtrans %}</p>
|
||||
<ol>
|
||||
<li><p>{% trans %}First install Snikket from F-Droid using the button below:{% endtrans %}</p>
|
||||
<p><a href="{{ f_droid_url }}" class="popover" data-popover-id="fdroid-popover"><img alt='{% trans %}Install via F-Droid{% endtrans %}' src='{{ url_for('static', filename='img/f-droid-badge.png') }}' class="fdroid"/></a></p></li>
|
||||
<li><p>{% trans %}After the installation is complete, you can return to this page and tap the "Open the app" button to continue with the setup:{% endtrans %}</p>
|
||||
<p>
|
||||
{%- call standard_button("exit_to_app", invite.xmpp_uri, class="primary") -%}
|
||||
{% trans %}Open the app{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</p></li>
|
||||
</ol>
|
||||
{#- -#}
|
||||
{%- call standard_button("close", "#", onclick="close_modal(this.parentNode.parentNode); return false;", class="secondary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var catch_popover = function() {
|
||||
open_modal(this);
|
||||
return false;
|
||||
}
|
||||
|
||||
var onload = function() {
|
||||
apply_qr_code(document.getElementById("qr-invite-page"));
|
||||
apply_qr_code(document.getElementById("qr-uri"));
|
||||
var popover_as = document.getElementsByClassName("popover");
|
||||
for (var i = 0; i < popover_as.length; ++i) {
|
||||
var a = popover_as[i];
|
||||
a.onclick = catch_popover;
|
||||
a.href = "#" + a.dataset.popoverId;
|
||||
}
|
||||
};
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</div>
|
||||
<div id="mwrap">
|
||||
{#- -#}
|
||||
<div class="flashbox">
|
||||
<div class="flashbox" id="flashbox">
|
||||
{%- for category, message in get_flashed_messages(True) -%}
|
||||
<div class="box {{ category }} el-5" role="alert">
|
||||
{% if category == "success" %}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
{% extends "app.html" %}
|
||||
{% from "library.j2" import standard_button, form_button, avatar with context %}
|
||||
{% from "library.j2" import standard_button, form_button, render_errors, avatar with context %}
|
||||
{% block content %}
|
||||
<h1>{% trans %}Update your profile{% endtrans %}</h1>
|
||||
<div class="form layout-expanded"><form method="POST" enctype="multipart/form-data">
|
||||
<h2 class="form-title">{% trans %}Profile{% endtrans %}</h2>
|
||||
{{ form.csrf_token }}
|
||||
{% call render_errors(form) %}{% endcall %}
|
||||
<div class="f-ebox">
|
||||
{{ form.nickname.label }}
|
||||
{{ form.nickname(placeholder=user_info.username) }}
|
||||
@@ -13,7 +14,10 @@
|
||||
{{ form.avatar.label }}
|
||||
<div class="avatar-wrap">
|
||||
{%- call avatar(user_info.address, user_info.avatar_hash ) %}{% endcall -%}
|
||||
{{ form.avatar }}
|
||||
{{ form.avatar(accept="image/png",
|
||||
data_maxsize=max_avatar_size,
|
||||
data_warning_header=avatar_too_big_warning_header,
|
||||
data_maxsize_warning=avatar_too_big_warning) }}
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="form-title">{% trans %}Visibility{% endtrans %}</h3>
|
||||
@@ -28,5 +32,24 @@
|
||||
{%- call standard_button("back", url_for('.index'), class="secondary") %}{% trans %}Back{% endtrans %}{% endcall -%}
|
||||
{%- call form_button("done", form.action_save, class="primary") %}{% endcall -%}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
document.getElementById("{{ form.avatar.id }}").onchange = function() {
|
||||
var maxsize_s = this.dataset.maxsize;
|
||||
var maxsize = parseInt(maxsize_s);
|
||||
var existing_alert = document.getElementById("avatar-alert");
|
||||
if (existing_alert) {
|
||||
existing_alert.parentNode.removeChild(existing_alert);
|
||||
}
|
||||
if (this.files[0].size > maxsize) {
|
||||
var warning_header = this.dataset.warningHeader;
|
||||
var warning_text = this.dataset.maxsizeWarning;
|
||||
this.setCustomValidity(warning_text);
|
||||
this.reportValidity();
|
||||
this.value = null;
|
||||
} else {
|
||||
this.setCustomValidity("");
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</form></div>
|
||||
{% endblock %}
|
||||
|
||||
1238
snikket_web/translations/da/LC_MESSAGES/messages.po
Normal file
1238
snikket_web/translations/da/LC_MESSAGES/messages.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -8,10 +8,10 @@ msgstr ""
|
||||
"Project-Id-Version: SnikketWeb 0.1.0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-10 17:01+0000\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
|
||||
"Language-Team: German <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/de/>\n"
|
||||
"Language-Team: German <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/de/>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -25,23 +25,16 @@ msgid "Delete user permanently"
|
||||
msgstr "Benutzer endgültig löschen"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "gelöscht"
|
||||
msgstr "Benutzer gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes für %(user_name)s"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes erzeugt"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr ""
|
||||
"Löschen von Benutzern und Anlegen von Links zum Zurücksetzen des Passwortes."
|
||||
msgstr "Link gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
@@ -96,22 +89,16 @@ msgid "Revoke"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Art der Einladung"
|
||||
msgstr "Einladung angelegt"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Neuer Einladungslink"
|
||||
msgstr "Diese Einladung existiert nicht"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Art der Einladung"
|
||||
msgstr "Einladung gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
@@ -122,10 +109,8 @@ msgid "Create circle"
|
||||
msgstr "Gemeinschaft gründen"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Name"
|
||||
msgstr "Gemeinschaft gegründet"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
@@ -144,34 +129,24 @@ msgid "Add user"
|
||||
msgstr "Benutzer hinzufügen"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "Keine Gemeinschaften"
|
||||
msgstr "Diese Gemeinschaft existiert nicht"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Name"
|
||||
msgstr "Gemeinschaftsdaten aktualisiert"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "gelöscht"
|
||||
msgstr "Gemeinschaft gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "In Gemeinschaft einladen"
|
||||
msgstr "Benutzer zur Gemeinschaft hinzugefügt"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Benutzer %(username)s aus der Gemeinschaft entfernen"
|
||||
msgstr "Benutzer aus der Gemeinschaft entfernt"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
@@ -228,7 +203,7 @@ msgstr "Benutzername oder Passwort falsch."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Anmeldung erfolgreich!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
@@ -284,16 +259,12 @@ msgid "Incorrect password"
|
||||
msgstr "Ungültiges Passwort"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Passwortänderung fehlgeschlagen"
|
||||
msgstr "Passwort geändert"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
msgstr "Profil gespeichert"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -305,6 +276,8 @@ msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"„Snikket“ und das Papageienlogo sind Markenzeichen der Snikket Community "
|
||||
"Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
@@ -367,7 +340,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Markenzeichen"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -376,6 +349,9 @@ msgid ""
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"„Snikket“ und das Papageienlogo sind Markenzeichen der Snikket Community "
|
||||
"Interest Company. Mehr Informationen über die Markenzeichen gibt es auf der "
|
||||
"<a href=\"%(trademarks_url)s\">„Snikket Trademarks“ Informationsseite</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
@@ -712,7 +688,7 @@ msgstr "Ausstehende Einladungen"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Läuft ab"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -1073,7 +1049,7 @@ msgstr "Laden im App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
msgstr "An mobiles Gerät übertragen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
@@ -1175,10 +1151,8 @@ msgid "Login failed"
|
||||
msgstr "Anmeldung fehlgeschlagen"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Ungültiges Passwort"
|
||||
msgstr "Ungültige Adresse"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
@@ -1186,14 +1160,16 @@ msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Dieser Snikket-Server ist nur für Adressen, die auf <em>@%(snikket_domain)s</"
|
||||
"em> enden zuständig. Dein Passwort wurde nicht abgesendet."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
msgstr "Aktion erfolgreich"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Fehler"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
|
||||
@@ -8,16 +8,16 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-16 12:02+0000\n"
|
||||
"Last-Translator: Link Mauve <linkmauve@linkmauve.fr>\n"
|
||||
"Language-Team: French <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/fr/>\n"
|
||||
"PO-Revision-Date: 2021-03-12 23:04+0000\n"
|
||||
"Last-Translator: GodGoldfish <godgoldfish@pm.me>\n"
|
||||
"Language-Team: French <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/fr/>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
@@ -42,7 +42,7 @@ msgstr "Lien de réinitialisation du mot de passe de %(user_name)s"
|
||||
msgid "Password reset link deleted"
|
||||
msgstr ""
|
||||
"Créer des liens de réinitialisation de mot de passe ou supprimer des "
|
||||
"utilisateurs."
|
||||
"utilisateurs"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
@@ -228,8 +228,9 @@ msgid "Invalid username or password."
|
||||
msgstr "Nom d’utilisateur ou mot de passe incorrect."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#, fuzzy
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Connexion réussite !"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
@@ -302,10 +303,13 @@ msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr "Un service <a href=\"%(about_url)s\">Snikket</a>"
|
||||
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"\"Snikket\" et le logo de perroquet sont des marques de la Snikket Community "
|
||||
"Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
@@ -366,16 +370,20 @@ msgstr ""
|
||||
"termes de la <a href=\"%(apache20_url)s\">licence Apache 2.0 </a>."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
#, fuzzy
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Marques"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
#, fuzzy, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"\"Snikket\" et le logo de perroquet sont des marques de la Snikket Community "
|
||||
"Interest Company. Pour plus d'informations sur la marque, visitez le site <a "
|
||||
"href=\"%(trademarks_url)s\"> page d'information Snikket Trademarks</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
@@ -707,8 +715,9 @@ msgid "Pending invitations"
|
||||
msgstr "Invitations en attente"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#, fuzzy
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Expires"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -1071,8 +1080,9 @@ msgid "Download on the App Store"
|
||||
msgstr "Télécharger sur l’App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
#, fuzzy
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
msgstr "Envoyer vers l'appareil"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
@@ -1176,19 +1186,23 @@ msgid "Incorrect address"
|
||||
msgstr "Mot de passe incorrect"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
#, fuzzy, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Le service Snikket n'héberge que les adresses se terminant par "
|
||||
"<em>@%(snikket_domain)s</em>. Votre mot de passe n'a pas été envoyé."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
#, fuzzy
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
msgstr "Opération réussite"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
#, fuzzy
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Erreur"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
|
||||
@@ -8,10 +8,10 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-02 21:01+0000\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: uira <inboxriau@andriana.id>\n"
|
||||
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/id/>\n"
|
||||
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/id/>\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -25,22 +25,16 @@ msgid "Delete user permanently"
|
||||
msgstr "Hapus permanen pengguna"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "Dihapus"
|
||||
msgstr "Pengguna dihapus"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Tautan setel ulang kata sandi %(user_name)s"
|
||||
msgstr "Tautan setel ulang kata sandi dibuat"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Buat tautan setel ulang kata sandi atau hapus pengguna."
|
||||
msgstr "Tautan setel ulang kata sandi dihapus"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
@@ -95,22 +89,16 @@ msgid "Revoke"
|
||||
msgstr "Batalkan"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Jenis undangan"
|
||||
msgstr "Undangan dibuat"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Tautan undangan baru"
|
||||
msgstr "Undangan tidak tersedia"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Jenis undangan"
|
||||
msgstr "Undangan dibatalkan"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
@@ -121,10 +109,8 @@ msgid "Create circle"
|
||||
msgstr "Buat kelompok"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Nama kelompok"
|
||||
msgstr "Kelompok dibuat"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
@@ -143,34 +129,24 @@ msgid "Add user"
|
||||
msgstr "Tambah pengguna"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "Tidak ada kelompok"
|
||||
msgstr "Kelompok tersebut tidak ada"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nama kelompok"
|
||||
msgstr "Data kelompok diperbarui"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "Dihapus"
|
||||
msgstr "Kelompok dihapus"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Undang masuk kelompok"
|
||||
msgstr "Pengguna ditambahkan ke kelompok"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Hapus pengguna %(username)s dari kelompok"
|
||||
msgstr "Pengguna dihapus dari kelompok"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
@@ -227,7 +203,7 @@ msgstr "Nama pengguna atau kata sandi salah."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Login berhasil!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
@@ -276,23 +252,19 @@ msgstr "Visibilitas profil"
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "Perbaharui profil"
|
||||
msgstr "Perbarui profil"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Kata sandi salah"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Gagal mengganti kata kunci"
|
||||
msgstr "Kata sandi diganti"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
msgstr "Profil diperbarui"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -304,6 +276,8 @@ msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"“Snikket” dan logo burung beo adalah merek dagang dari Snikket Community "
|
||||
"Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
@@ -366,7 +340,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Merek dagang"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -375,6 +349,10 @@ msgid ""
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"“Snikket” dan logo burung beo adalah merek dagang dari Snikket Community "
|
||||
"Interest Company. Untuk informasi lebih lanjut tentang merek dagang, "
|
||||
"kunjungi <a href=\"%(trademarks_url)s\">halaman informasi merek dagang "
|
||||
"Snikket</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
@@ -709,7 +687,7 @@ msgstr "Undangan menunggu jawaban"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Kadaluarsa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -1064,7 +1042,7 @@ msgstr "Unduh di App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
msgstr "Dikirim ke telepon seluler"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
@@ -1160,10 +1138,8 @@ msgid "Login failed"
|
||||
msgstr "Percobaan masuk gagal"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Kata sandi salah"
|
||||
msgstr "Alamat salah"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
@@ -1171,14 +1147,16 @@ msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Layanan Snikket ini hanya menghosting alamat yang diakhiri dengan "
|
||||
"<em>@%(snikket_domain)s</em>. Kata sandi Anda tidak terkirim."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
msgstr "Operasi berhasil"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Kesalahan"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
@@ -1249,7 +1227,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
msgid "Update your profile"
|
||||
msgstr "Perbaharui profil anda"
|
||||
msgstr "Perbarui profil anda"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
|
||||
@@ -8,10 +8,10 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-02 21:01+0000\n"
|
||||
"Last-Translator: riccio <unriccio@email.it>\n"
|
||||
"Language-Team: Italian <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/it/>\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: Roberto Resoli <roberto@resolutions.it>\n"
|
||||
"Language-Team: Italian <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/it/>\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -25,22 +25,16 @@ msgid "Delete user permanently"
|
||||
msgstr "Elimina definitivamente l'utente"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "rimosso"
|
||||
msgstr "Utente rimosso"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Collegamento per reimpostare la password di %(user_name)s"
|
||||
msgstr "Creato collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Crea collegamenti per reimpostare le password oppure elimina utenti."
|
||||
msgstr "Eliminato collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
@@ -95,22 +89,16 @@ msgid "Revoke"
|
||||
msgstr "Revoca"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Tipo di invito"
|
||||
msgstr "Invito creato"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Nuovo collegamento di invito"
|
||||
msgstr "Questo invito non esiste"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Tipo di invito"
|
||||
msgstr "Invito revocato"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
@@ -121,10 +109,8 @@ msgid "Create circle"
|
||||
msgstr "Crea cerchia"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Nome cerchia"
|
||||
msgstr "Cerchia creata"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
@@ -143,34 +129,24 @@ msgid "Add user"
|
||||
msgstr "Aggiungi utente"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "Nessuna cerchia"
|
||||
msgstr "Questa cerchia non esiste"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nome cerchia"
|
||||
msgstr "Dati della cerchia aggiornati"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "rimosso"
|
||||
msgstr "Cerchia eliminata"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Invita nella cerchia"
|
||||
msgstr "Utente aggiunto alla cerchia"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Rimuovi l'utente %(username)s dalla cerchia"
|
||||
msgstr "Utente rimosso dalla cerchia"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
@@ -227,7 +203,7 @@ msgstr "Nome utente o password non validi."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Accesso riuscito!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
@@ -283,16 +259,12 @@ msgid "Incorrect password"
|
||||
msgstr "Password errata"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
msgid "Password changed"
|
||||
msgstr "Reimposta password"
|
||||
msgstr "Password cambiata"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profilo"
|
||||
msgstr "Profilo aggiornato"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -304,6 +276,8 @@ msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"“Snikket” e il logo del pappagallo sono marchi registrati della Snikket "
|
||||
"Community Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
@@ -366,7 +340,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Marchi registrati"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -375,6 +349,9 @@ msgid ""
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"\"Snikket\" e il logo del pappagallo sono marchi di Snikket Community "
|
||||
"Interest Company. Per maggiori informazioni sui marchi, visita la <a href=\""
|
||||
"%(trademarks_url)s\">pagina informativa sui marchi Snikket</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
@@ -707,7 +684,7 @@ msgstr "Inviti in attesa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Scade"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -1066,7 +1043,7 @@ msgstr "Scarica dall'App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
msgstr "Invia a dispositivo mobile"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
@@ -1166,10 +1143,8 @@ msgid "Login failed"
|
||||
msgstr "Accesso non riuscito"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Password errata"
|
||||
msgstr "Indirizzo errato"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
@@ -1177,14 +1152,16 @@ msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Questo servizio Snikket ospita solo indirizzi che terminano in "
|
||||
"<em>@%(snikket_domain)s</em>. La tua password non è stata inviata."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
msgstr "Operazione completata"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Errore"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"POT-Creation-Date: 2021-03-20 16:15+0100\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"
|
||||
@@ -149,39 +149,39 @@ msgstr ""
|
||||
msgid "Main"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
msgid "The passwords must match"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
@@ -202,67 +202,77 @@ msgstr ""
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
#: snikket_web/user.py:101
|
||||
msgid "Incorrect password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#: snikket_web/user.py:105
|
||||
msgid "Password changed"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#: snikket_web/user.py:113
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please"
|
||||
" use the app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:161
|
||||
msgid "Profile updated"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:169
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
@@ -480,7 +490,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
@@ -786,6 +796,7 @@ msgstr ""
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
@@ -964,6 +975,7 @@ msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
@@ -991,6 +1003,8 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:95
|
||||
#: snikket_web/templates/invite_view.html:111
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
@@ -1021,6 +1035,26 @@ msgid ""
|
||||
"'Scan' button at the top."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:92
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:98
|
||||
msgid ""
|
||||
"After downloading Snikket from the app store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:100
|
||||
msgid "First download Snikket from the app store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap "
|
||||
"the \"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
@@ -1068,10 +1102,6 @@ msgstr ""
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr ""
|
||||
@@ -1140,11 +1170,11 @@ msgstr ""
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
|
||||
@@ -8,10 +8,10 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-22 11:02+0000\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: misiek <migelazur@mailbox.org>\n"
|
||||
"Language-Team: Polish <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/pl/>\n"
|
||||
"Language-Team: Polish <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/pl/>\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -26,22 +26,16 @@ msgid "Delete user permanently"
|
||||
msgstr "Usuń użytkownika bezpowrotnie"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "usunięty"
|
||||
msgstr "Użytkownik został usunięty"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Link resetowania hasła dla %(user_name)s"
|
||||
msgstr "Utworzono link resetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Twórz linki do resetowania haseł lub usuwaj użytkowników."
|
||||
msgstr "Usunięto link resetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
@@ -96,22 +90,16 @@ msgid "Revoke"
|
||||
msgstr "Unieważnij"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Typ zaproszenia"
|
||||
msgstr "Utworzono zaproszenie"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Nowy link z zaproszeniem"
|
||||
msgstr "Takie zaproszenie nie istnieje"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Typ zaproszenia"
|
||||
msgstr "Unieważniono zaproszenie"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
@@ -122,10 +110,8 @@ msgid "Create circle"
|
||||
msgstr "Utwórz krąg"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Nazwa kręgu"
|
||||
msgstr "Utworzono krąg"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
@@ -144,34 +130,24 @@ msgid "Add user"
|
||||
msgstr "Dodaj użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "Brak kręgów"
|
||||
msgstr "Taki krąg nie istnieje"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nazwa kręgu"
|
||||
msgstr "Zaktualizowano dane kręgu"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "usunięty"
|
||||
msgstr "Krąg został usunięty"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Zaproś do kręgu"
|
||||
msgstr "Dodano użytkownika do kręgu"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Usuń z kręgu użytkownika %(username)s"
|
||||
msgstr "Usunięto użytkownika z kręgu"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
@@ -228,7 +204,7 @@ msgstr "Nieprawidłowa nazwa użytkownika lub hasło."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Zalogowano się pomyślnie!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
@@ -284,16 +260,12 @@ msgid "Incorrect password"
|
||||
msgstr "Nieprawidłowe hasło"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Zmiana hasła zakończona niepowodzeniem"
|
||||
msgstr "Hasło zostało zmienione"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
msgstr "Zaktualizowano profil"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -305,6 +277,8 @@ msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"\"Snikket\" oraz logo papugi są znakami firmowymi Snikket Community Interest "
|
||||
"Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
@@ -367,7 +341,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Znaki firmowe"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -376,6 +350,9 @@ msgid ""
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"\"Snikket\" oraz logo papugi są znakami firmowymi Snikket Community Interest "
|
||||
"Company. Więcej informacji o oznaczeniach znajdziesz na <a href=\""
|
||||
"%(trademarks_url)s\">stronie o znakach firmowych Snikket</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
@@ -709,7 +686,7 @@ msgstr "Oczekujące zaproszenia"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Wygasa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -1071,7 +1048,7 @@ msgstr "Pobierz w App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
msgstr "Wyślij na urządzenie mobilne"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
@@ -1170,10 +1147,8 @@ msgid "Login failed"
|
||||
msgstr "Logowanie nie powiodło się"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Nieprawidłowe hasło"
|
||||
msgstr "Adres nieprawidłowy"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
@@ -1181,14 +1156,16 @@ msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Ten serwer Snikket obsługuje jedynie adresy kończące się na "
|
||||
"<em>@%(snikket_domain)s</em>. Twoje hasło nie zostało wysłane."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
msgstr "Operacja zakończona sukcesem"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Błąd"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
|
||||
@@ -8,17 +8,17 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-04 19:02+0000\n"
|
||||
"PO-Revision-Date: 2021-03-12 23:04+0000\n"
|
||||
"Last-Translator: GodGoldfish <godgoldfish@pm.me>\n"
|
||||
"Language-Team: Russian <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/ru/>\n"
|
||||
"Language-Team: Russian <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/ru/>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
@@ -26,20 +26,16 @@ msgid "Delete user permanently"
|
||||
msgstr "Удалить пользователя навсегда"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
msgid "User deleted"
|
||||
msgstr "удалённый"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
msgid "Password reset link created"
|
||||
msgstr "Ссылка на сброс пароля для %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Создайте ссылки для сброса пароля или удалите пользователей."
|
||||
msgstr "Создайте ссылки для сброса пароля или удалите пользователей"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
@@ -94,20 +90,14 @@ msgid "Revoke"
|
||||
msgstr "Aннулировать"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Вид приглашения"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Новая ссылка на приглашение"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Вид приглашения"
|
||||
|
||||
@@ -120,8 +110,6 @@ msgid "Create circle"
|
||||
msgstr "Создать крук"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Имя круга"
|
||||
|
||||
@@ -142,31 +130,22 @@ msgid "Add user"
|
||||
msgstr "Добавить пользователя"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "Нет кругов"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Имя круга"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
msgid "Circle deleted"
|
||||
msgstr "удалённый"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Пригласить в круг"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Удалить пользователя %(username)s из круга"
|
||||
|
||||
@@ -225,7 +204,7 @@ msgstr "Неверное имя пользователя или пароль."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Войти успешно!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
@@ -281,13 +260,10 @@ msgid "Incorrect password"
|
||||
msgstr "Неправильный пароль"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
msgid "Password changed"
|
||||
msgstr "Смена пароля"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Профиль"
|
||||
|
||||
@@ -301,13 +277,15 @@ msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"\"Сниккет\" и логотип попугая являются торговыми марками компании Сниккет "
|
||||
"Общественно-полезная компания."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "О Сниккете"
|
||||
|
||||
#: snikket_web/templates/about.html:10
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"To learn more about Snikket, visit the <a href=\"%(snikket_url)s\">Snikket "
|
||||
"website</a>."
|
||||
@@ -329,41 +307,41 @@ msgid "Licenses"
|
||||
msgstr "Лицензии"
|
||||
|
||||
#: snikket_web/templates/about.html:14
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The web portal software is licensed under the terms of the <a href="
|
||||
"\"%(agpl_url)s\">Affero GNU General Public License, version 3.0 or later</"
|
||||
"a>. The full terms of the license can be reviewed using the aforementioned "
|
||||
"link."
|
||||
msgstr ""
|
||||
"Программное обеспечение веб-портала лицензировано на условиях <a href="
|
||||
"\"%(agpl_url)s\">Афферо GNU Генеральная общественная лицензия, версия 3.0 "
|
||||
"или более поздняя</a>. Полные условия лицензии могут быть просмотрены по "
|
||||
"Программное обеспечение веб-портала лицензировано на условиях <a href=\""
|
||||
"%(agpl_url)s\">Афферо GNU Генеральная общественная лицензия, версия 3.0 или "
|
||||
"более поздняя</a>. Полные условия лицензии могут быть просмотрены по "
|
||||
"вышеуказанной ссылке."
|
||||
|
||||
#: snikket_web/templates/about.html:15
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The source code of the web portal can be downloaded and viewed in <a href="
|
||||
"\"%(source_url)s\">its GitHub repository</a>."
|
||||
msgstr ""
|
||||
"Исходный код веб-портала можно скачать и просмотреть по адресу <a href="
|
||||
"\"%(source_url)s\">это репозиторий GitHub</a>."
|
||||
"Исходный код веб-портала можно скачать и просмотреть по адресу <a href=\""
|
||||
"%(source_url)s\">это репозиторий GitHub</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:16
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The icons used in the web portal are <a href=\"%(source_url)s\">Google’s "
|
||||
"Material Icons</a>, made available by Google under the terms of the <a href="
|
||||
"\"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
msgstr ""
|
||||
"Иконки, используемые на веб-портале это <a href=\"%(source_url)s\">иконки "
|
||||
"Материалов Google</a>, предоставленный Google на условиях <a href="
|
||||
"\"%(apache20_url)s\">Лицензия Apache 2.0</a>."
|
||||
"Материалов Google</a>, предоставленный Google на условиях <a href=\""
|
||||
"%(apache20_url)s\">Лицензия Apache 2.0</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Товарные знаки"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -372,6 +350,10 @@ msgid ""
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"\"Сниккет\" и логотип попугая являются торговыми марками компании Сниккет "
|
||||
"Общественно-полезная компания. Для получения дополнительной информации о "
|
||||
"товарных знаках посетите <a href=\"%(trademarks_url)s\">информационную "
|
||||
"страницу Сниккет Товарные знаки</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
@@ -391,7 +373,6 @@ msgid "Manage circles"
|
||||
msgstr "Управлять кругами"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:5
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"<em>Circles</em> aim to help people who are in the same social circle find "
|
||||
"each other on your service."
|
||||
@@ -400,7 +381,6 @@ msgstr ""
|
||||
"социальном кругу, найти друг друга на вашей службе."
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:6
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Users who are in the same circle will see each other in their contact list. "
|
||||
"In addition, each circle has a group chat where the circle members are "
|
||||
@@ -445,7 +425,6 @@ msgid "No circles"
|
||||
msgstr "Нет кругов"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:41
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Currently, there are no circles on this service. Use the form below to "
|
||||
"create one."
|
||||
@@ -466,7 +445,6 @@ msgid "Create new invitation"
|
||||
msgstr "Создать новое приглашение"
|
||||
|
||||
#: snikket_web/templates/admin_create_invite_form.html:6
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Create a new invitation link to invite more users to your Snikket service by "
|
||||
"clicking the button below."
|
||||
@@ -485,7 +463,6 @@ msgid "Warning"
|
||||
msgstr "Предупреждение"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:12
|
||||
#, fuzzy
|
||||
msgid "The below dump may contain sensitive information."
|
||||
msgstr ""
|
||||
"Приведенное ниже содержание может содержать конфиденциальную информацию."
|
||||
@@ -522,7 +499,6 @@ msgid "Danger"
|
||||
msgstr "Опасность"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:16
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The user and their data will be deleted irrevocably, permanently and "
|
||||
"immediately upon pushing the below button. <strong>There is no way back!</"
|
||||
@@ -546,7 +522,6 @@ msgid "This is your main circle"
|
||||
msgstr "Это ваш основной круг"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:15
|
||||
#, fuzzy
|
||||
msgid "This circle is managed automatically and cannot be removed or renamed."
|
||||
msgstr ""
|
||||
"Этот круг управляется автоматически и не может быть удален или переименован."
|
||||
@@ -576,7 +551,6 @@ msgid "Delete circle"
|
||||
msgstr "Удалить круг"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:49
|
||||
#, fuzzy
|
||||
msgid "Deleting a circle does not delete any users in the circle."
|
||||
msgstr "Удаление круга не приводит к удалению пользователей из круга."
|
||||
|
||||
@@ -629,7 +603,6 @@ msgid "Circles"
|
||||
msgstr "Круги"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:23
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Users joining via this invitation will be added to the following circles:"
|
||||
msgstr ""
|
||||
@@ -642,7 +615,6 @@ msgid "Circle"
|
||||
msgstr "Круг"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:35
|
||||
#, fuzzy
|
||||
msgid "The user will not be added to any circle and will have no contacts."
|
||||
msgstr ""
|
||||
"Пользователь не будет добавлен ни в один круг и не будет иметь никакого "
|
||||
@@ -699,65 +671,55 @@ msgstr "Создавайте, отзывайте или копируйте пр
|
||||
|
||||
#: snikket_web/templates/admin_home.html:31
|
||||
#: snikket_web/templates/admin_invites.html:8
|
||||
#, fuzzy
|
||||
msgid "Manage invitations"
|
||||
msgstr "Управление приглашениями"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:36
|
||||
#, fuzzy
|
||||
msgid "Go back to your user's web portal page."
|
||||
msgstr "Вернитесь на веб-портал своего пользователя."
|
||||
|
||||
#: snikket_web/templates/admin_home.html:38
|
||||
#, fuzzy
|
||||
msgid "Exit admin panel"
|
||||
msgstr "Покидая административную панель"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:10
|
||||
#, fuzzy
|
||||
msgid "Pending invitations"
|
||||
msgstr "Отложенные приглашения"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Срок действия"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr "Вид"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:43
|
||||
#, fuzzy
|
||||
msgid "Show invite details"
|
||||
msgstr "Показать пригласительные детали"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:46
|
||||
#, fuzzy
|
||||
msgid "Copy invite link to clipboard"
|
||||
msgstr "Скопировать ссылку на приглашение в буфер обмена"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:49
|
||||
#, fuzzy
|
||||
msgid "Delete invitation"
|
||||
msgstr "Удаляет приглашение"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:57
|
||||
#, fuzzy
|
||||
msgid "Currently, there are no pending invitations."
|
||||
msgstr "В настоящее время нет ни одного нерассмотренного приглашения."
|
||||
|
||||
#: snikket_web/templates/admin_reset_user_password.html:8
|
||||
#, fuzzy
|
||||
msgid "Password reset"
|
||||
msgstr "Смена пароля"
|
||||
|
||||
#: snikket_web/templates/admin_reset_user_password.html:12
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Password reset link for %(user_name)s"
|
||||
msgstr "Ссылка на сброс пароля для %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_reset_user_password.html:13
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The following link will allow the user to reset their password on their "
|
||||
"device, once."
|
||||
@@ -766,17 +728,16 @@ msgstr ""
|
||||
"устройстве."
|
||||
|
||||
#: snikket_web/templates/admin_reset_user_password.html:22
|
||||
#, fuzzy
|
||||
msgid "Destroy link"
|
||||
msgstr "Удалить ссылку"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
msgstr "Показать отладочную информацию для %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Создать ссылку сброса пароля для %(user_name)s"
|
||||
|
||||
@@ -785,43 +746,37 @@ msgid "Snikket Web Portal"
|
||||
msgstr "Сниккет веб-портал"
|
||||
|
||||
#: snikket_web/templates/app.html:8
|
||||
#, fuzzy
|
||||
msgid "Log out"
|
||||
msgstr "Выход из системы"
|
||||
|
||||
#: snikket_web/templates/backend_error.html:3
|
||||
#: snikket_web/templates/exception.html:3
|
||||
#: snikket_web/templates/internal_error.html:3
|
||||
#, fuzzy
|
||||
msgid "Internal error"
|
||||
msgstr "Внутренняя ошибка"
|
||||
|
||||
#: snikket_web/templates/backend_error.html:4
|
||||
#, fuzzy
|
||||
msgid "The web portal was not able to communicate with the backend."
|
||||
msgstr "Веб-портал не смог общаться с бэкэндом."
|
||||
|
||||
#: snikket_web/templates/backend_error.html:5
|
||||
#: snikket_web/templates/internal_error.html:5
|
||||
#, fuzzy
|
||||
msgid "Please try again later and/or inform your Snikket service admin."
|
||||
msgstr ""
|
||||
"Пожалуйста, повторите попытку позже и/или сообщите администратору сервиса "
|
||||
"Сниккет."
|
||||
|
||||
#: snikket_web/templates/generic_http_error.html:9
|
||||
#, fuzzy
|
||||
msgid "Go back to the main page"
|
||||
msgstr "Вернуться на главную страницу"
|
||||
|
||||
#: snikket_web/templates/internal_error.html:4
|
||||
#, fuzzy
|
||||
msgid "The web portal encountered an internal error."
|
||||
msgstr "Веб-портал столкнулся с внутренней ошибкой."
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "Приглашаем в %(site_name)s"
|
||||
|
||||
@@ -829,44 +784,40 @@ msgstr "Приглашаем в %(site_name)s"
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr "Движимый <img alt=\"Сниккет\" src=\"%(logo_url)s\">"
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:8
|
||||
#, fuzzy
|
||||
msgid "Invite expired"
|
||||
msgstr "Приглашение истекло"
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:9
|
||||
#, fuzzy
|
||||
msgid "Sorry, it looks like this invitation link has expired!"
|
||||
msgstr "Извините, похоже, ссылка на приглашение просрочена!"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:5
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Register on %(site_name)s | Snikket"
|
||||
msgstr "Зарегистрироваться на %(site_name)s | Сниккет"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:9
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Register on %(site_name)s"
|
||||
msgstr "Зарегистрироваться на %(site_name)s"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:11
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
|
||||
msgstr ""
|
||||
"%(site_name)s использует Snikket - безопасное, конфиденциальное чат-"
|
||||
"приложение."
|
||||
"%(site_name)s использует Snikket - безопасное, конфиденциальное "
|
||||
"чат-приложение."
|
||||
|
||||
#: snikket_web/templates/invite_register.html:12
|
||||
#, fuzzy
|
||||
msgid "Create an account"
|
||||
msgstr "Создать аккаунт"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:13
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Creating an account will allow to communicate with other people using the "
|
||||
"Snikket app or compatible software. If you already have the app installed, "
|
||||
@@ -880,32 +831,27 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
#, fuzzy
|
||||
msgid "App already installed?"
|
||||
msgstr "Приложение уже установлено?"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
#, fuzzy
|
||||
msgid "Open the app"
|
||||
msgstr "Откройте приложение"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#, fuzzy
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
"Эта кнопка работает только в том случае, если у вас уже установлено "
|
||||
"приложение!"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:19
|
||||
#, fuzzy
|
||||
msgid "Create an account online"
|
||||
msgstr "Создать учетную запись онлайн"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:20
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If you plan to use a legacy XMPP client, you can register an account online "
|
||||
"and enter your credentials into any XMPP-compatible software."
|
||||
@@ -915,7 +861,6 @@ msgstr ""
|
||||
"любое XMPP-совместимое программное обеспечение."
|
||||
|
||||
#: snikket_web/templates/invite_register.html:27
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Choose a username, this will become the first part of your new chat address."
|
||||
msgstr ""
|
||||
@@ -923,23 +868,19 @@ msgstr ""
|
||||
"чате."
|
||||
|
||||
#: snikket_web/templates/invite_register.html:32
|
||||
#, fuzzy
|
||||
msgid "Enter a secure password that you do not use anywhere else."
|
||||
msgstr "Введите надежный пароль, который вы больше нигде не используете."
|
||||
|
||||
#: snikket_web/templates/invite_reset.html:9
|
||||
#: snikket_web/templates/invite_reset_view.html:9
|
||||
#, fuzzy
|
||||
msgid "Reset your password | Snikket"
|
||||
msgstr "Сбросить пароль | Сниккет"
|
||||
|
||||
#: snikket_web/templates/invite_reset.html:15
|
||||
#, fuzzy
|
||||
msgid "Reset your password online"
|
||||
msgstr "Сброс пароля онлайн"
|
||||
|
||||
#: snikket_web/templates/invite_reset.html:16
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To reset your password online, fill out the fields below and confirm using "
|
||||
"the button."
|
||||
@@ -948,58 +889,49 @@ msgstr ""
|
||||
"нажатием кнопки."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:5
|
||||
#, fuzzy
|
||||
msgid "Password reset successful | Snikket"
|
||||
msgstr "Успешный сброс пароля | Сниккет"
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:8
|
||||
#, fuzzy
|
||||
msgid "Password reset successful"
|
||||
msgstr "Успешный сброс пароля"
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:10
|
||||
#, fuzzy
|
||||
msgid "Your password has been changed"
|
||||
msgstr "Ваш пароль был изменен"
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:11
|
||||
#, fuzzy
|
||||
msgid "You can now log in using your new password."
|
||||
msgstr "Теперь вы можете войти в систему, используя новый пароль."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, fuzzy
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Теперь вы можете безопасно закрыть эту страницу."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:14
|
||||
#, fuzzy
|
||||
msgid "Reset your password"
|
||||
msgstr "Сброс пароля"
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:15
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This page allows you to reset the password of your account, <strong>"
|
||||
"%(account_jid)s</strong>, once."
|
||||
msgstr ""
|
||||
"Эта страница позволяет вам сбросить пароль вашей учетной записи, <strong>"
|
||||
"%(account_jid)s</strong>, один раз."
|
||||
"Эта страница позволяет вам сбросить пароль вашей учетной записи, "
|
||||
"<strong>%(account_jid)s</strong>, один раз."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:17
|
||||
#, fuzzy
|
||||
msgid "Using the app"
|
||||
msgstr "Использование приложения"
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:18
|
||||
#, fuzzy
|
||||
msgid "To reset your password using the Snikket App, tap the button below."
|
||||
msgstr ""
|
||||
"Чтобы сбросить пароль с помощью приложения Snikket App, нажмите кнопку ниже."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:25
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Alternatively, you can scan the below code with the Snikket App using the "
|
||||
"Scan button at the top."
|
||||
@@ -1009,7 +941,6 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1020,7 +951,6 @@ msgstr ""
|
||||
"приложение ее не распознает."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:27
|
||||
#, fuzzy
|
||||
msgid "You will then be prompted to enter a new password for your account."
|
||||
msgstr ""
|
||||
"Затем вам будет предложено ввести новый пароль для вашей учетной записи."
|
||||
@@ -1031,7 +961,7 @@ msgid "Alternatives"
|
||||
msgstr "Альтернативы"
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:30
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can also <a href=\"%(reset_url)s\">reset your password online</a> if the "
|
||||
"above button or scanning the QR code does not work for you."
|
||||
@@ -1040,29 +970,27 @@ msgstr ""
|
||||
"вышеуказанная кнопка или сканирование QR-кода не работает для Вас."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:5
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Successfully registered on %(site_name)s | Snikket"
|
||||
msgstr "успешно зарегистрирован на %(site_name)s | Сниккет"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:10
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Successfully registered on %(site_name)s"
|
||||
msgstr "Успешная регистрация на %(site_name)s"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:12
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
|
||||
msgstr ""
|
||||
"Поздравляем! Вы успешно зарегистрировались на %(site_name)s в виде %(jid)s."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:13
|
||||
#, fuzzy
|
||||
msgid "Your address"
|
||||
msgstr "Ваш адрес"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:17
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"You can now set up your legacy XMPP client with the above address and the "
|
||||
"password you chose during registration."
|
||||
@@ -1071,12 +999,12 @@ msgstr ""
|
||||
"паролем, который вы выбрали при регистрации."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr "Приглашаем на %(site_name)s | Сниккет"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app on %(site_name)s."
|
||||
@@ -1085,7 +1013,7 @@ msgstr ""
|
||||
"безопасное, конфиденциальное приложение для чата %(site_name)s."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app."
|
||||
@@ -1098,33 +1026,32 @@ msgid "Get started"
|
||||
msgstr "Начать"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
#, fuzzy
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr "Установите приложение Сниккет на ваше Android или iOS устройство."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
"rel=\"noopener noreferrer\" target=\"_blank\">iOS coming soon!</a>)."
|
||||
msgstr "Установите приложение Сниккет на ваше Android-устройство"
|
||||
msgstr ""
|
||||
"Установите приложение Сниккет на ваше Android-устройство (<a href=\""
|
||||
"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS скоро "
|
||||
"будет!</a>)."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
#, fuzzy
|
||||
msgid "Get it on Google Play"
|
||||
msgstr "Получить его в Гугл Игры"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#, fuzzy
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Скачать в Магазин Приложений"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
msgstr "Отправить на мобильное устройство"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -1133,7 +1060,7 @@ msgstr ""
|
||||
"создать учетную запись. Если нет, просто нажмите на кнопку ниже."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
"above does not work with your app, you may need to <a href=\"%(register_url)s"
|
||||
@@ -1141,11 +1068,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Вы можете подключиться к Snikket с помощью любого XMPP-совместимого "
|
||||
"программного обеспечения. Если вышеуказанная кнопка не работает с вашим "
|
||||
"приложением, вам может понадобиться <a href=\"%(register_url)s"
|
||||
"\">зарегистрировать учетную запись вручную</a>."
|
||||
"приложением, вам может понадобиться <a href=\"%(register_url)s\""
|
||||
">зарегистрировать учетную запись вручную</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#, fuzzy
|
||||
msgid "Scan invite code"
|
||||
msgstr "Сканировать код приглашения"
|
||||
|
||||
@@ -1155,7 +1081,6 @@ msgid "Close"
|
||||
msgstr "близко"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
@@ -1165,17 +1090,14 @@ msgstr ""
|
||||
"сканера, так и само приложение Сниккет."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#, fuzzy
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Используя сканер QR-кода"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#, fuzzy
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Использование приложения Сниккет"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
@@ -1183,7 +1105,6 @@ msgstr ""
|
||||
"сканирования кода, приведенного ниже:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1192,29 +1113,24 @@ msgstr ""
|
||||
"нажмите кнопку 'Сканировать' сверху."
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
#, fuzzy
|
||||
msgid "Copy link"
|
||||
msgstr "Ссылка на копирование"
|
||||
|
||||
#: snikket_web/templates/library.j2:81
|
||||
#, fuzzy
|
||||
msgid "Invalid input"
|
||||
msgstr "Недействительный вход"
|
||||
|
||||
#: snikket_web/templates/library.j2:108
|
||||
#, fuzzy
|
||||
msgid "deleted"
|
||||
msgstr "удалённый"
|
||||
|
||||
#: snikket_web/templates/library.j2:122
|
||||
#, fuzzy
|
||||
msgid "Can be used multiple times to create accounts on this Snikket service."
|
||||
msgstr ""
|
||||
"Может использоваться несколько раз для создания аккаунтов на этом сервисе "
|
||||
"Сниккет."
|
||||
|
||||
#: snikket_web/templates/library.j2:124
|
||||
#, fuzzy
|
||||
msgid "Can be used once to create an account on this Snikket service."
|
||||
msgstr ""
|
||||
"Может быть использован один раз для создания аккаунта на этом сервисе "
|
||||
@@ -1225,18 +1141,14 @@ msgid "Snikket Login"
|
||||
msgstr "Логин Сниккетa"
|
||||
|
||||
#: snikket_web/templates/login.html:14
|
||||
#, fuzzy
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr "Введите адрес и пароль Сниккет для управления учетной записью."
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
#, fuzzy
|
||||
msgid "Login failed"
|
||||
msgstr "Логин не удался"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Неправильный пароль"
|
||||
|
||||
@@ -1246,14 +1158,16 @@ msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Этот Сниккет сервис только размещает адреса, заканчивающиеся на "
|
||||
"<em>@%(snikket_domain)s</em>. Ваш пароль не был отправлен."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
msgstr "Операция прошла успешно"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Ошибка"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
@@ -1281,7 +1195,6 @@ msgid "Your Snikket"
|
||||
msgstr "Ваш Сниккет"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#, fuzzy
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr ""
|
||||
"Управляйте пользователями, приглашениями и кругами вашего сервиса Сниккет."
|
||||
@@ -1295,7 +1208,6 @@ msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Выйти из веб-портала Сниккета"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
@@ -1308,7 +1220,6 @@ msgid "Change your password"
|
||||
msgstr "Изменить пароль"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
@@ -1319,7 +1230,6 @@ msgstr ""
|
||||
"дважды."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
@@ -1340,13 +1250,12 @@ msgid "Visibility"
|
||||
msgstr "Видимость"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
msgstr ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
"Этот раздел позволяет вам контролировать, кто может видеть информацию вашего "
|
||||
"профиля, например, аватар и ник."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Not on mobile?"
|
||||
|
||||
@@ -8,10 +8,10 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-22 23:23+0000\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: Kim Alvefur <zash@zash.se>\n"
|
||||
"Language-Team: Swedish <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/sv/>\n"
|
||||
"Language-Team: Swedish <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/sv/>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -25,30 +25,24 @@ msgid "Delete user permanently"
|
||||
msgstr "Radera användare permanent"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "raderad"
|
||||
msgstr "Användare raderad"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Lösenordsåterställningslänk för %(user_name)s"
|
||||
msgstr "Skapade länk för att återställa lösenord"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Skapa lösenordsåterställningslänkar eller radera användare."
|
||||
msgstr "Länk för återställning av lösenord raderad"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "Bjud in till cirkel"
|
||||
msgstr "Bjud in till krets"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Minst en cirkel behöver väljas"
|
||||
msgstr "Minst en krets behöver väljas"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
@@ -95,22 +89,16 @@ msgid "Revoke"
|
||||
msgstr "Återkalla"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Typ av inbjudan"
|
||||
msgstr "Inbjudan skapad"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Ny inbjudanslänk"
|
||||
msgstr "Inbjudanslänken finns inte"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Typ av inbjudan"
|
||||
msgstr "Inbjudan återkallad"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
@@ -118,13 +106,11 @@ msgstr "Namn"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Skapa cirkel"
|
||||
msgstr "Skapa krets"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Namn på cirkel"
|
||||
msgstr "Krets skapad"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
@@ -132,45 +118,35 @@ msgstr "Välj användare"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr "Uppdatera cirkel"
|
||||
msgstr "Uppdatera krets"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Radera cirkel permanent"
|
||||
msgstr "Radera krets permanent"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "Lägg till användare"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "Inga cirklar"
|
||||
msgstr "Kretsen finns inte"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Namn på cirkel"
|
||||
msgstr "Kretsen uppdaterades"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "raderad"
|
||||
msgstr "Krets raderad"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Bjud in till cirkel"
|
||||
msgstr "Användare tillagd i krets"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Radera användaren %(username)s från cirkel"
|
||||
msgstr "Användaren %(username)s borttagen från krets"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
@@ -227,7 +203,7 @@ msgstr "Ogiltigt användarnamn eller lösenord."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Inloggning lyckades!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
@@ -283,16 +259,12 @@ msgid "Incorrect password"
|
||||
msgstr "Fel lösenord"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
msgid "Password changed"
|
||||
msgstr "Återställ lösenord"
|
||||
msgstr "Lösenord ändrat"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
msgstr "Profilen uppdaterad"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -304,6 +276,8 @@ msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"“Snikket” och papegojloggan är varumärken tillhörande Snikket Community "
|
||||
"Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
@@ -349,8 +323,8 @@ msgid ""
|
||||
"The source code of the web portal can be downloaded and viewed in <a href="
|
||||
"\"%(source_url)s\">its GitHub repository</a>."
|
||||
msgstr ""
|
||||
"Webbportalens källkod kan hämtas och visas på <a href=\"%(source_url)s"
|
||||
"\">dess GitHub-projekt</a>."
|
||||
"Webbportalens källkod kan hämtas från <a href=\"%(source_url)s\">dess GitHub-"
|
||||
"projekt</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:16
|
||||
#, python-format
|
||||
@@ -365,7 +339,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Varumärken"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -374,6 +348,9 @@ msgid ""
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"“Snikket” och papegojloggan är varumärken tillhörande Snikket Community "
|
||||
"Interest Company. För mer information om varumärkena, besök <a href=\""
|
||||
"%(trademarks_url)s\">Snikkets sida om varumärken</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
@@ -390,14 +367,14 @@ msgstr "Administration"
|
||||
#: snikket_web/templates/admin_circles.html:4
|
||||
#: snikket_web/templates/admin_home.html:23
|
||||
msgid "Manage circles"
|
||||
msgstr "Hantera cirklar"
|
||||
msgstr "Hantera kretsar"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:5
|
||||
msgid ""
|
||||
"<em>Circles</em> aim to help people who are in the same social circle find "
|
||||
"each other on your service."
|
||||
msgstr ""
|
||||
"<em>Cirklar</em> är tänkta att hjälpa människor i samma bekantskapskrets "
|
||||
"<em>Kretsar</em> är tänkta att hjälpa människor i samma bekantskapskrets "
|
||||
"hitta varandra på din tjänst."
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:6
|
||||
@@ -406,12 +383,12 @@ msgid ""
|
||||
"In addition, each circle has a group chat where the circle members are "
|
||||
"included."
|
||||
msgstr ""
|
||||
"Användare som är i samma cirkel kommer se varandra i sin kontaktlista. "
|
||||
"Dessutom har varje cirkel en gruppchatt som inkluderar cirkelns medlemmar."
|
||||
"Användare som är i samma krets kommer se varandra i sin kontaktlista. "
|
||||
"Dessutom har varje krets en gruppchatt som inkluderar kretsens medlemmar."
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:13
|
||||
msgid "Circle name"
|
||||
msgstr "Namn på cirkel"
|
||||
msgstr "Namn på krets"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:14
|
||||
msgid "Members"
|
||||
@@ -421,12 +398,12 @@ msgstr "Medlemmar"
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
msgid "Actions"
|
||||
msgstr "Aktioner"
|
||||
msgstr "Handlingar"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:25
|
||||
#, python-format
|
||||
msgid "Create invitation to circle %(circle_name)s"
|
||||
msgstr "Skapa inbjudan till cirkeln %(circle_name)s"
|
||||
msgstr "Skapa inbjudan till kretsen %(circle_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:28
|
||||
#, python-format
|
||||
@@ -437,23 +414,23 @@ msgstr "Hantera medlemmar av %(circle_name)s"
|
||||
#: snikket_web/templates/admin_edit_circle.html:8
|
||||
#, python-format
|
||||
msgid "Edit circle %(circle_name)s"
|
||||
msgstr "Redigera cirkel %(circle_name)s"
|
||||
msgstr "Redigera krets %(circle_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:40
|
||||
msgid "No circles"
|
||||
msgstr "Inga cirklar"
|
||||
msgstr "Inga kretsar"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:41
|
||||
msgid ""
|
||||
"Currently, there are no circles on this service. Use the form below to "
|
||||
"create one."
|
||||
msgstr ""
|
||||
"Just nu finns inga cirklar på denna tjänst. Använd formuläret nedan för att "
|
||||
"Just nu finns inga kretsar på denna tjänst. Använd formuläret nedan för att "
|
||||
"skapa en."
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:44
|
||||
msgid "New circle"
|
||||
msgstr "Ny cirkel"
|
||||
msgstr "Ny krets"
|
||||
|
||||
#: snikket_web/templates/admin_create_invite.html:3
|
||||
msgid "Create invitation"
|
||||
@@ -522,8 +499,9 @@ msgid ""
|
||||
"immediately upon pushing the below button. <strong>There is no way back!</"
|
||||
"strong>"
|
||||
msgstr ""
|
||||
"Användaren och deras data kommer raderas skoningslöst, permanent och direkt "
|
||||
"när knappen nedanför klickas. <strong>Det finns ingen återvändo!</strong>"
|
||||
"Om du trycker på knappen nedanför kommer användaren och deras data raderas "
|
||||
"direkt, permanent och skoningslöst. <strong>Därefter finns ingen "
|
||||
"återvändo!</strong>"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
@@ -537,17 +515,16 @@ msgstr "Tillbaka"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:14
|
||||
msgid "This is your main circle"
|
||||
msgstr "Detta är din primära cirkel"
|
||||
msgstr "Detta är din primära krets"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:15
|
||||
msgid "This circle is managed automatically and cannot be removed or renamed."
|
||||
msgstr ""
|
||||
"Denna cirkel hanteras automatiskt och kan inte tas bort eller döpas om."
|
||||
msgstr "Denna krets hanteras automatiskt och kan inte tas bort eller döpas om."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:17
|
||||
#: snikket_web/templates/admin_edit_circle.html:33
|
||||
msgid "Group chat address"
|
||||
msgstr "Gruppchattsadress"
|
||||
msgstr "Gruppchattens adress"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:20
|
||||
#: snikket_web/templates/admin_edit_circle.html:36
|
||||
@@ -558,32 +535,32 @@ msgstr "Kopiera adress"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:26
|
||||
msgid "Circle information"
|
||||
msgstr "Om cirkeln"
|
||||
msgstr "Om kretsen"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:39
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr "Denna cirkel har ingen tillhörande gruppchatt."
|
||||
msgstr "Denna krets har ingen tillhörande gruppchatt."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "Radera cirkel"
|
||||
msgstr "Radera krets"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:49
|
||||
msgid "Deleting a circle does not delete any users in the circle."
|
||||
msgstr "Användare i en cirkel raderas inte när cirkeln raderas."
|
||||
msgstr "Användare i en krets raderas inte när kretsen raderas."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:55
|
||||
msgid "Circle members"
|
||||
msgstr "Medlemmar i cirkel"
|
||||
msgstr "Medlemmar i krets"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:70
|
||||
#, python-format
|
||||
msgid "Remove user %(username)s from circle"
|
||||
msgstr "Radera användaren %(username)s från cirkel"
|
||||
msgstr "Radera användaren %(username)s från krets"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:78
|
||||
msgid "This circle currently has no members."
|
||||
msgstr "Denna cirkel har för närvarande inga medlemmar."
|
||||
msgstr "Denna krets har för närvarande inga medlemmar."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:80
|
||||
msgid "Invite more members"
|
||||
@@ -599,7 +576,7 @@ msgstr "Alla användare tillagda"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:95
|
||||
msgid "All users on this service are already in this circle."
|
||||
msgstr "Alla användare på den här tjänsten är redan i denna cirkel."
|
||||
msgstr "Alla användare på den här tjänsten är redan i denna krets."
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:8
|
||||
msgid "View invitation"
|
||||
@@ -618,23 +595,22 @@ msgstr "Länk"
|
||||
#: snikket_web/templates/admin_edit_invite.html:22
|
||||
#: snikket_web/templates/admin_home.html:19
|
||||
msgid "Circles"
|
||||
msgstr "Cirklar"
|
||||
msgstr "Kretsar"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:23
|
||||
msgid ""
|
||||
"Users joining via this invitation will be added to the following circles:"
|
||||
msgstr ""
|
||||
"Användare som går med via denna inbjudan läggs till i följande cirklar:"
|
||||
msgstr "Användare som går med via denna inbjudan läggs till i följande kretsar:"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:29
|
||||
#: snikket_web/templates/admin_invites.html:23
|
||||
msgid "Circle"
|
||||
msgstr "Cirkel"
|
||||
msgstr "Krets"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:35
|
||||
msgid "The user will not be added to any circle and will have no contacts."
|
||||
msgstr ""
|
||||
"Användaren kommer inte läggas till i någon cirkel och kommer inte ha några "
|
||||
"Användaren kommer inte läggas till i någon krets och kommer inte ha några "
|
||||
"kontakter."
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:40
|
||||
@@ -665,7 +641,7 @@ msgstr "Användare"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:11
|
||||
msgid "Create password reset links or delete users."
|
||||
msgstr "Skapa lösenordsåterställningslänkar eller radera användare."
|
||||
msgstr "Skapa länkar för att återställa lösenord eller radera användare."
|
||||
|
||||
#: snikket_web/templates/admin_home.html:15
|
||||
#: snikket_web/templates/admin_users.html:4
|
||||
@@ -703,7 +679,7 @@ msgstr "Väntande inbjudningar"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Går ut"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -732,7 +708,7 @@ msgstr "Återställ lösenord"
|
||||
#: snikket_web/templates/admin_reset_user_password.html:12
|
||||
#, python-format
|
||||
msgid "Password reset link for %(user_name)s"
|
||||
msgstr "Lösenordsåterställningslänk för %(user_name)s"
|
||||
msgstr "Länk för att återställa lösenord för %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_reset_user_password.html:13
|
||||
msgid ""
|
||||
@@ -754,7 +730,7 @@ msgstr "Visa felsökningsinformation för %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Skapa lösenordsåterställningslänk för %(user_name)s"
|
||||
msgstr "Skapa länk för att återställa lösenord för %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -1055,7 +1031,7 @@ msgstr "Hämta på App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
msgstr "Skicka till mobil"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
@@ -1151,10 +1127,8 @@ msgid "Login failed"
|
||||
msgstr "Inloggning misslyckades"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Fel lösenord"
|
||||
msgstr "Fel adress"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
@@ -1162,14 +1136,16 @@ msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Den här Snikket-tjänsten har bara adresser som slutar på "
|
||||
"<em>@%(snikket_domain)s</em>. Ditt lösenord skickades inte."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
msgstr "Operationen lyckades"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Fel"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
@@ -1198,7 +1174,7 @@ msgstr "Ditt Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr "Hantera användare, inbjudningar och cirklar i din Snikket-tjänst."
|
||||
msgstr "Hantera användare, inbjudningar och kretsar i din Snikket-tjänst."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
msgid "Admin panel"
|
||||
@@ -1256,7 +1232,7 @@ msgid ""
|
||||
"like avatar and nickname."
|
||||
msgstr ""
|
||||
"Den här avdelningen låter dig hantera vilka som kan se din profil, såsom din "
|
||||
"profilbild och smeknamn."
|
||||
"profilbild och visningsnamn."
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Inte på mobilen?"
|
||||
|
||||
@@ -9,6 +9,7 @@ from quart import (
|
||||
redirect,
|
||||
url_for,
|
||||
flash,
|
||||
current_app,
|
||||
)
|
||||
import quart.exceptions
|
||||
|
||||
@@ -109,9 +110,17 @@ async def change_pw() -> typing.Union[str, quart.Response]:
|
||||
return await render_template("user_passwd.html", form=form)
|
||||
|
||||
|
||||
EAVATARTOOBIG = _l(
|
||||
"The chosen avatar is too big. To be able to upload larger "
|
||||
"avatars, please use the app"
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/profile", methods=["GET", "POST"])
|
||||
@client.require_session()
|
||||
async def profile() -> typing.Union[str, quart.Response]:
|
||||
max_avatar_size = current_app.config["MAX_AVATAR_SIZE"]
|
||||
|
||||
form = ProfileForm()
|
||||
if request.method != "POST":
|
||||
user_info = await client.get_user_info()
|
||||
@@ -125,30 +134,40 @@ async def profile() -> typing.Union[str, quart.Response]:
|
||||
if form.validate_on_submit():
|
||||
user_info = await client.get_user_info()
|
||||
|
||||
ok = True
|
||||
file_info = (await request.files).get(form.avatar.name)
|
||||
if file_info is not None:
|
||||
mimetype = file_info.mimetype
|
||||
data = file_info.stream.read()
|
||||
if len(data) > 0:
|
||||
if len(data) > max_avatar_size:
|
||||
print(len(data), max_avatar_size)
|
||||
form.avatar.errors.append(EAVATARTOOBIG)
|
||||
ok = False
|
||||
elif len(data) > 0:
|
||||
await client.set_user_avatar(data, mimetype)
|
||||
|
||||
if user_info.get("nickname") != form.nickname.data:
|
||||
await client.set_user_nickname(form.nickname.data)
|
||||
if ok:
|
||||
if user_info.get("nickname") != form.nickname.data:
|
||||
await client.set_user_nickname(form.nickname.data)
|
||||
|
||||
access_model = form.profile_access_model.data
|
||||
await asyncio.gather(
|
||||
client.set_avatar_access_model(access_model),
|
||||
client.set_vcard_access_model(access_model),
|
||||
client.set_nickname_access_model(access_model),
|
||||
)
|
||||
access_model = form.profile_access_model.data
|
||||
await asyncio.gather(
|
||||
client.set_avatar_access_model(access_model),
|
||||
client.set_vcard_access_model(access_model),
|
||||
client.set_nickname_access_model(access_model),
|
||||
)
|
||||
|
||||
await flash(
|
||||
_("Profile updated"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".profile"))
|
||||
await flash(
|
||||
_("Profile updated"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".profile"))
|
||||
|
||||
return await render_template("user_profile.html", form=form)
|
||||
return await render_template("user_profile.html",
|
||||
form=form,
|
||||
max_avatar_size=max_avatar_size,
|
||||
avatar_too_big_warning_header=_l("Error"),
|
||||
avatar_too_big_warning=EAVATARTOOBIG)
|
||||
|
||||
|
||||
@bp.route("/logout", methods=["GET", "POST"])
|
||||
|
||||
Reference in New Issue
Block a user