Compare commits

...

10 Commits

Author SHA1 Message Date
Jonas Schäfer
10a0de0637 Add test build to standard CI 2021-02-01 16:17:06 +01:00
Jonas Schäfer
b3185a8d18 Remove build job pushing to docker hub
We don’t want that, Snikket got its own build servers.
2021-02-01 16:16:50 +01:00
Jonas Schäfer
2f8e724104 Enable Polish by default 2021-01-31 20:51:03 +01:00
Jonas Schäfer
a3ab537de0 Add more translated languages to the list 2021-01-31 15:29:21 +01:00
Jonas Schäfer
b04c4fa42d Force setting the SNIKKET_DOMAIN as HTTP Host when talking to prosody
This is required if the portal is talking to a Prosody with
multiple HTTP domains and it doesn’t have http_default_host set...
In a true snikket, this doesn’t happen, but we all know...
2021-01-31 15:29:21 +01:00
Jonas Schäfer
078be4ba35 Added translation using Weblate (Italian) 2021-01-31 13:02:47 +00:00
Jonas Schäfer
c1f186a3da Translated using Weblate (German)
Currently translated at 100.0% (221 of 221 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/de/
2021-01-31 12:54:49 +00:00
misiek
7aaeb0f368 Translated using Weblate (Polish)
Currently translated at 100.0% (221 of 221 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/pl/
2021-01-31 12:54:48 +00:00
uira
b475e76189 Translated using Weblate (Indonesian)
Currently translated at 100.0% (221 of 221 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/id/
2021-01-31 12:54:48 +00:00
Jonas Schäfer
8b6f5e8e18 Added translation using Weblate (Russian) 2021-01-31 12:21:39 +00:00
10 changed files with 2315 additions and 260 deletions

View File

@@ -1,23 +0,0 @@
name: Docker image build
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: >-
docker build . \
--build-arg=BUILD_SERIES=dev \
--build-arg=BUILD_ID="$(echo "$GITHUB_SHA" | head -c 12)" \
--tag snikket/snikket-web-portal:dev
- name: Log into registry
run: echo "${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}" | docker login -u snikket --password-stdin
- name: Push the Docker image
run: docker push snikket/snikket-web-portal:dev

View File

@@ -1,31 +0,0 @@
---
name: Docker release image build
"on":
push:
tags:
- release/*.*
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: >-
echo "Building ref $GITHUB_REF...";
RELEASE_TAG="${GITHUB_REF#refs/tags/release/}";
RELEASE_SERIES="${RELEASE_TAG%.*}";
RELEASE_VER="${RELEASE_TAG#$RELEASE_SERIES.}";
docker build . \
--build-arg=BUILD_SERIES="$RELEASE_SERIES" \
--build-arg=BUILD_ID="$RELEASE_VER" \
--tag snikket/snikket-web-portal:"$RELEASE_SERIES"
- name: Log into registry
run: echo "${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}" | docker login -u snikket --password-stdin
- name: Push the Docker image
run: >-
RELEASE_TAG="${GITHUB_REF#refs/tags/release/}";
RELEASE_SERIES="${RELEASE_TAG%.*}";
docker push snikket/snikket-web-portal:"$RELEASE_SERIES"

View File

@@ -48,3 +48,12 @@ jobs:
- name: Linting
run: |
python -m flake8 snikket_web
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: >-
docker build .

View File

@@ -143,7 +143,13 @@ class AppConfig:
domain = environ.var()
site_name = environ.var("")
avatar_cache_ttl = environ.var(1800, converter=int)
languages = environ.var(["de", "en"], converter=autosplit)
languages = environ.var([
"de",
"en",
"fr",
"id",
"po",
], converter=autosplit)
apple_store_url = environ.var("")

View File

@@ -144,6 +144,7 @@ class HTTPSessionManager:
async def _create(self) -> aiohttp.ClientSession:
return aiohttp.ClientSession(headers={
"Accept": "application/json",
"Host": current_app.config["SNIKKET_DOMAIN"],
})
async def teardown(self, exc: typing.Optional[BaseException]) -> None:
@@ -204,6 +205,7 @@ class HTTPAuthSessionManager(HTTPSessionManager):
headers={
"Authorization": "Bearer {}".format(token),
"Accept": "application/json",
"Host": current_app.config["SNIKKET_DOMAIN"],
}
)

View File

@@ -8,10 +8,10 @@ msgstr ""
"Project-Id-Version: SnikketWeb 0.1.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
"PO-Revision-Date: 2021-01-26 14:06+0000\n"
"PO-Revision-Date: 2021-01-31 12:54+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"
@@ -57,18 +57,16 @@ msgid "Four weeks"
msgstr "Vier Wochen"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
#, fuzzy
#| msgid "View invitation"
msgid "Invitation type"
msgstr "Einladung anzeigen"
msgstr "Art der Einladung"
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
msgid "Individual"
msgstr ""
msgstr "Einzelperson"
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
msgid "Group"
msgstr ""
msgstr "Gruppe"
#: snikket_web/admin.py:161
msgid "New invitation link"
@@ -91,10 +89,8 @@ msgid "Select user"
msgstr "Benutzer auswählen"
#: snikket_web/admin.py:337
#, fuzzy
#| msgid "Create circle"
msgid "Update circle"
msgstr "Gemeinschaft gründen"
msgstr "Gemeinschaft ändern"
#: snikket_web/admin.py:341
msgid "Delete circle permanently"
@@ -110,41 +106,35 @@ msgstr "Kern"
#: snikket_web/invite.py:93
msgid "Username"
msgstr ""
msgstr "Benutzername"
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
msgid "Password"
msgstr "Passwort"
#: snikket_web/invite.py:101 snikket_web/invite.py:168
#, fuzzy
#| msgid "Confirm new password"
msgid "Confirm password"
msgstr "Neues Passwort (Bestätigung)"
msgstr "Passwort (Bestätigung)"
#: snikket_web/invite.py:105 snikket_web/invite.py:172
#, fuzzy
#| msgid "The new passwords must match"
msgid "The passwords must match"
msgstr "Die neuen Passwörter müssen übereinstimmen"
msgstr "Die Passwörter müssen übereinstimmen"
#: snikket_web/invite.py:110
#, fuzzy
#| msgid "Create circle"
msgid "Create account"
msgstr "Gemeinschaft gründen"
msgstr "Konto anlegen"
#: snikket_web/invite.py:137
msgid "That username is already taken"
msgstr ""
msgstr "Dieser Benutzername ist bereits belegt"
#: snikket_web/invite.py:141 snikket_web/invite.py:205
msgid "Registration was declined for unknown reasons"
msgstr ""
msgstr "Die Registrierung wurde aus unbekannten Gründen abgelehnt"
#: snikket_web/invite.py:145
msgid "The username is not valid"
msgstr ""
msgstr "Der Benutzername ist ungültig"
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:32
@@ -160,8 +150,6 @@ msgid "Sign in"
msgstr "Anmelden"
#: snikket_web/main.py:72
#, fuzzy
#| msgid "Invalid user name or password."
msgid "Invalid username or password."
msgstr "Benutzername oder Passwort falsch."
@@ -304,6 +292,8 @@ msgid ""
"<em>Circles</em> aim to help people who are in the same social circle find "
"each other on your service."
msgstr ""
"<em>Gemeinschaften</em> helfen Menschen die zusammen gehören dabei, sich auf "
"deiner Instanz zu finden."
#: snikket_web/templates/admin_circles.html:6
msgid ""
@@ -311,6 +301,9 @@ msgid ""
"In addition, each circle has a group chat where the circle members are "
"included."
msgstr ""
"Benutzer die in der gleichen Gemeinschaft sind haben sich gegenseitig in "
"ihren Kontaktlisten. Außerdem hat jede Gemeinschaft einen Gruppenchat mit "
"allen Gemeinschaftsmitgliedern."
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
@@ -332,10 +325,9 @@ msgid "Create invitation to circle %(circle_name)s"
msgstr "Einladung in die %(circle_name)s Gemeinschaft erzeugen"
#: snikket_web/templates/admin_circles.html:28
#, fuzzy, python-format
#| msgid "Show details of circle %(circle_name)s"
#, python-format
msgid "Manage members of %(circle_name)s"
msgstr "Details der %(circle_name)s Gemeinschaft anzeigen"
msgstr "Mitglieder der Gemeinschaft %(circle_name)s verwalten"
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
@@ -442,27 +434,25 @@ msgstr "Zurück"
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This is your main circle"
msgstr ""
msgstr "Dies ist die Hauptgemeinschaft"
#: snikket_web/templates/admin_edit_circle.html:15
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
"Diese Gemeinschaft wird automatisch verwaltet und kann nicht entfernt oder "
"umbenannt werden."
#: snikket_web/templates/admin_edit_circle.html:17
#: snikket_web/templates/admin_edit_circle.html:33
#, fuzzy
#| msgid "Email address"
msgid "Group chat address"
msgstr "E-Mail-Adresse"
msgstr "Gruppenchat-Adresse"
#: snikket_web/templates/admin_edit_circle.html:20
#: snikket_web/templates/admin_edit_circle.html:36
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#, fuzzy
#| msgid "Email address"
msgid "Copy address"
msgstr "E-Mail-Adresse"
msgstr "Adresse kopieren"
#: snikket_web/templates/admin_edit_circle.html:26
msgid "Circle information"
@@ -470,7 +460,7 @@ msgstr "Gemeinschaftsinformationen"
#: snikket_web/templates/admin_edit_circle.html:39
msgid "This circle has no group chat associated."
msgstr ""
msgstr "Diese Gemeinschaft hat keinen zugehörigen Gruppenchat."
#: snikket_web/templates/admin_edit_circle.html:48
msgid "Delete circle"
@@ -505,7 +495,7 @@ msgstr "Bestehenden Benuzter hinzufügen"
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users added"
msgstr ""
msgstr "Alle Benutzer hinzugefügt"
#: snikket_web/templates/admin_edit_circle.html:95
msgid "All users on this service are already in this circle."
@@ -551,22 +541,20 @@ msgstr ""
#: snikket_web/templates/admin_edit_invite.html:40
msgid "Contact"
msgstr ""
msgstr "Kontakt"
#: snikket_web/templates/admin_edit_invite.html:41
#, python-format
msgid "The user will get added as contact of %(peer_jid)s."
msgstr ""
msgstr "Der Benutzer wird als Kontakt von %(peer_jid)s hinzugefügt."
#: snikket_web/templates/admin_edit_invite.html:43
msgid "Created"
msgstr "Erzeugt"
#: snikket_web/templates/admin_home.html:4
#, fuzzy
#| msgid "Welcome to the administration dashboard!"
msgid "Welcome to the admin panel!"
msgstr "Willkommen zum Verwaltungsdashboard!"
msgstr "Willkommen im Adminbereich!"
#: snikket_web/templates/admin_home.html:5
#, python-format
@@ -575,13 +563,12 @@ msgstr "Zu deinen Diensten, %(user_name)s."
#: snikket_web/templates/admin_home.html:9
msgid "Users"
msgstr ""
msgstr "Benutzer"
#: snikket_web/templates/admin_home.html:11
#, fuzzy
#| msgid "Create password reset link for %(user_name)s"
msgid "Create password reset links or delete users."
msgstr "Benutzer %(user_name)s löschen"
msgstr ""
"Löschen von Benutzern und Anlegen von Links zum Zurücksetzen des Passwortes."
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_users.html:4
@@ -590,19 +577,15 @@ msgstr "Benutzer verwalten"
#: snikket_web/templates/admin_home.html:21
msgid "Create and manage social circles represented on your service."
msgstr ""
msgstr "Anlegen und Verwalten von Gemeinschaften auf deiner Instanz."
#: snikket_web/templates/admin_home.html:27
#, fuzzy
#| msgid "View invitation"
msgid "Invitations"
msgstr "Einladung anzeigen"
msgstr "Einladungen"
#: snikket_web/templates/admin_home.html:29
#, fuzzy
#| msgid "Create, revoke or view invitations."
msgid "Create, revoke or copy invitations."
msgstr "Einladungen erzeugen, löschen oder anzeigen."
msgstr "Erzeugen, Löschen oder Kopieren von Einladungen."
#: snikket_web/templates/admin_home.html:31
#: snikket_web/templates/admin_invites.html:8
@@ -610,14 +593,12 @@ msgid "Manage invitations"
msgstr "Einladungen verwalten"
#: snikket_web/templates/admin_home.html:36
#, fuzzy
#| msgid "Go back to your users web portal page."
msgid "Go back to your user's web portal page."
msgstr "Zurück zur Startseite deines Benutzers."
#: snikket_web/templates/admin_home.html:38
msgid "Exit admin panel"
msgstr ""
msgstr "Adminbereich verlassen"
#: snikket_web/templates/admin_invites.html:10
msgid "Pending invitations"
@@ -625,7 +606,7 @@ msgstr "Ausstehende Einladungen"
#: snikket_web/templates/admin_invites.html:22
msgid "Type"
msgstr ""
msgstr "Art"
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
@@ -709,10 +690,9 @@ msgstr "Das Webportal hatte einen internen Fehler."
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_view.html:12
#, fuzzy, python-format
#| msgid "Edit user %(user_name)s"
#, python-format
msgid "Invite to %(site_name)s"
msgstr "Benutzer %(user_name)s bearbeiten"
msgstr "Einladung zu %(site_name)s"
#: snikket_web/templates/invite_invalid.html:6
#: snikket_web/templates/invite_register.html:10
@@ -720,39 +700,36 @@ msgstr "Benutzer %(user_name)s bearbeiten"
#: snikket_web/templates/invite_view.html:13
#, python-format
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr ""
msgstr "Betrieben mit <img alt=\"Snikket\" src=\"%(logo_url)s\">"
#: snikket_web/templates/invite_invalid.html:8
#, fuzzy
#| msgid "Invite to circle"
msgid "Invite expired"
msgstr "In Gemeinschaft einladen"
msgstr "Einladung abgelaufen"
#: snikket_web/templates/invite_invalid.html:9
msgid "Sorry, it looks like this invitation link has expired!"
msgstr ""
msgstr "Schade, sieht so aus als ob dieser Einladungslink abgelaufen wäre!"
#: snikket_web/templates/invite_register.html:5
#, python-format
msgid "Register on %(site_name)s | Snikket"
msgstr ""
msgstr "Auf %(site_name)s registrieren | Snikket"
#: snikket_web/templates/invite_register.html:9
#, fuzzy, python-format
#| msgid "Edit user %(user_name)s"
#, python-format
msgid "Register on %(site_name)s"
msgstr "Benutzer %(user_name)s bearbeiten"
msgstr "Auf %(site_name)s registrieren"
#: snikket_web/templates/invite_register.html:11
#, python-format
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
msgstr ""
"%(site_name)s basiert auf Snikket einer sicheren, privatsphärefreundlichen "
"Chat-App."
#: snikket_web/templates/invite_register.html:12
#, fuzzy
#| msgid "Create invitation"
msgid "Create an account"
msgstr "Gemeinschaft gründen"
msgstr "Benutzer anlegen"
#: snikket_web/templates/invite_register.html:13
msgid ""
@@ -761,89 +738,92 @@ msgid ""
"we recommend that you continue the account creation process inside the app "
"by clicking on the button below:"
msgstr ""
"Durch das Anlegen eines Benutzerkontos kannst du mit anderen Menschen über "
"die Snikket-App oder kompatible Software kommunizieren. Wenn du die App "
"bereits installiert hast, empfehlen wir dir, das Anlegen des Benutzerkontos "
"innerhalb der App zu machen. Das geht, indem du den folgenden Knopf drückst:"
#: snikket_web/templates/invite_register.html:14
#: snikket_web/templates/invite_view.html:37
msgid "App already installed?"
msgstr ""
msgstr "App schon installiert?"
#: snikket_web/templates/invite_register.html:16
#: snikket_web/templates/invite_reset_view.html:21
#: snikket_web/templates/invite_view.html:39
msgid "Open the app"
msgstr ""
msgstr "App öffnen"
#: snikket_web/templates/invite_register.html:18
#: snikket_web/templates/invite_view.html:41
msgid "This button works only if you have the app installed already!"
msgstr ""
msgstr "Dieser Knopf funktioniert nur, wenn du die App schon installiert hast!"
#: snikket_web/templates/invite_register.html:19
msgid "Create an account online"
msgstr ""
msgstr "Benutzerkonto online anlegen"
#: snikket_web/templates/invite_register.html:20
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."
msgstr ""
"Wenn du einen normalen XMPP-Client verwenden möchtest, kannst du hier ein "
"Benutzerkonto anlegen und die Zugangsdaten in beliebige XMPP-kompatible "
"Software eintragen."
#: snikket_web/templates/invite_register.html:27
msgid ""
"Choose a username, this will become the first part of your new chat address."
msgstr ""
"Wähle einen Benutzernamen. Dies wird der erste Teil deiner neuen Chat-"
"Adresse."
#: snikket_web/templates/invite_register.html:32
msgid "Enter a secure password that you do not use anywhere else."
msgstr ""
msgstr "Gib ein sicheres Passwort ein, welches du nirgendwo sonst verwendest."
#: snikket_web/templates/invite_reset.html:9
#: snikket_web/templates/invite_reset_view.html:9
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password | Snikket"
msgstr "Ändere dein Passwort"
msgstr "Passwort zurücksetzen | Snikket"
#: snikket_web/templates/invite_reset.html:15
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password online"
msgstr "Ändere dein Passwort"
msgstr "Passwort online zurücksetzen"
#: snikket_web/templates/invite_reset.html:16
msgid ""
"To reset your password online, fill out the fields below and confirm using "
"the button."
msgstr ""
"Um dein Passwort online zurückzusetzen, fülle die Eingabefelder unten aus "
"und bestätige mit der Schaltfläche."
#: snikket_web/templates/invite_reset_success.html:5
msgid "Password reset successful | Snikket"
msgstr ""
msgstr "Passwort erfolgreich zurückgesetzt | Snikket"
#: snikket_web/templates/invite_reset_success.html:8
#, fuzzy
#| msgid "Password reset"
msgid "Password reset successful"
msgstr "Passwort zurücksetzen"
msgstr "Password wurde erfolgreich zurückgesetzt"
#: snikket_web/templates/invite_reset_success.html:10
msgid "Your password has been changed"
msgstr ""
msgstr "Dein Passwort wurde geändert"
#: snikket_web/templates/invite_reset_success.html:11
msgid "You can now log in using your new password."
msgstr ""
msgstr "Du kannst dich nun mit deinem neuen Passwort anmelden."
#: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page."
msgstr ""
msgstr "Du kannst diese Seite nun schließen."
#: snikket_web/templates/invite_reset_view.html:14
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password"
msgstr "Ändere dein Passwort"
msgstr "Passwort zurücksetzen"
#: snikket_web/templates/invite_reset_view.html:15
#, python-format
@@ -851,20 +831,26 @@ msgid ""
"This page allows you to reset the password of your account, <strong>"
"%(account_jid)s</strong>, once."
msgstr ""
"Diese Seite erlaubt es dir einmalig, das Passwort deines Kontos "
"<strong>%(account_jid)s</strong> zurückzusetzen."
#: snikket_web/templates/invite_reset_view.html:17
msgid "Using the app"
msgstr ""
msgstr "Mit der App"
#: snikket_web/templates/invite_reset_view.html:18
msgid "To reset your password using the Snikket App, tap the button below."
msgstr ""
"Um dein Passwort mit der Snikket-App zurückzusetzen, tippe auf die folgende "
"Schaltfläche."
#: snikket_web/templates/invite_reset_view.html:25
msgid ""
"Alternatively, you can scan the below code with the Snikket App using the "
"Scan button at the top."
msgstr ""
"Alternativ kannst du den untenstehenden Code mit der Snikket-App scannen. "
"Das geht mit Hilfe des Scan-Knopfes in der oberen Leiste."
#: snikket_web/templates/invite_reset_view.html:26
#: snikket_web/templates/invite_view.html:75
@@ -873,15 +859,19 @@ msgid ""
"within the highlighted square on your screen, and wait until the app "
"recognises it."
msgstr ""
"Deine Kamera wird eingeschaltet werden. Richte sie auf den untenstehenden "
"quadratischen Code, bis dieser in dem hervorgehobenen Quadrat auf deinem "
"Bildschirm ist und warte bis die App den Code erkennt."
#: snikket_web/templates/invite_reset_view.html:27
msgid "You will then be prompted to enter a new password for your account."
msgstr ""
"Du wirst dann aufgefordert, ein neues Passwort für deinen Account einzugeben."
#: snikket_web/templates/invite_reset_view.html:29
#: snikket_web/templates/invite_view.html:43
msgid "Alternatives"
msgstr ""
msgstr "Alternativen"
#: snikket_web/templates/invite_reset_view.html:30
#, python-format
@@ -889,39 +879,43 @@ 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."
msgstr ""
"Du kannst dein <a href=\"%(reset_url)s\">Passwort auch online zurücksetzen</"
"a> wenn die obenstehende Anleitung für dich nicht funktioniert."
#: snikket_web/templates/invite_success.html:5
#, python-format
msgid "Successfully registered on %(site_name)s | Snikket"
msgstr ""
msgstr "Erfolgreich auf %(site_name)s registriert | Snikket"
#: snikket_web/templates/invite_success.html:10
#, python-format
msgid "Successfully registered on %(site_name)s"
msgstr ""
msgstr "Erfolgreich auf %(site_name)s registriert"
#: snikket_web/templates/invite_success.html:12
#, python-format
msgid ""
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr ""
"Gratulation! Du hast dich erfolgreich auf %(site_name)s als %(jid)s "
"registriert."
#: snikket_web/templates/invite_success.html:13
#, fuzzy
#| msgid "Email address"
msgid "Your address"
msgstr "E-Mail-Adresse"
msgstr "Deine Adresse"
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration."
msgstr ""
"Du kannst nun deinen normalen XMPP-Clienten mit der obenstehenden Adresse "
"und deinem gewählten Passwort einrichten."
#: snikket_web/templates/invite_view.html:6
#, python-format
msgid "Invite to %(site_name)s | Snikket"
msgstr ""
msgstr "Einladung zu %(site_name)s | Snikket"
#: snikket_web/templates/invite_view.html:15
#, python-format
@@ -929,6 +923,8 @@ msgid ""
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
"privacy-friendly chat app on %(site_name)s."
msgstr ""
"%(inviter_name)s hat dich zum Chatten mit Snikket auf %(site_name)s "
"eingeladen, einer sicheren, privatsphärefreundlichen Chat-App."
#: snikket_web/templates/invite_view.html:17
#, python-format
@@ -936,14 +932,16 @@ msgid ""
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
"privacy-friendly chat app."
msgstr ""
"Dies ist eine Einladung zum Chatten auf %(site_name)s mit Snikket, einer "
"sicheren, privatsphärefreundlichen Chat-App."
#: snikket_web/templates/invite_view.html:19
msgid "Get started"
msgstr ""
msgstr "Leg los!"
#: snikket_web/templates/invite_view.html:21
msgid "Install the Snikket App on your Android or iOS device."
msgstr ""
msgstr "Installiere die Snikket-App auf deinem Android- oder iOS-Gerät."
#: snikket_web/templates/invite_view.html:23
#, python-format
@@ -951,24 +949,30 @@ 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 ""
"Installiere die Snikket-App auf deinem Android-Gerät (<a href=\""
"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS folgt "
"bald!</a>)."
#: snikket_web/templates/invite_view.html:27
msgid "Get it on Google Play"
msgstr ""
msgstr "Von Google Play installieren"
#: snikket_web/templates/invite_view.html:29
msgid "Download on the App Store"
msgstr ""
msgstr "Laden im App Store"
#: snikket_web/templates/invite_view.html:33
msgid "Not on mobile?"
msgstr ""
msgstr "Nicht am Smartphone?"
#: snikket_web/templates/invite_view.html:36
msgid ""
"After installation the app should automatically open and prompt you to "
"create an account. If not, simply click the button below."
msgstr ""
"Nach der Installation wird die App sich automatisch öffnen und dir anbieten, "
"ein Benutzerkonto anzulegen. Falls nicht, tippe einfach auf die folgende "
"Schaltfläche."
#: snikket_web/templates/invite_view.html:44
#, python-format
@@ -977,42 +981,51 @@ msgid ""
"above does not work with your app, you may need to <a href=\"%(register_url)s"
"\">register an account manually</a>."
msgstr ""
"Du kannst dich mit jeder XMPP-kompatiblen Software mit Snikket verbinden. "
"Wenn die obige Schaltfläche mit deiner App nicht funktioniert, kann es sein, "
"dass du <a href=\"%(register_url)s\">manuell ein Benutzerkonto anlegen</a> "
"musst."
#: snikket_web/templates/invite_view.html:50
#, fuzzy
#| msgid "Show invite details"
msgid "Scan invite code"
msgstr "Einladungsdetails anzeigen"
msgstr "Einladungscode scannen"
#: snikket_web/templates/invite_view.html:53
#: snikket_web/templates/invite_view.html:82
msgid "Close"
msgstr ""
msgstr "Schließen"
#: snikket_web/templates/invite_view.html:56
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."
msgstr ""
"Du kannst diese Einladung auf dein mobiles Gerät übertragen indem du den "
"untenstehenden Code mit deiner Kamera scannst. Dafür kannst du entweder "
"einen normalen QR-Scanner nehmen oder die Snikket-App selbst."
#: snikket_web/templates/invite_view.html:61
msgid "Using a QR code scanner"
msgstr ""
msgstr "Mit einem QR-Code-Scanner"
#: snikket_web/templates/invite_view.html:63
msgid "Using the Snikket app"
msgstr ""
msgstr "Mit der Snikket-App"
#: snikket_web/templates/invite_view.html:68
msgid ""
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
msgstr ""
"Benutze einen <em>QR-Code</em>-Scanner auf deinem mobilen Gerät um den "
"untenstehenden Code zu scannen:"
#: snikket_web/templates/invite_view.html:74
msgid ""
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
"button at the top."
msgstr ""
"Installiere die Snikket-App auf deinem mobilen Gerät, öffne sie und tippe "
"dann auf den 'Scan'-Knopf in der oberen Leiste."
#: snikket_web/templates/library.j2:18
msgid "Copy link"
@@ -1027,16 +1040,16 @@ msgid "deleted"
msgstr "gelöscht"
#: snikket_web/templates/library.j2:122
#, fuzzy
#| msgid "Manage users and invitations of this Snikket service."
msgid "Can be used multiple times to create accounts on this Snikket service."
msgstr "Benutzer und Einladungen dieses Snikket-Dienstes verwalten."
msgstr ""
"Kann mehrfach verwendet werden, um Benutzerkonten auf dieser Snikket-Instanz "
"anzulegen."
#: snikket_web/templates/library.j2:124
#, fuzzy
#| msgid "Manage users and invitations of this Snikket service."
msgid "Can be used once to create an account on this Snikket service."
msgstr "Benutzer und Einladungen dieses Snikket-Dienstes verwalten."
msgstr ""
"Kann einmalig verwendet werden um ein Benutzerkonto auf dieser Snikket-"
"Instanz anzulegen."
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
@@ -1061,40 +1074,29 @@ msgid "Welcome home, %(user_name)s."
msgstr "Willkommen zu Hause, %(user_name)s."
#: snikket_web/templates/user_home.html:14
#, fuzzy
#| msgid "Create circle"
msgid "Your account"
msgstr "Gemeinschaft gründen"
msgstr "Dein Konto"
#: snikket_web/templates/user_home.html:20
#, fuzzy
#| msgid "Email address"
msgid "Your XMPP address"
msgstr "E-Mail-Adresse"
msgstr "Deine XMPP-Adresse"
#: snikket_web/templates/user_home.html:31
#, fuzzy
#| msgid "Update profile"
msgid "Edit profile"
msgstr "Profil bearbeiten"
#: snikket_web/templates/user_home.html:38
#, fuzzy
#| msgid "About Snikket"
msgid "Your Snikket"
msgstr "Über Snikket"
msgstr "Dein Snikket"
#: snikket_web/templates/user_home.html:40
#, fuzzy
#| msgid "Manage users and invitations of this Snikket service."
msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Benutzer und Einladungen dieses Snikket-Dienstes verwalten."
msgstr ""
"Benutzer, Einladungen und Gemeinschaften dieses Snikket-Dienstes verwalten."
#: snikket_web/templates/user_home.html:42
#, fuzzy
#| msgid "Admin area"
msgid "Admin panel"
msgstr "Administration"
msgstr "Adminbereich"
#: snikket_web/templates/user_logout.html:8
msgid "Sign out of the Snikket Web Portal"
@@ -1131,10 +1133,8 @@ msgstr ""
"Geräten manuell eintragen."
#: snikket_web/templates/user_profile.html:7
#, fuzzy
#| msgid "Update profile"
msgid "Update your profile"
msgstr "Profil bearbeiten"
msgstr "Dein Profil bearbeiten"
#: snikket_web/templates/user_profile.html:9
msgid "Profile"

View File

@@ -8,10 +8,10 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
"PO-Revision-Date: 2021-01-30 10:15+0000\n"
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/web-"
"portal/id/>\n"
"PO-Revision-Date: 2021-01-31 12:54+0000\n"
"Last-Translator: uira <inboxriau@andriana.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"
@@ -591,10 +591,8 @@ msgid "Manage invitations"
msgstr "Kelola undangan"
#: snikket_web/templates/admin_home.html:36
#, fuzzy
#| msgid "Go back to your users web portal page."
msgid "Go back to your user's web portal page."
msgstr "Kembali ke halaman portal web pengguna Anda."
msgstr "Kembali ke halaman portal web pengguna."
#: snikket_web/templates/admin_home.html:38
msgid "Exit admin panel"
@@ -783,40 +781,36 @@ msgstr "Masukkan kata sandi yang tidak Anda gunakan di tempat lain."
#: snikket_web/templates/invite_reset.html:9
#: snikket_web/templates/invite_reset_view.html:9
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password | Snikket"
msgstr "Ganti kata sandi anda"
msgstr "Setel ulang kata sandi | Snikket"
#: snikket_web/templates/invite_reset.html:15
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password online"
msgstr "Ganti kata sandi anda"
msgstr "Setel ulang kata sandi secara daring"
#: snikket_web/templates/invite_reset.html:16
msgid ""
"To reset your password online, fill out the fields below and confirm using "
"the button."
msgstr ""
"Untuk mengatur ulang kata sandi Anda secara daring, isi form di bawah ini "
"dan klik tombol konfirmasi."
#: snikket_web/templates/invite_reset_success.html:5
msgid "Password reset successful | Snikket"
msgstr ""
msgstr "Setel ulang kata sandi berhasil | Snikket"
#: snikket_web/templates/invite_reset_success.html:8
#, fuzzy
#| msgid "Password reset"
msgid "Password reset successful"
msgstr "Reset kata sandi"
msgstr "Setel ulang kata sandi berhasil"
#: snikket_web/templates/invite_reset_success.html:10
msgid "Your password has been changed"
msgstr ""
msgstr "Kata sandi anda sudah diubah"
#: snikket_web/templates/invite_reset_success.html:11
msgid "You can now log in using your new password."
msgstr ""
msgstr "Anda dapat masuk menggunakan kata sandi baru Anda."
#: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
@@ -824,10 +818,8 @@ msgid "You can now safely close this page."
msgstr "Sekarang Anda dapat menutup halaman ini."
#: snikket_web/templates/invite_reset_view.html:14
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password"
msgstr "Ganti kata sandi anda"
msgstr "Setel ulang kata sandi"
#: snikket_web/templates/invite_reset_view.html:15
#, python-format
@@ -835,22 +827,26 @@ msgid ""
"This page allows you to reset the password of your account, <strong>"
"%(account_jid)s</strong>, once."
msgstr ""
"Halaman ini memungkinkan Anda untuk mengatur ulang kata sandi akun, "
"<strong>%(account_jid)s</strong>, sekali."
#: snikket_web/templates/invite_reset_view.html:17
#, fuzzy
#| msgid "Using the Snikket app"
msgid "Using the app"
msgstr "Menggunakan Snikket"
msgstr "Gunakan aplikasi"
#: snikket_web/templates/invite_reset_view.html:18
msgid "To reset your password using the Snikket App, tap the button below."
msgstr ""
"Untuk mengatur ulang kata sandi Anda menggunakan Aplikasi Snikket, klik "
"tombol di bawah ini."
#: snikket_web/templates/invite_reset_view.html:25
msgid ""
"Alternatively, you can scan the below code with the Snikket App using the "
"Scan button at the top."
msgstr ""
"Atau, Anda dapat memindai kode di bawah ini dengan Snikket menggunakan "
"tombol Pindai di bagian atas."
#: snikket_web/templates/invite_reset_view.html:26
#: snikket_web/templates/invite_view.html:75
@@ -865,7 +861,7 @@ msgstr ""
#: snikket_web/templates/invite_reset_view.html:27
msgid "You will then be prompted to enter a new password for your account."
msgstr ""
msgstr "Anda akan diminta untuk memasukkan kata sandi baru untuk akun Anda."
#: snikket_web/templates/invite_reset_view.html:29
#: snikket_web/templates/invite_view.html:43
@@ -878,6 +874,8 @@ 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."
msgstr ""
"Anda juga dapat <a href=\"%(reset_url)s\"> mengatur ulang kata sandi Anda "
"secara online </a> jika tombol di atas atau memindai kode QR tidak berfungsi."
#: snikket_web/templates/invite_success.html:5
#, python-format
@@ -896,10 +894,8 @@ msgid ""
msgstr "Selamat! Anda berhasil terdaftar di %(site_name)s sebagai %(jid)s."
#: snikket_web/templates/invite_success.html:13
#, fuzzy
#| msgid "Your XMPP address"
msgid "Your address"
msgstr "Alamat XMPP anda"
msgstr "Alamat anda"
#: snikket_web/templates/invite_success.html:17
msgid ""

File diff suppressed because it is too large Load Diff

View File

@@ -8,10 +8,10 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
"PO-Revision-Date: 2021-01-30 09:49+0000\n"
"PO-Revision-Date: 2021-01-31 12:54+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"
@@ -31,7 +31,7 @@ msgstr "Zaproś do kręgu"
#: snikket_web/admin.py:135
msgid "At least one circle must be selected"
msgstr "Wybrany musi być przynajmniej jeden krąg"
msgstr "Należy wybrać przynajmniej jeden krąg"
#: snikket_web/admin.py:140
msgid "Valid for"
@@ -39,7 +39,7 @@ msgstr "Ważne przez"
#: snikket_web/admin.py:142
msgid "One hour"
msgstr "Jedną godzinę"
msgstr "Godzinę"
#: snikket_web/admin.py:143
msgid "Twelve hours"
@@ -47,11 +47,11 @@ msgstr "Dwanaście godzin"
#: snikket_web/admin.py:144
msgid "One day"
msgstr "Jeden dzień"
msgstr "Dzień"
#: snikket_web/admin.py:145
msgid "One week"
msgstr "Jeden tydzień"
msgstr "Tydzień"
#: snikket_web/admin.py:146
msgid "Four weeks"
@@ -478,7 +478,7 @@ msgstr "Członkowie kręgu"
#: snikket_web/templates/admin_edit_circle.html:70
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Usuń użytkownika %(username)s z kręgu"
msgstr "Usuń z kręgu użytkownika %(username)s"
#: snikket_web/templates/admin_edit_circle.html:78
msgid "This circle currently has no members."
@@ -591,8 +591,6 @@ msgid "Manage invitations"
msgstr "Zarządzaj zaproszeniami"
#: snikket_web/templates/admin_home.html:36
#, fuzzy
#| msgid "Go back to your users web portal page."
msgid "Go back to your user's web portal page."
msgstr "Wróć do swojej strony użytkownika."
@@ -785,40 +783,36 @@ msgstr "Wprowadź bezpieczne hasło, którego nie używasz w innym miejscu."
#: snikket_web/templates/invite_reset.html:9
#: snikket_web/templates/invite_reset_view.html:9
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password | Snikket"
msgstr "Zmień swoje hasło"
msgstr "Zresetuj swoje hasło | Snikket"
#: snikket_web/templates/invite_reset.html:15
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password online"
msgstr "Zmień swoje hasło"
msgstr "Zresetuj swoje hasło online"
#: snikket_web/templates/invite_reset.html:16
msgid ""
"To reset your password online, fill out the fields below and confirm using "
"the button."
msgstr ""
"Aby zresetować swoje hasło online, wypełnij poniższe pola i potwierdź za "
"pomocą przycisku."
#: snikket_web/templates/invite_reset_success.html:5
msgid "Password reset successful | Snikket"
msgstr ""
msgstr "Zresetowanie hasła powiodło się | Snikket"
#: snikket_web/templates/invite_reset_success.html:8
#, fuzzy
#| msgid "Password reset"
msgid "Password reset successful"
msgstr "Resetowanie hasła"
msgstr "Zresetowanie hasła powiodło się"
#: snikket_web/templates/invite_reset_success.html:10
msgid "Your password has been changed"
msgstr ""
msgstr "Twoje hasło zostało zmienione"
#: snikket_web/templates/invite_reset_success.html:11
msgid "You can now log in using your new password."
msgstr ""
msgstr "Możesz się zalogować z wykorzystaniem twojego nowego hasła."
#: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
@@ -826,10 +820,8 @@ msgid "You can now safely close this page."
msgstr "Możesz teraz bezpiecznie zamknąć tę stronę."
#: snikket_web/templates/invite_reset_view.html:14
#, fuzzy
#| msgid "Change your password"
msgid "Reset your password"
msgstr "Zmień swoje hasło"
msgstr "Zresetuj swoje hasło"
#: snikket_web/templates/invite_reset_view.html:15
#, python-format
@@ -837,22 +829,26 @@ msgid ""
"This page allows you to reset the password of your account, <strong>"
"%(account_jid)s</strong>, once."
msgstr ""
"Ta strona pozwoli ci na jednorazowe zresetowanie hasła do twojego konta: "
"<strong>%(account_jid)s</strong>."
#: snikket_web/templates/invite_reset_view.html:17
#, fuzzy
#| msgid "Using the Snikket app"
msgid "Using the app"
msgstr "Używając aplikacji Snikket"
msgstr "Używając aplikacji"
#: snikket_web/templates/invite_reset_view.html:18
msgid "To reset your password using the Snikket App, tap the button below."
msgstr ""
"Aby zresetować swoje hasło za pomocą aplikacji Snikket, wciśnij poniższy "
"przycisk."
#: snikket_web/templates/invite_reset_view.html:25
msgid ""
"Alternatively, you can scan the below code with the Snikket App using the "
"Scan button at the top."
msgstr ""
"Możesz również zeskanować poniższy kod w aplikacji Snikket, korzystając z "
"przycisku Skanowania, który znajduje się u góry."
#: snikket_web/templates/invite_reset_view.html:26
#: snikket_web/templates/invite_view.html:75
@@ -868,6 +864,7 @@ msgstr ""
#: snikket_web/templates/invite_reset_view.html:27
msgid "You will then be prompted to enter a new password for your account."
msgstr ""
"Zostaniesz wtedy poproszony o wprowadzenie nowego hasła dla twojego konta."
#: snikket_web/templates/invite_reset_view.html:29
#: snikket_web/templates/invite_view.html:43
@@ -880,6 +877,8 @@ 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."
msgstr ""
"Możesz również <a href=\"%(reset_url)s\">zresetować swoje hasło online</a>, "
"jeśli powyższy przycisk lub skanowanie kodu QR nie zadziała."
#: snikket_web/templates/invite_success.html:5
#, python-format
@@ -899,10 +898,8 @@ msgstr ""
"Gratulacje! Pomyślnie zarejestrowałeś się na %(site_name)s jako %(jid)s."
#: snikket_web/templates/invite_success.html:13
#, fuzzy
#| msgid "Your XMPP address"
msgid "Your address"
msgstr "Twój adres XMPP"
msgstr "Twój adres"
#: snikket_web/templates/invite_success.html:17
msgid ""
@@ -946,16 +943,13 @@ msgstr ""
"Zainstaluj aplikację Snikket na swoim urządzeniu z systemem Android lub iOS."
#: snikket_web/templates/invite_view.html:23
#, fuzzy, python-format
#| msgid ""
#| "Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s"
#| "\" target=\"_blank\" rel=\"noopener noreferrer\">iOS coming soon!</a>)."
#, 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 ""
"Zainstaluj aplikację Snikket na swoim urządzeniu z Androidem (<a href="
"\"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS już "
"Zainstaluj aplikację Snikket na swoim urządzeniu z Androidem (<a href=\""
"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS już "
"niedługo!</a>)."
#: snikket_web/templates/invite_view.html:27

File diff suppressed because it is too large Load Diff