Compare commits

..

95 Commits

Author SHA1 Message Date
Matthew Wild
6407eb90db Explicitly set cookie SameSite attribute to Lax
With 'Secure' set, it may default to 'None', which we don't need or want.

'Strict' is not suitable for session cookies - the user would see the login
screen when navigating from another site (e.g. hosting dashboard) and we
already have CSRF protection on forms.
2024-04-29 11:18:55 +01:00
Matthew Wild
a8c6b1a70c Merge pull request #186 from snikket-im/cookie-secure-attribute
Add 'secure' attribute to session cookies
2024-04-29 11:09:44 +01:00
Matthew Wild
67c94bb045 Add 'secure' attribute to session cookies 2024-04-29 11:08:30 +01:00
Weblate
f4c1173a34 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2024-04-28 08:40:16 +00:00
Jonas Schäfer
e39b0082b1 Merge pull request #185 from Zash/translate-welcome
Translate welcome message
2024-04-28 10:39:57 +02:00
Kim Alvefur
9eb187a951 Make welcome message translatable 2024-04-27 14:22:39 +02:00
Kim Alvefur
b928e74a74 make extract_translations 2024-04-27 14:21:32 +02:00
Andrey
75c0f504d0 Translated using Weblate (Russian)
Currently translated at 100.0% (368 of 368 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2024-04-23 17:14:06 +00:00
Matthew Wild
7c0310a141 Merge pull request #184 from Zash/really-fix-default-invite-role
Specify a default role in invite form
2024-04-19 14:50:01 +01:00
Kim Alvefur
5e2e645787 Specify a default role in invite form
Actually in the invite form this time
2024-04-19 15:48:40 +02:00
Weblate
9b31894e85 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2024-04-19 13:38:57 +00:00
Kim Alvefur
a4472e1a44 Translated using Weblate (Swedish)
Currently translated at 100.0% (362 of 362 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/sv/
2024-04-19 13:38:56 +00:00
Matthew Wild
b99cae84de Update translations 2024-04-19 14:38:45 +01:00
Matthew Wild
1cac19e4c9 Merge pull request #183 from Zash/default-invite-role
Specify a default role in invite form
2024-04-19 14:37:22 +01:00
Kim Alvefur
d4883765b2 Specify a default role in invite form
The role creation appears to fail without an error, only refreshing the
page unless a role is selected.
2024-04-19 15:30:20 +02:00
Weblate
041f26274b Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2024-04-17 08:41:42 +00:00
Matthew Wild
82db30ffd9 Merge pull request #182 from snikket-im/invitation-improvements
Allow selecting a role when creating an invitation
2024-04-17 09:41:31 +01:00
Matthew Wild
b8684329b4 Fix syntax error in template 2024-04-16 21:30:19 +01:00
Matthew Wild
7e26b5f994 Update translations 2024-04-16 21:22:07 +01:00
Matthew Wild
4bdcb46a8a Allow selecting a role when creating an invitation
Includes some reorganization and prettification of the creation form.
2024-04-16 21:16:06 +01:00
Matthew Wild
ed6f413c18 Don't fail if active user metrics are unavailable 2024-04-16 20:42:48 +01:00
Weblate
f63549ee87 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2024-04-16 14:51:58 +00:00
Matthew Wild
bd71ab1449 Update translations 2024-04-16 15:51:47 +01:00
Matthew Wild
220bf9994b Show invitation hint when user is alone on their instance 2024-04-16 15:09:16 +01:00
Matthew Wild
33d28e5890 Show active user counts in instance metrics 2024-04-16 15:09:16 +01:00
Matthew Wild
f0f0fa15c9 Small clarifications to the invitation type UI 2024-04-16 15:09:16 +01:00
Matthew Wild
30a9a6816f prosodyclient: Skip adding metadata of broken avatars 2024-04-16 15:09:16 +01:00
Sergio Moreno López
970b8fa7f1 Translated using Weblate (Spanish)
Currently translated at 39.6% (143 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/es/
2024-04-14 21:02:20 +00:00
Sergio Moreno López
629d725ff5 Translated using Weblate (Spanish)
Currently translated at 36.0% (130 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/es/
2024-04-05 21:27:23 +00:00
Sergio Moreno López
6998e66b22 Translated using Weblate (Spanish)
Currently translated at 29.9% (108 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/es/
2024-03-31 22:27:22 +00:00
Matthew Wild
c668c4c56a Added translation using Weblate (Spanish) 2024-03-29 10:13:30 +00:00
Matthew Wild
a13fbd87a6 Merge pull request #181 from snikket-im/feature/handle-invalid-avatars-gracefully
Handle broken/incorrect avatar metadata gracefully
2024-03-11 15:30:24 +00:00
Jonas Schäfer
7ffcd76cea Handle broken/incorrect avatar metadata gracefully
Fixes #180.
2024-03-10 10:49:29 +01:00
Federico
bda0f52320 Translated using Weblate (Italian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/it/
2024-01-20 23:01:47 +00:00
Matthew Wild
5efc2a671e Merge pull request #177 from snikket-im/feature/fix-requirements
Fix python requirements to actually work
2024-01-16 16:12:37 +00:00
Jonas Schäfer
1578654816 Fix python requirements to actually work
Didn't do deep research here, just fitted it against the current Docker
image release.
2024-01-16 16:52:47 +01:00
Matthew Wild
e8ab33e12f Merge pull request #175 from snikket-im/fix/html-tag-typo
templates: Fix typo in closing form tag
2024-01-11 15:29:26 +00:00
Matthew Wild
712b0dc502 templates: Fix typo in closing form tag 2024-01-11 15:20:17 +00:00
Matthew Wild
e56c0f9029 github: Strip Generated-By in both places 2024-01-09 15:07:21 +00:00
Weblate
794b48a50b Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2024-01-09 14:52:58 +00:00
Matthew Wild
393b30cf5c Remove collapsible flag from column to fix mobile display 2024-01-09 14:52:43 +00:00
Matthew Wild
97198a1da4 Ignore generator name/version when checking if translations are up to date 2024-01-09 14:51:34 +00:00
Weblate
3ba1195fbe Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2024-01-09 10:09:07 +00:00
Matthew Wild
121f3eddb5 Merge pull request #174 from snikket-im/fix/password-validation
Fix password validation
2024-01-09 10:08:58 +00:00
Matthew Wild
38ad81b0e2 Validate passwords as early as possible
Prosody now enforces some password policies, including a minimum length of 10
characters. If this fails, we currently show a rather unfriendly error to the
user. By adding this validation, the user should get nicer feedback and never
see that error.

There is a known issue that we don't currently validate all the policies that
Prosody does - for example, Prosody won't accept a password that contains the
username.

Ultimately we should fix the error handling anyway.
2024-01-08 22:58:46 +00:00
Matthew Wild
ec94c64dbc Handle errors on password change 2024-01-08 22:50:36 +00:00
Andrey
28a9a33aa1 Translated using Weblate (Russian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2024-01-07 16:01:03 +00:00
Kim Alvefur
97eeb85032 Merge pull request #173 from Zash/fix-scope-restricted
Fix login for restricted users
2024-01-07 12:40:26 +01:00
Kim Alvefur
ceef9f024c Fix login for restricted users
Previously this led to an OAuth grant with an empty scope, which could
not be used for anything.
2024-01-07 00:03:38 +01:00
Andrey
40c8b9cc36 Translated using Weblate (Russian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2024-01-06 05:01:03 +00:00
Matthew Wild
95a8ac1387 Enable Russian and Ukranian languages by default 2024-01-04 14:11:27 +00:00
Roberto Resoli
4c6e26e66b Translated using Weblate (Italian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/it/
2024-01-04 10:17:34 +00:00
Andrey
ad2b351a99 Translated using Weblate (Russian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2024-01-04 10:17:33 +00:00
pep
3bda1f9863 Translated using Weblate (French)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/fr/
2024-01-04 10:17:33 +00:00
Matthew Wild
f46d95db66 Merge pull request #172 from Zash/form-translation-fix
Fix incomplete translation of Announcement form and Limited user role
2024-01-04 09:05:33 +00:00
Kim Alvefur
ddfdd2fd55 Remove stray HTML closing tag
Where is the <form> ???
2024-01-04 09:54:45 +01:00
Kim Alvefur
17d586e384 Fix translation of "Limited"
Strings in Forms must use lazy_gettext aka _l
2024-01-04 09:54:43 +01:00
Kim Alvefur
dbec07d149 Fix translation of AnnouncementForm
Form translation things must use lazy_gettext aka _l
2024-01-04 09:53:03 +01:00
Weblate
ebf142b505 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2024-01-03 16:12:45 +00:00
Matthew Wild
0539d0ab88 translation: Update copyright year to satisfy lint check 2024-01-03 16:12:28 +00:00
Jonas Schäfer
2736bff76b Translated using Weblate (German)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/de/
2024-01-03 16:08:48 +00:00
Dmytro Vozniuk
192601f387 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/uk/
2023-12-25 16:00:58 +00:00
Dmytro Vozniuk
bc9cfeabab Translated using Weblate (Russian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2023-12-25 16:00:53 +00:00
Dmytro Vozniuk
b770086071 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/uk/
2023-12-24 04:00:53 +00:00
Dmytro Vozniuk
b2c1fdd23b Translated using Weblate (Russian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2023-12-24 04:00:52 +00:00
Dmytro Vozniuk
906978556e Translated using Weblate (Ukrainian)
Currently translated at 79.2% (286 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/uk/
2023-12-19 13:00:48 +00:00
riccio
274c8e4658 Translated using Weblate (Italian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/it/
2023-12-19 13:00:48 +00:00
Dmytro Vozniuk
257a44dac2 Translated using Weblate (Ukrainian)
Currently translated at 29.6% (107 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/uk/
2023-12-17 22:49:22 +00:00
Roberto Resoli
f393a3980b Translated using Weblate (Italian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/it/
2023-12-17 22:49:22 +00:00
riccio
badff7eed8 Translated using Weblate (Italian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/it/
2023-12-17 22:49:22 +00:00
Andrey
384e07c2a9 Translated using Weblate (Russian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2023-12-17 22:49:21 +00:00
pep
89724a9712 Translated using Weblate (French)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/fr/
2023-12-17 22:49:21 +00:00
misiek
94f4325f40 Translated using Weblate (Polish)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/pl/
2023-12-17 22:49:21 +00:00
Matthew Wild
af1285b650 Translated using Weblate (Russian)
Currently translated at 99.4% (359 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2023-12-16 14:41:14 +00:00
Andrey
52eba53d8e Translated using Weblate (Russian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/ru/
2023-12-16 08:38:56 +00:00
pep
94f240687a Translated using Weblate (French)
Currently translated at 99.7% (360 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/fr/
2023-12-16 08:38:56 +00:00
misiek
1b2bdfa881 Translated using Weblate (Polish)
Currently translated at 93.0% (336 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/pl/
2023-12-16 08:38:56 +00:00
Kim Alvefur
271f450c86 Translated using Weblate (Swedish)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/sv/
2023-12-16 00:19:29 +00:00
Deleted User
6186e8b635 Translated using Weblate (French)
Currently translated at 99.7% (360 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/fr/
2023-12-16 00:19:29 +00:00
pep
dfc6c392c3 Translated using Weblate (French)
Currently translated at 99.7% (360 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/fr/
2023-12-16 00:19:28 +00:00
uira
0ec9a2ae02 Translated using Weblate (Indonesian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/id/
2023-12-15 16:11:00 +00:00
Weblate
09fcf64818 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2023-12-15 15:05:45 +00:00
Kim Alvefur
c25db5c3ae Translated using Weblate (Swedish)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/sv/
2023-12-15 15:05:44 +00:00
Deleted User
c85fff7581 Translated using Weblate (French)
Currently translated at 99.7% (360 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/fr/
2023-12-15 15:05:44 +00:00
Link Mauve
039f4b8210 Translated using Weblate (French)
Currently translated at 99.7% (360 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/fr/
2023-12-15 15:05:44 +00:00
uira
7be7ee67c2 Translated using Weblate (Indonesian)
Currently translated at 93.0% (336 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/id/
2023-12-15 15:05:44 +00:00
Jonas Schäfer
6f5fc14dbc Translated using Weblate (German)
Currently translated at 100.0% (361 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/de/
2023-12-15 15:05:44 +00:00
Matthew Wild
65edd3a52b Merge pull request #169 from snikket-im/feature/tweak-user-profile-display
Tweak user profile display
2023-12-15 15:05:36 +00:00
Matthew Wild
ab7149403a Update translations pot (no actual string changes) 2023-12-15 15:04:46 +00:00
Matthew Wild
5b2f3db867 Update user listing in 'edit circle' view to use new user profile layout 2023-12-15 15:00:13 +00:00
Matthew Wild
e12941eab0 Improve user name/JID display
Show the display name more prominently (if one is set), as it is more
"friendly" name. The JID is now displayed instead of just the username, as
this makes it more clear what is being displayed.

The inspiration for this change was the observation that many users on my own
server have the same display name and username, causing a repetitive list
like:

  Jane
  jane

  Robert
  robert

  Sally
  sally

  Steven
  steven

In addition, some accounts do not have a display name set, so it was not
obvious why some people had their name rendered once, and some twice, and why
the capitalization differences.
2023-12-15 14:41:17 +00:00
Andriy Utkin
eda3f4826c Translated using Weblate (Ukrainian)
Currently translated at 6.0% (22 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/uk/
2023-12-15 11:56:32 +00:00
pep
61161eb472 Translated using Weblate (French)
Currently translated at 96.9% (350 of 361 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/fr/
2023-12-15 11:56:31 +00:00
Matthew Wild
325826c19b Merge pull request #168 from snikket-im/fix/rc2-runtime-errors
Fix a couple of runtime errors
2023-12-14 15:35:04 +00:00
Matthew Wild
587839f852 Added translation using Weblate (Ukrainian) 2023-12-14 13:11:43 +00:00
43 changed files with 7859 additions and 3254 deletions

View File

@@ -66,10 +66,10 @@ jobs:
pip install flask-babel
- name: Linting
run: |
sed -ri '/^"POT-Creation-Date: /d' snikket_web/translations/messages.pot
sed -ri '/^"POT-Creation-Date: /d;/^"Generated-By: /d' snikket_web/translations/messages.pot
git add snikket_web/translations/messages.pot
make extract_translations
sed -ri '/^"POT-Creation-Date: /d' snikket_web/translations/messages.pot
sed -ri '/^"POT-Creation-Date: /d;/^"Generated-By: /d' snikket_web/translations/messages.pot
git diff --exit-code --color -- snikket_web/translations/messages.pot

View File

@@ -1,9 +1,10 @@
aiohttp~=3.6
quart~=0.17,<0.18
flask-wtf~=1.0
aiohttp~=3.8,<3.9
quart~=0.18,<0.19
flask-wtf~=1.1,<1.2
hsluv~=5.0
flask-babel~=1.0
email-validator~=1.1
flask-babel~=2.0,<3
email-validator~=1.3
environ-config~=20.0
wtforms~=3.0
wtforms~=3.0,<4
typing-extensions
werkzeug~=2.2,<3

View File

@@ -158,7 +158,9 @@ class AppConfig:
"id",
"it",
"pl",
"ru",
"sv",
"uk",
"zh_Hans_CN",
], converter=autosplit)
apple_store_url = environ.var(
@@ -210,6 +212,8 @@ def create_app() -> quart.Quart:
app.config["PRIVACY_URI"] = config.privacy_uri
app.config["ABUSE_EMAIL"] = config.abuse_email
app.config["SECURITY_EMAIL"] = config.security_email
app.config["SESSION_COOKIE_SECURE"] = True
app.config["SESSION_COOKIE_SAMESITE"] = "Lax"
app.context_processor(proc)
app.register_error_handler(

View File

@@ -76,10 +76,11 @@ class EditUserForm(BaseForm):
role = wtforms.RadioField(
_l("Access Level"),
choices=[
("prosody:restricted", _("Limited")),
("prosody:restricted", _l("Limited")),
("prosody:registered", _l("Normal user")),
("prosody:admin", _l("Administrator")),
],
default="prosody:registered",
)
action_save = wtforms.SubmitField(
@@ -290,6 +291,16 @@ class InvitePost(BaseForm):
default="account",
)
role = wtforms.RadioField(
_l("Access Level"),
choices=[
("prosody:restricted", _l("Limited")),
("prosody:registered", _l("Normal user")),
("prosody:admin", _l("Administrator")),
],
default="prosody:registered",
)
action_create_invite = wtforms.SubmitField(
_l("New invitation link")
)
@@ -369,11 +380,13 @@ async def create_invite() -> typing.Union[str, werkzeug.Response]:
if form.type_.data == "group":
invite = await client.create_group_invite(
group_ids=form.circles.data,
role_names=[form.role.data],
ttl=form.lifetime.data,
)
else:
invite = await client.create_account_invite(
group_ids=form.circles.data,
role_names=[form.role.data],
ttl=form.lifetime.data,
)
await flash(
@@ -733,21 +746,21 @@ def get_system_stats() -> typing.MutableMapping[
class AnnouncementForm(BaseForm):
text = wtforms.StringField(
_("Message contents"),
_l("Message contents"),
widget=wtforms.widgets.TextArea(),
validators=[wtforms.validators.DataRequired()],
)
online_only = wtforms.BooleanField(
_("Only send to online users"),
_l("Only send to online users"),
)
action_post_all = wtforms.SubmitField(
_("Post to all users"),
_l("Post to all users"),
)
action_send_preview = wtforms.SubmitField(
_("Send preview to yourself"),
_l("Send preview to yourself"),
)
@@ -812,6 +825,11 @@ async def system() -> typing.Union[str, werkzeug.Response]:
except KeyError:
pass
try:
metrics["users"] = prosody_metrics["users"]
except KeyError:
pass
for k in list(metrics.keys()):
if metrics[k] is None:
# so that defaulting in jinja works

View File

@@ -116,6 +116,10 @@ class RegisterForm(BaseForm):
password = wtforms.PasswordField(
_l("Password"),
validators=[
wtforms.validators.InputRequired(),
wtforms.validators.Length(min=10),
],
)
password_confirm = wtforms.PasswordField(
@@ -184,6 +188,10 @@ async def register(id_: str) -> typing.Union[str, werkzeug.Response]:
class ResetForm(BaseForm):
password = wtforms.PasswordField(
_l("Password"),
validators=[
wtforms.validators.InputRequired(),
wtforms.validators.Length(min=10),
],
)
password_confirm = wtforms.PasswordField(

View File

@@ -29,6 +29,7 @@ from . import xmpputil
from .xmpputil import split_jid
SCOPE_RESTRICTED = "prosody:restricted"
SCOPE_DEFAULT = "prosody:registered"
SCOPE_ADMIN = "prosody:admin"
@@ -119,6 +120,14 @@ class AdminUserInfo:
roles.extend(data.get("secondary_roles", []))
except KeyError:
roles = data.get("roles")
avatar_info: typing.List[AvatarMetadata] = []
for avatar in data.get("avatar_info", []):
# Ignore somehow broken avatars.
try:
avatar_metadata = AvatarMetadata.from_api_response(avatar)
avatar_info.append(avatar_metadata)
except KeyError:
pass
return cls(
localpart=data["username"],
display_name=data.get("display_name") or None,
@@ -130,10 +139,7 @@ class AdminUserInfo:
deletion_request=UserDeletionRequestInfo.from_api_response(
data.get("deletion_request")
),
avatar_info=[
AvatarMetadata.from_api_response(avatar_info)
for avatar_info in data.get("avatar_info", [])
],
avatar_info=avatar_info,
)
@@ -154,6 +160,7 @@ class AdminInviteInfo:
expires: datetime
reusable: bool
group_ids: typing.Collection[str]
role_names: typing.Collection[str]
is_reset: bool
@classmethod
@@ -171,6 +178,7 @@ class AdminInviteInfo:
xmpp_uri=data.get("xmpp_uri"),
landing_page=data.get("landing_page"),
group_ids=data.get("groups", []),
role_names=data.get("roles", []),
reusable=data["reusable"],
is_reset=data.get("reset", False),
)
@@ -399,7 +407,7 @@ class ProsodyClient:
request.add_field("password", password)
request.add_field(
"scope",
" ".join([SCOPE_DEFAULT, SCOPE_ADMIN])
" ".join([SCOPE_RESTRICTED, SCOPE_DEFAULT, SCOPE_ADMIN])
)
self.logger.debug("sending OAuth2 request (payload omitted)")
@@ -908,7 +916,7 @@ class ProsodyClient:
self.session_address,
current_password,
)
await self._xml_iq_call(
password_changed = await self._xml_iq_call(
session,
xmpputil.make_password_change_request(
self.session_address,
@@ -919,7 +927,7 @@ class ProsodyClient:
},
sensitive=True,
)
# TODO: error handling
xmpputil.extract_iq_reply(password_changed)
# TODO: obtain a new token using the new password to allow the
# server to expire/revoke all tokens on password change.
self._store_token_in_session(token_info)
@@ -1080,12 +1088,14 @@ class ProsodyClient:
self,
*,
group_ids: typing.Collection[str] = [],
role_names: typing.Collection[str] = [],
restrict_username: typing.Optional[str] = None,
ttl: typing.Optional[int] = None,
session: aiohttp.ClientSession,
) -> AdminInviteInfo:
payload: typing.Dict[str, typing.Any] = {}
payload["groups"] = list(group_ids)
payload["roles"] = list(role_names)
if restrict_username is not None:
payload["username"] = restrict_username
if ttl is not None:
@@ -1102,11 +1112,13 @@ class ProsodyClient:
self,
*,
group_ids: typing.Collection[str] = [],
role_names: typing.Collection[str] = [],
ttl: typing.Optional[int] = None,
session: aiohttp.ClientSession,
) -> AdminInviteInfo:
payload: typing.Dict[str, typing.Any] = {
"groups": list(group_ids),
"roles": list(role_names),
}
if ttl is not None:
payload["ttl"] = ttl

View File

@@ -259,6 +259,13 @@ div.form.layout-expanded {
margin: 0;
}
fieldset.descriptive-radio-selection {
p {
margin-top: 0;
margin-bottom: $w-s2;
}
}
input[type="radio"] + label, input[type="checkbox"] + label {
font-weight: inherit;
color: inherit;
@@ -363,6 +370,10 @@ div.form.layout-expanded {
margin-left: 0.25em;
}
.radio-button-ext {
margin-left: 0.5rem;
}
div.select-wrap {
display: block;
border-bottom: $w-s4 solid $primary-500;
@@ -1304,4 +1315,11 @@ pre.guru-meditation {
margin-left: 0.5em;
}
.user-display-name {
font-size: 110%;
}
.user-jid {
font-size: 90%;
}
}

View File

@@ -148,6 +148,11 @@ licensed under the terms of the Apache 2.0 License -->
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V18c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-1.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05.02.01.03.03.04.04 1.14.83 1.93 1.94 1.93 3.41V18c0 .35-.07.69-.18 1H22c.55 0 1-.45 1-1v-1.5c0-2.33-4.67-3.5-7-3.5z" />
</symbol>
<!-- from: social/person/materialiconsround/24px.svg -->
<symbol id="icon-person" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v1c0 .55.45 1 1 1h14c.55 0 1-.45 1-1v-1c0-2.66-5.33-4-8-4z" />
</symbol>
<!-- from: social/group_add/materialiconsround/24px.svg -->
<symbol id="icon-create_group" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,19 +1,57 @@
{% from "library.j2" import form_button, render_errors %}
{% from "library.j2" import form_button,
render_errors,
access_level_description, access_level_icon,
invite_type_description, invite_type_icon
%}
<form method="POST" action="{{ url_for(".create_invite") }}">
{{- invite_form.csrf_token -}}
<div class="form layout-expanded">
<h2 class="form-title">{% trans %}Create new invitation{% endtrans %}</h2>
<p class="form-descr weak">{% trans %}Create a new invitation link to invite more users to your Snikket service by clicking the button below.{% endtrans %}</p>
<!-- Invitation type -->
<div class="f-ebox">
<fieldset>{#- -#}
<fieldset class="descriptive-radio-selection">{#- -#}
<legend>{{ invite_form.type_.label.text }}</legend>
{{- invite_form.type_ -}}
<p>{% trans %}Choose whether this invitation link will allow more than one person to join.{% endtrans %}</p>
{%- for invite_type in invite_form.type_ -%}
<div class="radio-button-ext">
{{ invite_type }}<label for="{{ invite_type.id }}">
{%- trans title=invite_type.label.text, icon=invite_type_icon(invite_type.data), description=invite_type_description(invite_type.data) -%}
<span class="invite-type">{{ title }}{{ icon }}</span><p>{{ description }}</p>
{%- endtrans -%}
</label>
</div>
{%- endfor -%}
</fieldset>
</div>
<!-- Access level -->
<div class="f-ebox">
<fieldset class="descriptive-radio-selection">{#- -#}
<legend>{{ invite_form.role.label.text }}</legend>
<p>{% trans %}The access level of a user determines what interactions are allowed for them on your Snikket service.{% endtrans %}</p>
{%- for level in invite_form.role -%}
<div class="radio-button-ext">
{{ level }}<label for="{{ level.id }}">
{%- trans title=level.label.text, icon=access_level_icon(level.data), description=access_level_description(level.data) -%}
<span class="access-level">{{ title }}{{ icon }}</span><p>{{ description }}</p>
{%- endtrans -%}
</label>
</div>
{%- endfor -%}
</fieldset>
</div>
<!-- Valid for -->
<div class="f-ebox">
{{ invite_form.lifetime.label }}
<div class="select-wrap">{{ invite_form.lifetime }}</div>
</div>
<!-- Invite to circle -->
<div class="f-ebox">
{#
NOTE: This is for when/if we ever support multi-group invites.
@@ -27,6 +65,7 @@
<div class="select-wrap">{{ invite_form.circles }}</div>
{%- call render_errors(invite_form.circles) -%}{%- endcall -%}
</div>
<div class="f-bbox">
{%- call form_button("create_link", invite_form.action_create_invite, class="primary") %}{% endcall -%}
</div>

View File

@@ -1,5 +1,5 @@
{% extends "admin_app.html" %}
{% from "library.j2" import form_button, standard_button, value_or_hint, custom_form_button, clipboard_button, icon %}
{% from "library.j2" import form_button, standard_button, value_or_hint, custom_form_button, clipboard_button, icon, render_user with context %}
{% block head_lead %}
{{ super() }}
{% include "copy-snippet.html" %}
@@ -47,7 +47,7 @@
<tbody>
{%- for chat in circle_chats -%}
<tr>
<td class="collapsible">{% call value_or_hint(chat.name) %}{% endcall %}</td>
<td>{% call value_or_hint(chat.name) %}{% endcall %}</td>
<td class="nowrap">
{%- call custom_form_button("delete", form.action_remove_group_chat.name, chat.id_, class="primary danger", slim=True) -%}
{% trans name=chat.name %}Delete group chat '{{ name }}'{% endtrans %}
@@ -71,7 +71,6 @@
<div class="el-2 elevated"><table>
<thead>
<th>{% trans %}Login name{% endtrans %}</th>
<th class="collapsible">{% trans %}Display name{% endtrans %}</th>
<th>{% trans %}Actions{% endtrans %}</th>
</thead>
<tbody>
@@ -79,13 +78,12 @@
<tr>
<td>
{%- if member -%}
{{ localpart }}
{%- call render_user(member) -%}{%- endcall -%}
{%- else -%}
{{ localpart }}
<span class="with-tooltip above" data-tooltip="{% trans %}The user has been deleted from the server.{% endtrans %}"><em> ({% trans %}deleted{% endtrans %})</em></span>
{%- endif -%}
</td>
<td class="collapsible">{% call value_or_hint(member.display_name) %}{% endcall %}</td>
<td class="nowrap">
{%- call custom_form_button("remove_user", form.action_remove_user.name, member.localpart, class="primary danger", slim=True) -%}
{% trans username=member.localpart %}Remove user {{ username }} from circle{% endtrans %}

View File

@@ -1,21 +1,5 @@
{% extends "admin_app.html" %}
{% from "library.j2" import box, form_button, standard_button, icon %}
{% macro access_level_description(role, caller=None) %}
{%- if role == "prosody:restricted" -%}
{% trans %}Limited users can interact with users on the same Snikket service and be members of circles.{% endtrans %}
{%- elif role == "prosody:registered" -%}
{% trans %}Like limited users and can also interact with users on other Snikket services.{% endtrans %}
{%- elif role == "prosody:admin" -%}
{% trans %}Like normal users and can access the admin panel in the web portal.{% endtrans %}
{%- endif -%}
{% endmacro %}
{% macro access_level_icon(role, caller=None) %}
{%- if role == "prosody:restricted" -%}
{% call icon("lock") %}{% endcall %}
{%- elif role == "prosody:admin" -%}
{% call icon("admin") %}{% endcall %}
{%- endif -%}
{% endmacro %}
{% from "library.j2" import box, form_button, standard_button, icon, access_level_description, access_level_icon %}
{% block content %}
<h1>{% trans user_name=target_user.localpart %}Edit user {{ user_name }}{% endtrans %}</h1>
<form method="POST">{{ form.csrf_token }}<div class="form layout-expanded">

View File

@@ -76,13 +76,20 @@
<em>{% trans %}unknown{% endtrans %}</em>
{%- endif -%}
</dd>
<dt>{% trans %}Connected devices{% endtrans %}</dt>
<dt>{% trans %}Active users{% endtrans %}</dt>
<dd>
<ul>
{%- if metrics.prosody_devices | default(None) is not none -%}
{{ metrics.prosody_devices }}
<li>{% trans %}Connected now:{% endtrans %} {{ metrics.prosody_devices }}</li>
{%- else -%}
<em>{% trans %}unknown{% endtrans %}</em>
<li><em>{% trans %}unknown{% endtrans %}</em></li>
{%- endif -%}
{%- if metrics.users | default(None) is not none -%}
<li>{% trans %}Past 24 hours:{% endtrans %} {{ metrics.users.active_1d }}</li>
<li>{% trans %}Past 7 days:{% endtrans %} {{ metrics.users.active_7d }}</li>
<li>{% trans %}Past 30 days:{% endtrans %} {{ metrics.users.active_30d }}</li>
{%- endif -%}
</ul>
</dd>
</dl>
</div>

View File

@@ -27,7 +27,6 @@
{%- call action_button("edit", url_for(".edit_user", localpart=user.localpart), class="primary") -%}
{% trans user_name=user.localpart %}Edit user {{ user_name }}{% endtrans %}
{%- endcall -%}
</form>
</td>
</tr>
{% endfor %}

View File

@@ -25,10 +25,10 @@
{%- endif -%}
</div>
<div class="user-info-container">
<div class="user-localpart">{{- user.localpart -}}</div>
{%- if user.display_name %}
<div class="user-display-name">{{- user.display_name -}}</div>
{%- endif %}
<div class="user-jid"><span class="user-jid-localpart">{{- user.localpart -}}</span><span class="user-jid-at">@</span><span class="user-jid-domain">{{- config["SNIKKET_DOMAIN"] -}}</span></div>
</div>
</div>
{%- endmacro -%}
@@ -147,3 +147,37 @@
{% trans %}Can be used once to create an account on this Snikket service.{% endtrans %}
{%- endif -%}
{%- endmacro -%}
{% macro access_level_description(role, caller=None) %}
{%- if role == "prosody:restricted" -%}
{% trans %}Limited users can interact with users on the same Snikket service and be members of circles.{% endtrans %}
{%- elif role == "prosody:registered" -%}
{% trans %}Like limited users and can also interact with users on other Snikket services.{% endtrans %}
{%- elif role == "prosody:admin" -%}
{% trans %}Like normal users and can access the admin panel in the web portal.{% endtrans %}
{%- endif -%}
{% endmacro %}
{% macro access_level_icon(role, caller=None) %}
{%- if role == "prosody:restricted" -%}
{% call icon("lock") %}{% endcall %}
{%- elif role == "prosody:admin" -%}
{% call icon("admin") %}{% endcall %}
{%- endif -%}
{% endmacro %}
{% macro invite_type_description(invite_type, caller=None) %}
{%- if invite_type == "account" -%}
{% trans %}Invite a single person (invitation link can only be used once).{% endtrans %}
{%- elif invite_type == "group" -%}
{% trans %}Invite a group of people (invitation link can be used multiple times).{% endtrans %}
{%- endif -%}
{% endmacro %}
{% macro invite_type_icon(invite_type, caller=None) %}
{%- if invite_type == "account" -%}
{% call icon("person") %}{% endcall %}
{%- elif invite_type == "group" -%}
{% call icon("people") %}{% endcall %}
{%- endif -%}
{% endmacro %}

View File

@@ -30,7 +30,7 @@
<div class="f-bbox">
{%- call form_button("login", form.action_signin, class="primary") -%}{% endcall -%}
</div>
</from>
</form>
<script type="text/javascript">
var domainCheck = function() {
var form = document.getElementById("login-form");

View File

@@ -6,8 +6,13 @@
{% include "copy-snippet.html" %}
{% endblock %}
{% block content %}
<h1>{% trans %}Welcome!{% endtrans %}</h1>
<p>{% trans user_name=user_info.display_name %}Welcome home, {{ user_name }}.{% endtrans %}</p>
{% if user_info.is_admin and metrics.users and metrics.users.active_1d <= 1 %}
<aside class="box hint">
<header>{% trans %}Welcome to Snikket!{% endtrans %}</header>
<p>{% trans %}Now your Snikket instance is up and running, the next step is to invite people to join it. Family, friends, colleagues... you choose!{% endtrans %}</p>
<a href="/admin/invitations">{% trans %}Create new invitation{% endtrans %}</a>
</aside>
{% endif %}
<nav class="welcome">
<ul>
<li class="wide">

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-12-12 18:22+0000\n"
"POT-Creation-Date: 2024-04-27 14:22+0200\n"
"PO-Revision-Date: 2022-05-30 14:01+0000\n"
"Last-Translator: Daniel Holmgaard <fovatis@tutanota.com>\n"
"Language-Team: Danish <http://i18n.sotecware.net/projects/snikket/web-portal/"
@@ -26,241 +26,242 @@ msgid "Login name"
msgstr "Login-navn"
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:74 snikket_web/user.py:63
#: snikket_web/user.py:69
msgid "Display name"
msgstr "Kaldenavn"
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:53
#: snikket_web/admin.py:77 snikket_web/admin.py:295
#: snikket_web/templates/admin_edit_user.html:37
msgid "Access Level"
msgstr "Adgangsniveau"
#: snikket_web/admin.py:79
#: snikket_web/admin.py:79 snikket_web/admin.py:297
msgid "Limited"
msgstr "Begrænset"
#: snikket_web/admin.py:80
#: snikket_web/admin.py:80 snikket_web/admin.py:298
msgid "Normal user"
msgstr "Normal bruger"
#: snikket_web/admin.py:81
#: snikket_web/admin.py:81 snikket_web/admin.py:299
msgid "Administrator"
msgstr "Administrator"
#: snikket_web/admin.py:86
#: snikket_web/admin.py:87
msgid "Update user"
msgstr "Opdater bruger"
#: snikket_web/admin.py:90
#: snikket_web/admin.py:91
#, fuzzy
#| msgid "Create account"
msgid "Restore account"
msgstr "Opret konto"
#: snikket_web/admin.py:94
#: snikket_web/admin.py:95
#, fuzzy
#| msgid "Your account"
msgid "Unlock account"
msgstr "Din konto"
#: snikket_web/admin.py:98
#: snikket_web/admin.py:99
msgid "Create password reset link"
msgstr "Opret link til nulstilling af adgangskode"
#: snikket_web/admin.py:116
#: snikket_web/admin.py:117
msgid "Password reset link created"
msgstr "Link til nulstilling af adgangskode oprettet"
#: snikket_web/admin.py:128
#: snikket_web/admin.py:129
msgid "User account restored"
msgstr ""
#: snikket_web/admin.py:133
#: snikket_web/admin.py:134
msgid "User account unlocked"
msgstr ""
#: snikket_web/admin.py:140
#: snikket_web/admin.py:141
msgid "Could not restore user account"
msgstr ""
#: snikket_web/admin.py:145
#: snikket_web/admin.py:146
msgid "Could not unlock user account"
msgstr ""
#: snikket_web/admin.py:157
#: snikket_web/admin.py:158
msgid "User information updated."
msgstr "Brugerinformation opdateret."
#: snikket_web/admin.py:179
#: snikket_web/admin.py:180
msgid "Delete user permanently"
msgstr "Slet bruger permanent"
#: snikket_web/admin.py:192
#: snikket_web/admin.py:193
msgid "User deleted"
msgstr "Bruger slettet"
#: snikket_web/admin.py:230
#: snikket_web/admin.py:231
msgid "Password reset link not found"
msgstr "Link til nulstilling af adgangskode ikke fundet"
#: snikket_web/admin.py:242
#: snikket_web/admin.py:243
msgid "Password reset link deleted"
msgstr "Link til nulstilling af adgangskode slettet"
#: snikket_web/admin.py:262
#: snikket_web/admin.py:263
msgid "Invite to circle"
msgstr "Inviter til cirkel"
#: snikket_web/admin.py:268
#: snikket_web/admin.py:269
msgid "At least one circle must be selected"
msgstr "Mindst en cirkel skal vælges"
#: snikket_web/admin.py:273
#: snikket_web/admin.py:274
msgid "Valid for"
msgstr "Gyldig for"
#: snikket_web/admin.py:275
#: snikket_web/admin.py:276
msgid "One hour"
msgstr "En time"
#: snikket_web/admin.py:276
#: snikket_web/admin.py:277
msgid "Twelve hours"
msgstr "Tolv timer"
#: snikket_web/admin.py:277
#: snikket_web/admin.py:278
msgid "One day"
msgstr "En dag"
#: snikket_web/admin.py:278
#: snikket_web/admin.py:279
msgid "One week"
msgstr "En uge"
#: snikket_web/admin.py:279
#: snikket_web/admin.py:280
msgid "Four weeks"
msgstr "Fire uger"
#: snikket_web/admin.py:285 snikket_web/templates/admin_edit_invite.html:17
#: snikket_web/admin.py:286 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr "Invitationstype"
#: snikket_web/admin.py:287 snikket_web/templates/library.j2:139
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:139
msgid "Individual"
msgstr "Individuel"
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:137
#: snikket_web/admin.py:289 snikket_web/templates/library.j2:137
msgid "Group"
msgstr "Gruppe"
#: snikket_web/admin.py:294
#: snikket_web/admin.py:305
msgid "New invitation link"
msgstr "Ny invitationslink"
#: snikket_web/admin.py:356
#: snikket_web/admin.py:367
msgid "Revoke"
msgstr "Tilbagekald"
#: snikket_web/admin.py:380
#: snikket_web/admin.py:393
msgid "Invitation created"
msgstr "Invitation oprettet"
#: snikket_web/admin.py:396
#: snikket_web/admin.py:409
msgid "No such invitation exists"
msgstr "Denne invitation findes ikke"
#: snikket_web/admin.py:411
#: snikket_web/admin.py:424
msgid "Invitation revoked"
msgstr "Invitation tilbagekaldt"
#: snikket_web/admin.py:428 snikket_web/admin.py:476
#: snikket_web/admin.py:441 snikket_web/admin.py:489
#: snikket_web/templates/admin_delete_circle.html:10
#: snikket_web/templates/admin_edit_circle.html:44
msgid "Name"
msgstr "Navn"
#: snikket_web/admin.py:433 snikket_web/templates/admin_circles.html:47
#: snikket_web/admin.py:446 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Opret cirkel"
#: snikket_web/admin.py:463
#: snikket_web/admin.py:476
msgid "Circle created"
msgstr "Cirkel oprettet"
#: snikket_web/admin.py:481
#: snikket_web/admin.py:494
msgid "Select user"
msgstr "Vælg bruger"
#: snikket_web/admin.py:486
#: snikket_web/admin.py:499
msgid "Update circle"
msgstr "Opdater cirkel"
#: snikket_web/admin.py:492
#: snikket_web/admin.py:505
msgid "Add user"
msgstr "Tilføj bruger"
#: snikket_web/admin.py:510 snikket_web/admin.py:609 snikket_web/admin.py:657
#: snikket_web/admin.py:523 snikket_web/admin.py:622 snikket_web/admin.py:670
msgid "No such circle exists"
msgstr "Denne cirkel findes ikke"
#: snikket_web/admin.py:547
#: snikket_web/admin.py:560
msgid "Circle data updated"
msgstr "Cirkel-data opdateret"
#: snikket_web/admin.py:557
#: snikket_web/admin.py:570
msgid "User added to circle"
msgstr "Bruger tilføjet til cirkel"
#: snikket_web/admin.py:566
#: snikket_web/admin.py:579
msgid "User removed from circle"
msgstr "Bruger fjernet fra cirkel"
#: snikket_web/admin.py:575
#: snikket_web/admin.py:588
#, fuzzy
#| msgid "User removed from circle"
msgid "Chat removed from circle"
msgstr "Bruger fjernet fra cirkel"
#: snikket_web/admin.py:593
#: snikket_web/admin.py:606
msgid "Delete circle permanently"
msgstr "Slet cirkel permanent"
#: snikket_web/admin.py:620
#: snikket_web/admin.py:633
msgid "Circle deleted"
msgstr "Cirkel slettet"
#: snikket_web/admin.py:634
#: snikket_web/admin.py:647
#, fuzzy
#| msgid "Group chat address"
msgid "Group chat name"
msgstr "Gruppechat adresse"
#: snikket_web/admin.py:639
#: snikket_web/admin.py:652
#, fuzzy
#| msgid "Create account"
msgid "Create group chat"
msgstr "Opret konto"
#: snikket_web/admin.py:669
#: snikket_web/admin.py:682
#, fuzzy
#| msgid "User added to circle"
msgid "New group chat added to circle"
msgstr "Bruger tilføjet til cirkel"
#: snikket_web/admin.py:736
#: snikket_web/admin.py:749
msgid "Message contents"
msgstr "Meddelelsens indhold"
#: snikket_web/admin.py:742
#: snikket_web/admin.py:755
msgid "Only send to online users"
msgstr "Send kun til online brugere"
#: snikket_web/admin.py:746
#: snikket_web/admin.py:759
msgid "Post to all users"
msgstr "Send til alle brugere"
#: snikket_web/admin.py:750
#: snikket_web/admin.py:763
msgid "Send preview to yourself"
msgstr "Send forhåndsvisning til dig selv"
#: snikket_web/admin.py:772
#: snikket_web/admin.py:785
msgid "Announcement sent!"
msgstr "Bekendgørelse sendt!"
@@ -297,48 +298,48 @@ msgstr ""
msgid "Username"
msgstr "Brugernavn"
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
#: snikket_web/invite.py:118 snikket_web/invite.py:190 snikket_web/main.py:43
msgid "Password"
msgstr "Adgangskode"
#: snikket_web/invite.py:122 snikket_web/invite.py:190
#: snikket_web/invite.py:126 snikket_web/invite.py:198
msgid "Confirm password"
msgstr "Bekræft adgangskode"
#: snikket_web/invite.py:126 snikket_web/invite.py:194
#: snikket_web/invite.py:130 snikket_web/invite.py:202
msgid "The passwords must match."
msgstr "Adgangskoderne skal matche."
#: snikket_web/invite.py:131
#: snikket_web/invite.py:135
msgid "Create account"
msgstr "Opret konto"
#: snikket_web/invite.py:158
#: snikket_web/invite.py:162
msgid "That username is already taken."
msgstr "Det brugernavn er allerede taget."
#: snikket_web/invite.py:162 snikket_web/invite.py:227
#: snikket_web/invite.py:166 snikket_web/invite.py:235
msgid "Registration was declined for unknown reasons."
msgstr "Registrering blev afvist af ukendte årsager."
#: snikket_web/invite.py:166
#: snikket_web/invite.py:170
msgid "The username is not valid."
msgstr "Brugernavnet er ikke gyldigt."
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
#: snikket_web/invite.py:207 snikket_web/templates/user_home.html:37
#: snikket_web/templates/user_passwd.html:29
msgid "Change password"
msgstr "Ændr adgangskode"
#: snikket_web/invite.py:246
#: snikket_web/invite.py:254
msgid "Account data file"
msgstr "Kontodatafil"
#: snikket_web/invite.py:250
#: snikket_web/invite.py:258
msgid "Import data"
msgstr "Importer data"
#: snikket_web/invite.py:271
#: snikket_web/invite.py:279
#, python-format
msgid ""
"The account data you tried to import is in an unknown format. Please upload "
@@ -347,8 +348,8 @@ msgstr ""
"De kontodata, du forsøgte at importere, er i et ukendt format. Upload en XML-"
"fil i XEP-0227-format (forudsat format: %(mimetype)s)."
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
#: snikket_web/invite.py:299 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:189
msgid "Error"
msgstr "Fejl"
@@ -376,59 +377,59 @@ msgstr "Nuværende adgangskode"
msgid "New password"
msgstr "Ny adgangskode"
#: snikket_web/user.py:39
#: snikket_web/user.py:42
msgid "Confirm new password"
msgstr "Bekræft ny adgangskode"
#: snikket_web/user.py:43
#: snikket_web/user.py:47
msgid "The new passwords must match."
msgstr "Den nye adgangskode skal matche."
#: snikket_web/user.py:50
#: snikket_web/user.py:56
msgid "Sign out"
msgstr "Log ud"
#: snikket_web/user.py:55
#: snikket_web/user.py:61
msgid "Nobody"
msgstr "Ingen"
#: snikket_web/user.py:56
#: snikket_web/user.py:62
msgid "Friends only"
msgstr "Kun venner"
#: snikket_web/user.py:57
#: snikket_web/user.py:63
msgid "Everyone"
msgstr "Alle"
#: snikket_web/user.py:67
#: snikket_web/user.py:73
msgid "Avatar"
msgstr "Avatar"
#: snikket_web/user.py:71
#: snikket_web/user.py:77
msgid "Profile visibility"
msgstr "Profilsynlighed"
#: snikket_web/user.py:76
#: snikket_web/user.py:82
msgid "Update profile"
msgstr "Opdater profil"
#: snikket_web/user.py:82
#: snikket_web/user.py:88
msgid "Account data"
msgstr "Kontodata"
#: snikket_web/user.py:86
#: snikket_web/user.py:92
msgid "Upload"
msgstr "Upload"
#: snikket_web/user.py:111
#: snikket_web/user.py:122
msgid "Incorrect password."
msgstr "Forkert adgangskode."
#: snikket_web/user.py:115
#: snikket_web/user.py:126
msgid "Password changed"
msgstr "Adgangskode ændret"
#: snikket_web/user.py:123
#: snikket_web/user.py:134
msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app."
@@ -436,15 +437,15 @@ msgstr ""
"Den valgte avatar er for stor. For at kunne uploade større avatarer skal du "
"bruge appen."
#: snikket_web/user.py:170
#: snikket_web/user.py:181
msgid "Profile updated"
msgstr "Profil opdateret"
#: snikket_web/user.py:184
#: snikket_web/user.py:195
msgid "Export"
msgstr "Exporter"
#: snikket_web/user.py:202
#: snikket_web/user.py:213
msgid "You currently have no account data to export."
msgstr "Du har i øjeblikket ingen kontodata at eksportere."
@@ -591,7 +592,7 @@ msgstr "Medlemmer"
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_edit_circle.html:45
#: snikket_web/templates/admin_edit_circle.html:75
#: snikket_web/templates/admin_edit_circle.html:74
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:10
msgid "Actions"
@@ -654,11 +655,12 @@ msgstr ""
msgid "Create invitation"
msgstr "Opret invitation"
#: snikket_web/templates/admin_create_invite_form.html:5
#: snikket_web/templates/admin_create_invite_form.html:9
#: snikket_web/templates/user_home.html:13
msgid "Create new invitation"
msgstr "Opret ny invitation"
#: snikket_web/templates/admin_create_invite_form.html:6
#: snikket_web/templates/admin_create_invite_form.html:10
msgid ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
@@ -666,6 +668,34 @@ msgstr ""
"Opret et nyt link til en invitation for at invitere flere brugere til din "
"Snikket tjeneste ved at klikke på knappen herunder."
#: snikket_web/templates/admin_create_invite_form.html:16
msgid ""
"Choose whether this invitation link will allow more than one person to join."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:21
#, fuzzy, python-format
#| msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgid ""
"<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
#: snikket_web/templates/admin_create_invite_form.html:34
#: snikket_web/templates/admin_edit_user.html:38
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
"En brugers adgangsniveau bestemmer, hvilke interaktioner der er tilladt for "
"dem på din Snikket-tjeneste."
#: snikket_web/templates/admin_create_invite_form.html:38
#, fuzzy, python-format
#| msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgid ""
"<span class=\"access-level\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
msgid "Debug information for %(user_name)s"
@@ -741,7 +771,7 @@ msgid "Delete user %(user_name)s"
msgstr "Slet bruger %(user_name)s"
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:74
#: snikket_web/templates/admin_edit_user.html:58
msgid "Delete user"
msgstr "Slet bruger"
@@ -812,37 +842,37 @@ msgstr "Cirkel medlemmer"
msgid "All members of the circle will see each other in their contact list."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
msgid "The user has been deleted from the server."
msgstr "Brugeren er blevet slettet fra serveren."
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
#: snikket_web/templates/library.j2:131
msgid "deleted"
msgstr "Slettet"
#: snikket_web/templates/admin_edit_circle.html:91
#: snikket_web/templates/admin_edit_circle.html:89
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Fjern bruger %(username)s fra cirkel"
#: snikket_web/templates/admin_edit_circle.html:99
#: snikket_web/templates/admin_edit_circle.html:97
msgid "This circle currently has no members."
msgstr "Den nuværende cirkel har ingen medlemmer."
#: snikket_web/templates/admin_edit_circle.html:101
#: snikket_web/templates/admin_edit_circle.html:99
msgid "Invite more members"
msgstr "Inviter flere medlemmer"
#: snikket_web/templates/admin_edit_circle.html:104
#: snikket_web/templates/admin_edit_circle.html:102
msgid "Add existing user"
msgstr "Tilføj eksisterende bruger"
#: snikket_web/templates/admin_edit_circle.html:115
#: snikket_web/templates/admin_edit_circle.html:113
msgid "All users added"
msgstr "Alle brugere tilføjet"
#: snikket_web/templates/admin_edit_circle.html:116
#: snikket_web/templates/admin_edit_circle.html:114
msgid "All users on this service are already in this circle."
msgstr "Alle brugerne af denne tjeneste er allerede i denne cirkel."
@@ -899,99 +929,70 @@ msgstr "Oprettet"
msgid "Return to invitation list"
msgstr "Retur til invitationsliste"
#: snikket_web/templates/admin_edit_user.html:5
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
"Begrænset brugere kan interagere med brugere på den samme Snikket-tjeneste "
"og være medlemmer af cirkler."
#: snikket_web/templates/admin_edit_user.html:7
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
"Som begrænset brugere og kan desuden også interagere med brugere på andre "
"Snikket-tjenester."
#: snikket_web/templates/admin_edit_user.html:9
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
"Som normale brugere og kan desuden få adgang til adminpanelet i webportalen."
#: snikket_web/templates/admin_edit_user.html:20
#: snikket_web/templates/admin_edit_user.html:4
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Edit user %(user_name)s"
msgstr "Rediger bruger %(user_name)s"
#: snikket_web/templates/admin_edit_user.html:24
#: snikket_web/templates/admin_edit_user.html:8
msgid "This user account is pending deletion"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_edit_user.html:9
#, python-format
msgid ""
"The owner of the account sent a deletion request on %(date)s using their app."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:26
#: snikket_web/templates/admin_edit_user.html:10
#, python-format
msgid ""
"The account has been locked, and will be automatically deleted permanently "
"in %(time)s."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:28
#: snikket_web/templates/admin_edit_user.html:12
msgid ""
"If this was a mistake, you can cancel the deletion and restore the account."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:34
#: snikket_web/templates/admin_edit_user.html:18
msgid "This user account is locked"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:35
#: snikket_web/templates/admin_edit_user.html:19
msgid ""
"The user will not be able to log in to their account until it is unlocked "
"again."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:41
#: snikket_web/templates/admin_edit_user.html:25
msgid "Edit user"
msgstr "Rediger bruger"
#: snikket_web/templates/admin_edit_user.html:46
#: snikket_web/templates/admin_edit_user.html:30
msgid "The login name cannot be changed."
msgstr "Login-navnet kan ikke ændres."
#: snikket_web/templates/admin_edit_user.html:54
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
"En brugers adgangsniveau bestemmer, hvilke interaktioner der er tilladt for "
"dem på din Snikket-tjeneste."
#: snikket_web/templates/admin_edit_user.html:61
#: snikket_web/templates/admin_edit_user.html:45
#, python-format
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
#: snikket_web/templates/admin_edit_user.html:71
#: snikket_web/templates/admin_edit_user.html:55
msgid "Return to user list"
msgstr "Retur til brugerliste"
#: snikket_web/templates/admin_edit_user.html:79
#: snikket_web/templates/admin_edit_user.html:63
msgid "Further actions"
msgstr "Yderligere handlinger"
#: snikket_web/templates/admin_edit_user.html:81
#: snikket_web/templates/admin_edit_user.html:65
msgid "Reset password"
msgstr "Nustil adgangskode"
#: snikket_web/templates/admin_edit_user.html:84
#: snikket_web/templates/admin_edit_user.html:68
msgid ""
"If the user has lost their password, you can use the button below to create "
"a special link which allows to change the password of the account, once."
@@ -1000,11 +1001,11 @@ msgstr ""
"til at oprette et specielt link, der giver mulighed for at ændre "
"adgangskoden til kontoen en gang."
#: snikket_web/templates/admin_edit_user.html:89
#: snikket_web/templates/admin_edit_user.html:73
msgid "Debug information"
msgstr "Fejlretningsoplysninger"
#: snikket_web/templates/admin_edit_user.html:91
#: snikket_web/templates/admin_edit_user.html:75
msgid ""
"In some cases, extended information about the user account and the connected "
"devices is necessary to troubleshoot issues. The button below reveals this "
@@ -1014,7 +1015,7 @@ msgstr ""
"tilsluttede enheder nødvendige for at foretage fejlfinding af problemer. "
"Knappen nedenfor afslører disse (følsomme) oplysninger."
#: snikket_web/templates/admin_edit_user.html:95
#: snikket_web/templates/admin_edit_user.html:79
msgid "Show debug information"
msgstr "Vis fejlretningsoplysninger"
@@ -1148,7 +1149,7 @@ msgstr "Systembelastning (5 minutters gennemsnit)"
#: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
#: snikket_web/templates/admin_system.html:85
msgid "unknown"
msgstr "ukendt"
@@ -1198,14 +1199,34 @@ msgid "Storage used by shared files"
msgstr "Lagerplads, der bruges af delte filer"
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices"
#, fuzzy
#| msgid "Update user"
msgid "Active users"
msgstr "Opdater bruger"
#: snikket_web/templates/admin_system.html:83
#, fuzzy
#| msgid "Connected devices"
msgid "Connected now:"
msgstr "Forbundet enheder"
#: snikket_web/templates/admin_system.html:88
msgid "Past 24 hours:"
msgstr ""
#: snikket_web/templates/admin_system.html:89
msgid "Past 7 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:90
msgid "Past 30 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:97
msgid "Broadcast message"
msgstr "Send besked"
#: snikket_web/templates/admin_system.html:92
#: snikket_web/templates/admin_system.html:99
msgid ""
"This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely."
@@ -1475,7 +1496,7 @@ msgid "Your address"
msgstr "Din adresse"
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#: snikket_web/templates/user_home.html:26
msgid "Copy address"
msgstr "Kopier adresse"
@@ -1705,6 +1726,35 @@ msgid "Can be used once to create an account on this Snikket service."
msgstr ""
"Kan blive brugt en gang til at oprette en konto på denne Snikket tjeneste."
#: snikket_web/templates/library.j2:153
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
"Begrænset brugere kan interagere med brugere på den samme Snikket-tjeneste "
"og være medlemmer af cirkler."
#: snikket_web/templates/library.j2:155
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
"Som begrænset brugere og kan desuden også interagere med brugere på andre "
"Snikket-tjenester."
#: snikket_web/templates/library.j2:157
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
"Som normale brugere og kan desuden få adgang til adminpanelet i webportalen."
#: snikket_web/templates/library.j2:171
msgid "Invite a single person (invitation link can only be used once)."
msgstr ""
#: snikket_web/templates/library.j2:173
msgid "Invite a group of people (invitation link can be used multiple times)."
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket Login"
@@ -1776,41 +1826,44 @@ msgstr ""
msgid "Operation successful"
msgstr "Operation lykkes"
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
msgstr "Velkommen!"
#: snikket_web/templates/user_home.html:11
#, fuzzy
#| msgid "Moving to Snikket?"
msgid "Welcome to Snikket!"
msgstr "Flytte til Snikket?"
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr "Velkommen hjem, %(user_name)s."
#: snikket_web/templates/user_home.html:12
msgid ""
"Now your Snikket instance is up and running, the next step is to invite "
"people to join it. Family, friends, colleagues... you choose!"
msgstr ""
#: snikket_web/templates/user_home.html:14
#: snikket_web/templates/user_home.html:19
msgid "Your account"
msgstr "Din konto"
#: snikket_web/templates/user_home.html:20
#: snikket_web/templates/user_home.html:25
msgid "Your XMPP address"
msgstr "Din XMPP adresse"
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_home.html:36
msgid "Edit profile"
msgstr "Rediger profil"
#: snikket_web/templates/user_home.html:33
#: snikket_web/templates/user_home.html:38
#: snikket_web/templates/user_manage_data.html:4
msgid "Manage your data"
msgstr "Håndter dine data"
#: snikket_web/templates/user_home.html:39
#: snikket_web/templates/user_home.html:44
msgid "Your Snikket"
msgstr "Din Snikket"
#: snikket_web/templates/user_home.html:41
#: snikket_web/templates/user_home.html:46
msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Håndter brugere, invitationer og cirkler på din Snikket tjeneste."
#: snikket_web/templates/user_home.html:43
#: snikket_web/templates/user_home.html:48
msgid "Admin panel"
msgstr "Administrator panel"
@@ -1880,6 +1933,13 @@ msgstr ""
"Denne sektion tillader dig at kontrollere, hvem der kan se din profil "
"informationer, så som avatar og kaldenavn."
#~ msgid "Welcome!"
#~ msgstr "Velkommen!"
#, python-format
#~ msgid "Welcome home, %(user_name)s."
#~ msgstr "Velkommen hjem, %(user_name)s."
#~ msgid "This circle has no group chat associated."
#~ msgstr "Denne cirkel er ikke tilknyttet nogen gruppechat."

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-12-12 18:22+0000\n"
"POT-Creation-Date: 2024-04-27 14:22+0200\n"
"PO-Revision-Date: 2021-06-19 15:01+0000\n"
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
"Language-Team: English <https://i18n.sotecware.net/projects/snikket/web-"
@@ -26,275 +26,276 @@ msgid "Login name"
msgstr "Login name"
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:74 snikket_web/user.py:63
#: snikket_web/user.py:69
msgid "Display name"
msgstr "Display name"
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:53
#: snikket_web/admin.py:77 snikket_web/admin.py:295
#: snikket_web/templates/admin_edit_user.html:37
msgid "Access Level"
msgstr ""
#: snikket_web/admin.py:79
#: snikket_web/admin.py:79 snikket_web/admin.py:297
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:80
#: snikket_web/admin.py:80 snikket_web/admin.py:298
msgid "Normal user"
msgstr ""
#: snikket_web/admin.py:81
#: snikket_web/admin.py:81 snikket_web/admin.py:299
#, fuzzy
#| msgid "Admin area"
msgid "Administrator"
msgstr "Admin area"
#: snikket_web/admin.py:86
#: snikket_web/admin.py:87
#, fuzzy
#| msgid "Update circle"
msgid "Update user"
msgstr "Update circle"
#: snikket_web/admin.py:90
#: snikket_web/admin.py:91
#, fuzzy
#| msgid "Create account"
msgid "Restore account"
msgstr "Create account"
#: snikket_web/admin.py:94
#: snikket_web/admin.py:95
#, fuzzy
#| msgid "Your account"
msgid "Unlock account"
msgstr "Your account"
#: snikket_web/admin.py:98
#: snikket_web/admin.py:99
#, fuzzy
#| msgid "Create password reset links or delete users."
msgid "Create password reset link"
msgstr "Create password reset links or delete users."
#: snikket_web/admin.py:116
#: snikket_web/admin.py:117
#, fuzzy
#| msgid "Password reset link for %(user_name)s"
msgid "Password reset link created"
msgstr "Password reset link for %(user_name)s"
#: snikket_web/admin.py:128
#: snikket_web/admin.py:129
msgid "User account restored"
msgstr ""
#: snikket_web/admin.py:133
#: snikket_web/admin.py:134
msgid "User account unlocked"
msgstr ""
#: snikket_web/admin.py:140
#: snikket_web/admin.py:141
msgid "Could not restore user account"
msgstr ""
#: snikket_web/admin.py:145
#: snikket_web/admin.py:146
msgid "Could not unlock user account"
msgstr ""
#: snikket_web/admin.py:157
#: snikket_web/admin.py:158
#, fuzzy
#| msgid "User information"
msgid "User information updated."
msgstr "User information"
#: snikket_web/admin.py:179
#: snikket_web/admin.py:180
msgid "Delete user permanently"
msgstr "Delete user permanently"
#: snikket_web/admin.py:192
#: snikket_web/admin.py:193
#, fuzzy
#| msgid "deleted"
msgid "User deleted"
msgstr "deleted"
#: snikket_web/admin.py:230
#: snikket_web/admin.py:231
#, fuzzy
#| msgid "Password reset link for %(user_name)s"
msgid "Password reset link not found"
msgstr "Password reset link for %(user_name)s"
#: snikket_web/admin.py:242
#: snikket_web/admin.py:243
#, fuzzy
#| msgid "Create password reset links or delete users."
msgid "Password reset link deleted"
msgstr "Create password reset links or delete users."
#: snikket_web/admin.py:262
#: snikket_web/admin.py:263
msgid "Invite to circle"
msgstr "Invite to circle"
#: snikket_web/admin.py:268
#: snikket_web/admin.py:269
msgid "At least one circle must be selected"
msgstr "At least one circle must be selected"
#: snikket_web/admin.py:273
#: snikket_web/admin.py:274
msgid "Valid for"
msgstr "Valid for"
#: snikket_web/admin.py:275
#: snikket_web/admin.py:276
msgid "One hour"
msgstr "One hour"
#: snikket_web/admin.py:276
#: snikket_web/admin.py:277
msgid "Twelve hours"
msgstr "Twelve hours"
#: snikket_web/admin.py:277
#: snikket_web/admin.py:278
msgid "One day"
msgstr "One day"
#: snikket_web/admin.py:278
#: snikket_web/admin.py:279
msgid "One week"
msgstr "One week"
#: snikket_web/admin.py:279
#: snikket_web/admin.py:280
msgid "Four weeks"
msgstr "Four weeks"
#: snikket_web/admin.py:285 snikket_web/templates/admin_edit_invite.html:17
#: snikket_web/admin.py:286 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr "Invitation type"
#: snikket_web/admin.py:287 snikket_web/templates/library.j2:139
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:139
msgid "Individual"
msgstr "Individual"
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:137
#: snikket_web/admin.py:289 snikket_web/templates/library.j2:137
msgid "Group"
msgstr "Group"
#: snikket_web/admin.py:294
#: snikket_web/admin.py:305
msgid "New invitation link"
msgstr "New invitation link"
#: snikket_web/admin.py:356
#: snikket_web/admin.py:367
msgid "Revoke"
msgstr "Revoke"
#: snikket_web/admin.py:380
#: snikket_web/admin.py:393
#, fuzzy
#| msgid "Invitation type"
msgid "Invitation created"
msgstr "Invitation type"
#: snikket_web/admin.py:396
#: snikket_web/admin.py:409
#, fuzzy
#| msgid "New invitation link"
msgid "No such invitation exists"
msgstr "New invitation link"
#: snikket_web/admin.py:411
#: snikket_web/admin.py:424
#, fuzzy
#| msgid "Invitation type"
msgid "Invitation revoked"
msgstr "Invitation type"
#: snikket_web/admin.py:428 snikket_web/admin.py:476
#: snikket_web/admin.py:441 snikket_web/admin.py:489
#: snikket_web/templates/admin_delete_circle.html:10
#: snikket_web/templates/admin_edit_circle.html:44
msgid "Name"
msgstr "Name"
#: snikket_web/admin.py:433 snikket_web/templates/admin_circles.html:47
#: snikket_web/admin.py:446 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Create circle"
#: snikket_web/admin.py:463
#: snikket_web/admin.py:476
#, fuzzy
#| msgid "Circle name"
msgid "Circle created"
msgstr "Circle name"
#: snikket_web/admin.py:481
#: snikket_web/admin.py:494
msgid "Select user"
msgstr "Select user"
#: snikket_web/admin.py:486
#: snikket_web/admin.py:499
msgid "Update circle"
msgstr "Update circle"
#: snikket_web/admin.py:492
#: snikket_web/admin.py:505
msgid "Add user"
msgstr "Add user"
#: snikket_web/admin.py:510 snikket_web/admin.py:609 snikket_web/admin.py:657
#: snikket_web/admin.py:523 snikket_web/admin.py:622 snikket_web/admin.py:670
#, fuzzy
#| msgid "No circles"
msgid "No such circle exists"
msgstr "No circles"
#: snikket_web/admin.py:547
#: snikket_web/admin.py:560
#, fuzzy
#| msgid "Circle name"
msgid "Circle data updated"
msgstr "Circle name"
#: snikket_web/admin.py:557
#: snikket_web/admin.py:570
#, fuzzy
#| msgid "Invite to circle"
msgid "User added to circle"
msgstr "Invite to circle"
#: snikket_web/admin.py:566
#: snikket_web/admin.py:579
#, fuzzy
#| msgid "Remove user %(username)s from circle"
msgid "User removed from circle"
msgstr "Remove user %(username)s from circle"
#: snikket_web/admin.py:575
#: snikket_web/admin.py:588
#, fuzzy
#| msgid "Remove user %(username)s from circle"
msgid "Chat removed from circle"
msgstr "Remove user %(username)s from circle"
#: snikket_web/admin.py:593
#: snikket_web/admin.py:606
msgid "Delete circle permanently"
msgstr "Delete circle permanently"
#: snikket_web/admin.py:620
#: snikket_web/admin.py:633
#, fuzzy
#| msgid "deleted"
msgid "Circle deleted"
msgstr "deleted"
#: snikket_web/admin.py:634
#: snikket_web/admin.py:647
#, fuzzy
#| msgid "Group chat address"
msgid "Group chat name"
msgstr "Group chat address"
#: snikket_web/admin.py:639
#: snikket_web/admin.py:652
#, fuzzy
#| msgid "Create account"
msgid "Create group chat"
msgstr "Create account"
#: snikket_web/admin.py:669
#: snikket_web/admin.py:682
#, fuzzy
#| msgid "Invite to circle"
msgid "New group chat added to circle"
msgstr "Invite to circle"
#: snikket_web/admin.py:736
#: snikket_web/admin.py:749
msgid "Message contents"
msgstr ""
#: snikket_web/admin.py:742
#: snikket_web/admin.py:755
msgid "Only send to online users"
msgstr ""
#: snikket_web/admin.py:746
#: snikket_web/admin.py:759
msgid "Post to all users"
msgstr ""
#: snikket_web/admin.py:750
#: snikket_web/admin.py:763
msgid "Send preview to yourself"
msgstr ""
#: snikket_web/admin.py:772
#: snikket_web/admin.py:785
msgid "Announcement sent!"
msgstr ""
@@ -329,64 +330,64 @@ msgstr ""
msgid "Username"
msgstr "Username"
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
#: snikket_web/invite.py:118 snikket_web/invite.py:190 snikket_web/main.py:43
msgid "Password"
msgstr "Password"
#: snikket_web/invite.py:122 snikket_web/invite.py:190
#: snikket_web/invite.py:126 snikket_web/invite.py:198
msgid "Confirm password"
msgstr "Confirm password"
#: snikket_web/invite.py:126 snikket_web/invite.py:194
#: snikket_web/invite.py:130 snikket_web/invite.py:202
#, fuzzy
#| msgid "The passwords must match"
msgid "The passwords must match."
msgstr "The passwords must match"
#: snikket_web/invite.py:131
#: snikket_web/invite.py:135
msgid "Create account"
msgstr "Create account"
#: snikket_web/invite.py:158
#: snikket_web/invite.py:162
#, fuzzy
#| msgid "That username is already taken"
msgid "That username is already taken."
msgstr "That username is already taken"
#: snikket_web/invite.py:162 snikket_web/invite.py:227
#: snikket_web/invite.py:166 snikket_web/invite.py:235
#, fuzzy
#| msgid "Registration was declined for unknown reasons"
msgid "Registration was declined for unknown reasons."
msgstr "Registration was declined for unknown reasons"
#: snikket_web/invite.py:166
#: snikket_web/invite.py:170
#, fuzzy
#| msgid "The username is not valid"
msgid "The username is not valid."
msgstr "The username is not valid"
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
#: snikket_web/invite.py:207 snikket_web/templates/user_home.html:37
#: snikket_web/templates/user_passwd.html:29
msgid "Change password"
msgstr "Change password"
#: snikket_web/invite.py:246
#: snikket_web/invite.py:254
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:250
#: snikket_web/invite.py:258
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:271
#: snikket_web/invite.py:279
#, python-format
msgid ""
"The account data you tried to import is in an unknown format. Please upload "
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
msgstr ""
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
#: snikket_web/invite.py:299 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:189
msgid "Error"
msgstr ""
@@ -414,81 +415,81 @@ msgstr "Current password"
msgid "New password"
msgstr "New password"
#: snikket_web/user.py:39
#: snikket_web/user.py:42
msgid "Confirm new password"
msgstr "Confirm new password"
#: snikket_web/user.py:43
#: snikket_web/user.py:47
#, fuzzy
#| msgid "The new passwords must match"
msgid "The new passwords must match."
msgstr "The new passwords must match"
#: snikket_web/user.py:50
#: snikket_web/user.py:56
msgid "Sign out"
msgstr "Sign out"
#: snikket_web/user.py:55
#: snikket_web/user.py:61
msgid "Nobody"
msgstr "Nobody"
#: snikket_web/user.py:56
#: snikket_web/user.py:62
msgid "Friends only"
msgstr "Friends only"
#: snikket_web/user.py:57
#: snikket_web/user.py:63
msgid "Everyone"
msgstr "Everyone"
#: snikket_web/user.py:67
#: snikket_web/user.py:73
msgid "Avatar"
msgstr "Avatar"
#: snikket_web/user.py:71
#: snikket_web/user.py:77
msgid "Profile visibility"
msgstr "Profile visibility"
#: snikket_web/user.py:76
#: snikket_web/user.py:82
msgid "Update profile"
msgstr "Update profile"
#: snikket_web/user.py:82
#: snikket_web/user.py:88
msgid "Account data"
msgstr ""
#: snikket_web/user.py:86
#: snikket_web/user.py:92
msgid "Upload"
msgstr ""
#: snikket_web/user.py:111
#: snikket_web/user.py:122
#, fuzzy
#| msgid "Incorrect password"
msgid "Incorrect password."
msgstr "Incorrect password"
#: snikket_web/user.py:115
#: snikket_web/user.py:126
#, fuzzy
#| msgid "Password change failed"
msgid "Password changed"
msgstr "Password change failed"
#: snikket_web/user.py:123
#: snikket_web/user.py:134
msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app."
msgstr ""
#: snikket_web/user.py:170
#: snikket_web/user.py:181
#, fuzzy
#| msgid "Profile"
msgid "Profile updated"
msgstr "Profile"
#: snikket_web/user.py:184
#: snikket_web/user.py:195
msgid "Export"
msgstr ""
#: snikket_web/user.py:202
#: snikket_web/user.py:213
msgid "You currently have no account data to export."
msgstr ""
@@ -631,7 +632,7 @@ msgstr "Members"
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_edit_circle.html:45
#: snikket_web/templates/admin_edit_circle.html:75
#: snikket_web/templates/admin_edit_circle.html:74
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:10
msgid "Actions"
@@ -694,11 +695,12 @@ msgstr ""
msgid "Create invitation"
msgstr "Create invitation"
#: snikket_web/templates/admin_create_invite_form.html:5
#: snikket_web/templates/admin_create_invite_form.html:9
#: snikket_web/templates/user_home.html:13
msgid "Create new invitation"
msgstr "Create new invitation"
#: snikket_web/templates/admin_create_invite_form.html:6
#: snikket_web/templates/admin_create_invite_form.html:10
msgid ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
@@ -706,6 +708,30 @@ msgstr ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
#: snikket_web/templates/admin_create_invite_form.html:16
msgid ""
"Choose whether this invitation link will allow more than one person to join."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:21
#, python-format
msgid ""
"<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:34
#: snikket_web/templates/admin_edit_user.html:38
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:38
#, python-format
msgid ""
"<span class=\"access-level\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
msgid "Debug information for %(user_name)s"
@@ -782,7 +808,7 @@ msgid "Delete user %(user_name)s"
msgstr "Delete user %(user_name)s"
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:74
#: snikket_web/templates/admin_edit_user.html:58
msgid "Delete user"
msgstr "Delete user"
@@ -854,37 +880,37 @@ msgstr "Circle members"
msgid "All members of the circle will see each other in their contact list."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
msgid "The user has been deleted from the server."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
#: snikket_web/templates/library.j2:131
msgid "deleted"
msgstr "deleted"
#: snikket_web/templates/admin_edit_circle.html:91
#: snikket_web/templates/admin_edit_circle.html:89
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Remove user %(username)s from circle"
#: snikket_web/templates/admin_edit_circle.html:99
#: snikket_web/templates/admin_edit_circle.html:97
msgid "This circle currently has no members."
msgstr "This circle currently has no members."
#: snikket_web/templates/admin_edit_circle.html:101
#: snikket_web/templates/admin_edit_circle.html:99
msgid "Invite more members"
msgstr "Invite more members"
#: snikket_web/templates/admin_edit_circle.html:104
#: snikket_web/templates/admin_edit_circle.html:102
msgid "Add existing user"
msgstr "Add existing user"
#: snikket_web/templates/admin_edit_circle.html:115
#: snikket_web/templates/admin_edit_circle.html:113
msgid "All users added"
msgstr "All users added"
#: snikket_web/templates/admin_edit_circle.html:116
#: snikket_web/templates/admin_edit_circle.html:114
msgid "All users on this service are already in this circle."
msgstr "All users on this service are already in this circle."
@@ -941,98 +967,76 @@ msgstr "Created"
msgid "Return to invitation list"
msgstr "New invitation link"
#: snikket_web/templates/admin_edit_user.html:5
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:7
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:9
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:20
#: snikket_web/templates/admin_edit_user.html:4
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Edit user %(user_name)s"
msgstr "Edit user %(user_name)s"
#: snikket_web/templates/admin_edit_user.html:24
#: snikket_web/templates/admin_edit_user.html:8
msgid "This user account is pending deletion"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_edit_user.html:9
#, python-format
msgid ""
"The owner of the account sent a deletion request on %(date)s using their app."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:26
#: snikket_web/templates/admin_edit_user.html:10
#, python-format
msgid ""
"The account has been locked, and will be automatically deleted permanently "
"in %(time)s."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:28
#: snikket_web/templates/admin_edit_user.html:12
msgid ""
"If this was a mistake, you can cancel the deletion and restore the account."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:34
#: snikket_web/templates/admin_edit_user.html:18
msgid "This user account is locked"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:35
#: snikket_web/templates/admin_edit_user.html:19
msgid ""
"The user will not be able to log in to their account until it is unlocked "
"again."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:41
#: snikket_web/templates/admin_edit_user.html:25
#, fuzzy
#| msgid "Add user"
msgid "Edit user"
msgstr "Add user"
#: snikket_web/templates/admin_edit_user.html:46
#: snikket_web/templates/admin_edit_user.html:30
msgid "The login name cannot be changed."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:54
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:61
#: snikket_web/templates/admin_edit_user.html:45
#, python-format
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:71
#: snikket_web/templates/admin_edit_user.html:55
#, fuzzy
#| msgid "New invitation link"
msgid "Return to user list"
msgstr "New invitation link"
#: snikket_web/templates/admin_edit_user.html:79
#: snikket_web/templates/admin_edit_user.html:63
msgid "Further actions"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:81
#: snikket_web/templates/admin_edit_user.html:65
#, fuzzy
#| msgid "Reset your password"
msgid "Reset password"
msgstr "Reset your password"
#: snikket_web/templates/admin_edit_user.html:84
#: snikket_web/templates/admin_edit_user.html:68
#, fuzzy
#| msgid ""
#| "If the user has forgotten their password, use the below button to create "
@@ -1047,20 +1051,20 @@ msgstr ""
"password reset link. The password reset link can be used once to change the "
"password of the account. Transmit the link to the user via a secure channel."
#: snikket_web/templates/admin_edit_user.html:89
#: snikket_web/templates/admin_edit_user.html:73
#, fuzzy
#| msgid "User information"
msgid "Debug information"
msgstr "User information"
#: snikket_web/templates/admin_edit_user.html:91
#: snikket_web/templates/admin_edit_user.html:75
msgid ""
"In some cases, extended information about the user account and the connected "
"devices is necessary to troubleshoot issues. The button below reveals this "
"(sensitive) information."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:95
#: snikket_web/templates/admin_edit_user.html:79
#, fuzzy
#| msgid "Show debug information for %(user_name)s"
msgid "Show debug information"
@@ -1196,7 +1200,7 @@ msgstr "System load (5-minute average)"
#: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
#: snikket_web/templates/admin_system.html:85
msgid "unknown"
msgstr ""
@@ -1246,14 +1250,32 @@ msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices"
#, fuzzy
#| msgid "Update circle"
msgid "Active users"
msgstr "Update circle"
#: snikket_web/templates/admin_system.html:83
msgid "Connected now:"
msgstr ""
#: snikket_web/templates/admin_system.html:88
msgid "Past 24 hours:"
msgstr ""
#: snikket_web/templates/admin_system.html:89
msgid "Past 7 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:90
msgid "Past 30 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:97
msgid "Broadcast message"
msgstr ""
#: snikket_web/templates/admin_system.html:92
#: snikket_web/templates/admin_system.html:99
msgid ""
"This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely."
@@ -1519,7 +1541,7 @@ msgid "Your address"
msgstr "Your address"
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#: snikket_web/templates/user_home.html:26
msgid "Copy address"
msgstr "Copy address"
@@ -1742,6 +1764,32 @@ msgstr "Can be used multiple times to create accounts on this Snikket service."
msgid "Can be used once to create an account on this Snikket service."
msgstr "Can be used once to create an account on this Snikket service."
#: snikket_web/templates/library.j2:153
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/library.j2:155
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/library.j2:157
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/library.j2:171
#, fuzzy
#| msgid "This invitation link can only be used once and is then depleted."
msgid "Invite a single person (invitation link can only be used once)."
msgstr "This invitation link can only be used once and is then depleted."
#: snikket_web/templates/library.j2:173
msgid "Invite a group of people (invitation link can be used multiple times)."
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket Login"
@@ -1813,43 +1861,46 @@ msgstr ""
msgid "Operation successful"
msgstr ""
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
msgstr "Welcome!"
#: snikket_web/templates/user_home.html:11
#, fuzzy
#| msgid "Using the Snikket app"
msgid "Welcome to Snikket!"
msgstr "Using the Snikket app"
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr "Welcome home, %(user_name)s."
#: snikket_web/templates/user_home.html:12
msgid ""
"Now your Snikket instance is up and running, the next step is to invite "
"people to join it. Family, friends, colleagues... you choose!"
msgstr ""
#: snikket_web/templates/user_home.html:14
#: snikket_web/templates/user_home.html:19
msgid "Your account"
msgstr "Your account"
#: snikket_web/templates/user_home.html:20
#: snikket_web/templates/user_home.html:25
msgid "Your XMPP address"
msgstr "Your XMPP address"
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_home.html:36
msgid "Edit profile"
msgstr "Edit profile"
#: snikket_web/templates/user_home.html:33
#: snikket_web/templates/user_home.html:38
#: snikket_web/templates/user_manage_data.html:4
#, fuzzy
#| msgid "Manage users"
msgid "Manage your data"
msgstr "Manage users"
#: snikket_web/templates/user_home.html:39
#: snikket_web/templates/user_home.html:44
msgid "Your Snikket"
msgstr "Your Snikket"
#: snikket_web/templates/user_home.html:41
#: snikket_web/templates/user_home.html:46
msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Manage users, invitations and circles of your Snikket service."
#: snikket_web/templates/user_home.html:43
#: snikket_web/templates/user_home.html:48
msgid "Admin panel"
msgstr "Admin panel"
@@ -1919,6 +1970,13 @@ msgstr ""
"This section allows you to control who can see your profile information, "
"like avatar and nickname."
#~ msgid "Welcome!"
#~ msgstr "Welcome!"
#, python-format
#~ msgid "Welcome home, %(user_name)s."
#~ msgstr "Welcome home, %(user_name)s."
#~ msgid "This circle has no group chat associated."
#~ msgstr "This circle has no group chat associated."
@@ -1961,9 +2019,6 @@ msgstr ""
#~ "This invitation link can be used arbitrarily often, until it expires, is "
#~ "revoked or a service-wide user limit is reached."
#~ msgid "This invitation link can only be used once and is then depleted."
#~ msgstr "This invitation link can only be used once and is then depleted."
#~ msgid "Modify administrative user information or delete users."
#~ msgstr "Modify administrative user information or delete users."

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-12-12 18:22+0000\n"
"POT-Creation-Date: 2024-04-27 14:22+0200\n"
"PO-Revision-Date: 2021-06-19 15:01+0000\n"
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
"Language-Team: English (United Kingdom) <https://i18n.sotecware.net/projects/"
@@ -26,277 +26,278 @@ msgid "Login name"
msgstr "Login name"
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:74 snikket_web/user.py:63
#: snikket_web/user.py:69
msgid "Display name"
msgstr "Display name"
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:53
#: snikket_web/admin.py:77 snikket_web/admin.py:295
#: snikket_web/templates/admin_edit_user.html:37
msgid "Access Level"
msgstr ""
#: snikket_web/admin.py:79
#: snikket_web/admin.py:79 snikket_web/admin.py:297
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:80
#: snikket_web/admin.py:80 snikket_web/admin.py:298
msgid "Normal user"
msgstr ""
#: snikket_web/admin.py:81
#: snikket_web/admin.py:81 snikket_web/admin.py:299
#, fuzzy
#| msgid "Admin dashboard"
msgid "Administrator"
msgstr "Admin dashboard"
#: snikket_web/admin.py:86
#: snikket_web/admin.py:87
#, fuzzy
#| msgid "Create circle"
msgid "Update user"
msgstr "Create circle"
#: snikket_web/admin.py:90
#: snikket_web/admin.py:91
#, fuzzy
#| msgid "Create circle"
msgid "Restore account"
msgstr "Create circle"
#: snikket_web/admin.py:94
#: snikket_web/admin.py:95
#, fuzzy
#| msgid "Create circle"
msgid "Unlock account"
msgstr "Create circle"
#: snikket_web/admin.py:98
#: snikket_web/admin.py:99
#, fuzzy
#| msgid "Create password reset links or delete users."
msgid "Create password reset link"
msgstr "Create password reset links or delete users."
#: snikket_web/admin.py:116
#: snikket_web/admin.py:117
#, fuzzy
#| msgid "Password reset link for %(user_name)s"
msgid "Password reset link created"
msgstr "Password reset link for %(user_name)s"
#: snikket_web/admin.py:128
#: snikket_web/admin.py:129
msgid "User account restored"
msgstr ""
#: snikket_web/admin.py:133
#: snikket_web/admin.py:134
msgid "User account unlocked"
msgstr ""
#: snikket_web/admin.py:140
#: snikket_web/admin.py:141
msgid "Could not restore user account"
msgstr ""
#: snikket_web/admin.py:145
#: snikket_web/admin.py:146
msgid "Could not unlock user account"
msgstr ""
#: snikket_web/admin.py:157
#: snikket_web/admin.py:158
#, fuzzy
#| msgid "User information"
msgid "User information updated."
msgstr "User information"
#: snikket_web/admin.py:179
#: snikket_web/admin.py:180
msgid "Delete user permanently"
msgstr "Delete user permanently"
#: snikket_web/admin.py:192
#: snikket_web/admin.py:193
#, fuzzy
#| msgid "deleted"
msgid "User deleted"
msgstr "deleted"
#: snikket_web/admin.py:230
#: snikket_web/admin.py:231
#, fuzzy
#| msgid "Password reset link for %(user_name)s"
msgid "Password reset link not found"
msgstr "Password reset link for %(user_name)s"
#: snikket_web/admin.py:242
#: snikket_web/admin.py:243
#, fuzzy
#| msgid "Create password reset links or delete users."
msgid "Password reset link deleted"
msgstr "Create password reset links or delete users."
#: snikket_web/admin.py:262
#: snikket_web/admin.py:263
msgid "Invite to circle"
msgstr "Invite to circle"
#: snikket_web/admin.py:268
#: snikket_web/admin.py:269
msgid "At least one circle must be selected"
msgstr "At least one circle must be selected"
#: snikket_web/admin.py:273
#: snikket_web/admin.py:274
msgid "Valid for"
msgstr "Valid for"
#: snikket_web/admin.py:275
#: snikket_web/admin.py:276
msgid "One hour"
msgstr "One hour"
#: snikket_web/admin.py:276
#: snikket_web/admin.py:277
msgid "Twelve hours"
msgstr "Twelve hours"
#: snikket_web/admin.py:277
#: snikket_web/admin.py:278
msgid "One day"
msgstr "One day"
#: snikket_web/admin.py:278
#: snikket_web/admin.py:279
msgid "One week"
msgstr "One week"
#: snikket_web/admin.py:279
#: snikket_web/admin.py:280
msgid "Four weeks"
msgstr "Four weeks"
#: snikket_web/admin.py:285 snikket_web/templates/admin_edit_invite.html:17
#: snikket_web/admin.py:286 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr "Invitation type"
#: snikket_web/admin.py:287 snikket_web/templates/library.j2:139
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:139
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:137
#: snikket_web/admin.py:289 snikket_web/templates/library.j2:137
msgid "Group"
msgstr ""
#: snikket_web/admin.py:294
#: snikket_web/admin.py:305
msgid "New invitation link"
msgstr "New invitation link"
#: snikket_web/admin.py:356
#: snikket_web/admin.py:367
msgid "Revoke"
msgstr "Revoke"
#: snikket_web/admin.py:380
#: snikket_web/admin.py:393
#, fuzzy
#| msgid "Invitation type"
msgid "Invitation created"
msgstr "Invitation type"
#: snikket_web/admin.py:396
#: snikket_web/admin.py:409
#, fuzzy
#| msgid "New invitation link"
msgid "No such invitation exists"
msgstr "New invitation link"
#: snikket_web/admin.py:411
#: snikket_web/admin.py:424
#, fuzzy
#| msgid "Invitation type"
msgid "Invitation revoked"
msgstr "Invitation type"
#: snikket_web/admin.py:428 snikket_web/admin.py:476
#: snikket_web/admin.py:441 snikket_web/admin.py:489
#: snikket_web/templates/admin_delete_circle.html:10
#: snikket_web/templates/admin_edit_circle.html:44
msgid "Name"
msgstr "Name"
#: snikket_web/admin.py:433 snikket_web/templates/admin_circles.html:47
#: snikket_web/admin.py:446 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Create circle"
#: snikket_web/admin.py:463
#: snikket_web/admin.py:476
#, fuzzy
#| msgid "Circle name"
msgid "Circle created"
msgstr "Circle name"
#: snikket_web/admin.py:481
#: snikket_web/admin.py:494
msgid "Select user"
msgstr "Select user"
#: snikket_web/admin.py:486
#: snikket_web/admin.py:499
#, fuzzy
#| msgid "Create circle"
msgid "Update circle"
msgstr "Create circle"
#: snikket_web/admin.py:492
#: snikket_web/admin.py:505
msgid "Add user"
msgstr "Add user"
#: snikket_web/admin.py:510 snikket_web/admin.py:609 snikket_web/admin.py:657
#: snikket_web/admin.py:523 snikket_web/admin.py:622 snikket_web/admin.py:670
#, fuzzy
#| msgid "No circles"
msgid "No such circle exists"
msgstr "No circles"
#: snikket_web/admin.py:547
#: snikket_web/admin.py:560
#, fuzzy
#| msgid "Circle name"
msgid "Circle data updated"
msgstr "Circle name"
#: snikket_web/admin.py:557
#: snikket_web/admin.py:570
#, fuzzy
#| msgid "Invite to circle"
msgid "User added to circle"
msgstr "Invite to circle"
#: snikket_web/admin.py:566
#: snikket_web/admin.py:579
#, fuzzy
#| msgid "Remove user %(username)s from circle"
msgid "User removed from circle"
msgstr "Remove user %(username)s from circle"
#: snikket_web/admin.py:575
#: snikket_web/admin.py:588
#, fuzzy
#| msgid "Remove user %(username)s from circle"
msgid "Chat removed from circle"
msgstr "Remove user %(username)s from circle"
#: snikket_web/admin.py:593
#: snikket_web/admin.py:606
msgid "Delete circle permanently"
msgstr "Delete circle permanently"
#: snikket_web/admin.py:620
#: snikket_web/admin.py:633
#, fuzzy
#| msgid "deleted"
msgid "Circle deleted"
msgstr "deleted"
#: snikket_web/admin.py:634
#: snikket_web/admin.py:647
#, fuzzy
#| msgid "Email address"
msgid "Group chat name"
msgstr "Email address"
#: snikket_web/admin.py:639
#: snikket_web/admin.py:652
#, fuzzy
#| msgid "Create circle"
msgid "Create group chat"
msgstr "Create circle"
#: snikket_web/admin.py:669
#: snikket_web/admin.py:682
#, fuzzy
#| msgid "Invite to circle"
msgid "New group chat added to circle"
msgstr "Invite to circle"
#: snikket_web/admin.py:736
#: snikket_web/admin.py:749
msgid "Message contents"
msgstr ""
#: snikket_web/admin.py:742
#: snikket_web/admin.py:755
msgid "Only send to online users"
msgstr ""
#: snikket_web/admin.py:746
#: snikket_web/admin.py:759
msgid "Post to all users"
msgstr ""
#: snikket_web/admin.py:750
#: snikket_web/admin.py:763
msgid "Send preview to yourself"
msgstr ""
#: snikket_web/admin.py:772
#: snikket_web/admin.py:785
msgid "Announcement sent!"
msgstr ""
@@ -331,62 +332,62 @@ msgstr ""
msgid "Username"
msgstr ""
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
#: snikket_web/invite.py:118 snikket_web/invite.py:190 snikket_web/main.py:43
msgid "Password"
msgstr "Password"
#: snikket_web/invite.py:122 snikket_web/invite.py:190
#: snikket_web/invite.py:126 snikket_web/invite.py:198
#, fuzzy
#| msgid "Confirm new password"
msgid "Confirm password"
msgstr "Confirm new password"
#: snikket_web/invite.py:126 snikket_web/invite.py:194
#: snikket_web/invite.py:130 snikket_web/invite.py:202
#, fuzzy
#| msgid "The passwords must match"
msgid "The passwords must match."
msgstr "The passwords must match"
#: snikket_web/invite.py:131
#: snikket_web/invite.py:135
#, fuzzy
#| msgid "Create circle"
msgid "Create account"
msgstr "Create circle"
#: snikket_web/invite.py:158
#: snikket_web/invite.py:162
msgid "That username is already taken."
msgstr ""
#: snikket_web/invite.py:162 snikket_web/invite.py:227
#: snikket_web/invite.py:166 snikket_web/invite.py:235
msgid "Registration was declined for unknown reasons."
msgstr ""
#: snikket_web/invite.py:166
#: snikket_web/invite.py:170
msgid "The username is not valid."
msgstr ""
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
#: snikket_web/invite.py:207 snikket_web/templates/user_home.html:37
#: snikket_web/templates/user_passwd.html:29
msgid "Change password"
msgstr "Change password"
#: snikket_web/invite.py:246
#: snikket_web/invite.py:254
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:250
#: snikket_web/invite.py:258
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:271
#: snikket_web/invite.py:279
#, python-format
msgid ""
"The account data you tried to import is in an unknown format. Please upload "
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
msgstr ""
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
#: snikket_web/invite.py:299 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:189
msgid "Error"
msgstr ""
@@ -416,81 +417,81 @@ msgstr "Current password"
msgid "New password"
msgstr "New password"
#: snikket_web/user.py:39
#: snikket_web/user.py:42
msgid "Confirm new password"
msgstr "Confirm new password"
#: snikket_web/user.py:43
#: snikket_web/user.py:47
#, fuzzy
#| msgid "The new passwords must match"
msgid "The new passwords must match."
msgstr "The new passwords must match"
#: snikket_web/user.py:50
#: snikket_web/user.py:56
msgid "Sign out"
msgstr "Sign out"
#: snikket_web/user.py:55
#: snikket_web/user.py:61
msgid "Nobody"
msgstr "Nobody"
#: snikket_web/user.py:56
#: snikket_web/user.py:62
msgid "Friends only"
msgstr "Friends only"
#: snikket_web/user.py:57
#: snikket_web/user.py:63
msgid "Everyone"
msgstr "Everyone"
#: snikket_web/user.py:67
#: snikket_web/user.py:73
msgid "Avatar"
msgstr "Avatar"
#: snikket_web/user.py:71
#: snikket_web/user.py:77
msgid "Profile visibility"
msgstr "Profile visibility"
#: snikket_web/user.py:76
#: snikket_web/user.py:82
msgid "Update profile"
msgstr "Update profile"
#: snikket_web/user.py:82
#: snikket_web/user.py:88
msgid "Account data"
msgstr ""
#: snikket_web/user.py:86
#: snikket_web/user.py:92
msgid "Upload"
msgstr ""
#: snikket_web/user.py:111
#: snikket_web/user.py:122
#, fuzzy
#| msgid "Incorrect password"
msgid "Incorrect password."
msgstr "Incorrect password"
#: snikket_web/user.py:115
#: snikket_web/user.py:126
#, fuzzy
#| msgid "Password change failed"
msgid "Password changed"
msgstr "Password change failed"
#: snikket_web/user.py:123
#: snikket_web/user.py:134
msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app."
msgstr ""
#: snikket_web/user.py:170
#: snikket_web/user.py:181
#, fuzzy
#| msgid "Profile"
msgid "Profile updated"
msgstr "Profile"
#: snikket_web/user.py:184
#: snikket_web/user.py:195
msgid "Export"
msgstr ""
#: snikket_web/user.py:202
#: snikket_web/user.py:213
msgid "You currently have no account data to export."
msgstr ""
@@ -625,7 +626,7 @@ msgstr "Members"
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_edit_circle.html:45
#: snikket_web/templates/admin_edit_circle.html:75
#: snikket_web/templates/admin_edit_circle.html:74
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:10
msgid "Actions"
@@ -689,11 +690,12 @@ msgstr ""
msgid "Create invitation"
msgstr "Create invitation"
#: snikket_web/templates/admin_create_invite_form.html:5
#: snikket_web/templates/admin_create_invite_form.html:9
#: snikket_web/templates/user_home.html:13
msgid "Create new invitation"
msgstr "Create new invitation"
#: snikket_web/templates/admin_create_invite_form.html:6
#: snikket_web/templates/admin_create_invite_form.html:10
msgid ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
@@ -701,6 +703,30 @@ msgstr ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
#: snikket_web/templates/admin_create_invite_form.html:16
msgid ""
"Choose whether this invitation link will allow more than one person to join."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:21
#, python-format
msgid ""
"<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:34
#: snikket_web/templates/admin_edit_user.html:38
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:38
#, python-format
msgid ""
"<span class=\"access-level\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
msgid "Debug information for %(user_name)s"
@@ -769,7 +795,7 @@ msgid "Delete user %(user_name)s"
msgstr "Delete user %(user_name)s"
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:74
#: snikket_web/templates/admin_edit_user.html:58
msgid "Delete user"
msgstr "Delete user"
@@ -838,37 +864,37 @@ msgstr "Circle members"
msgid "All members of the circle will see each other in their contact list."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
msgid "The user has been deleted from the server."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
#: snikket_web/templates/library.j2:131
msgid "deleted"
msgstr "deleted"
#: snikket_web/templates/admin_edit_circle.html:91
#: snikket_web/templates/admin_edit_circle.html:89
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Remove user %(username)s from circle"
#: snikket_web/templates/admin_edit_circle.html:99
#: snikket_web/templates/admin_edit_circle.html:97
msgid "This circle currently has no members."
msgstr "This circle currently has no members."
#: snikket_web/templates/admin_edit_circle.html:101
#: snikket_web/templates/admin_edit_circle.html:99
msgid "Invite more members"
msgstr "Invite more members"
#: snikket_web/templates/admin_edit_circle.html:104
#: snikket_web/templates/admin_edit_circle.html:102
msgid "Add existing user"
msgstr "Add existing user"
#: snikket_web/templates/admin_edit_circle.html:115
#: snikket_web/templates/admin_edit_circle.html:113
msgid "All users added"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:116
#: snikket_web/templates/admin_edit_circle.html:114
msgid "All users on this service are already in this circle."
msgstr "All users on this service are already in this circle."
@@ -925,98 +951,76 @@ msgstr "Created"
msgid "Return to invitation list"
msgstr "New invitation link"
#: snikket_web/templates/admin_edit_user.html:5
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:7
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:9
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:20
#: snikket_web/templates/admin_edit_user.html:4
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Edit user %(user_name)s"
msgstr "Edit user %(user_name)s"
#: snikket_web/templates/admin_edit_user.html:24
#: snikket_web/templates/admin_edit_user.html:8
msgid "This user account is pending deletion"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_edit_user.html:9
#, python-format
msgid ""
"The owner of the account sent a deletion request on %(date)s using their app."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:26
#: snikket_web/templates/admin_edit_user.html:10
#, python-format
msgid ""
"The account has been locked, and will be automatically deleted permanently "
"in %(time)s."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:28
#: snikket_web/templates/admin_edit_user.html:12
msgid ""
"If this was a mistake, you can cancel the deletion and restore the account."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:34
#: snikket_web/templates/admin_edit_user.html:18
msgid "This user account is locked"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:35
#: snikket_web/templates/admin_edit_user.html:19
msgid ""
"The user will not be able to log in to their account until it is unlocked "
"again."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:41
#: snikket_web/templates/admin_edit_user.html:25
#, fuzzy
#| msgid "Add user"
msgid "Edit user"
msgstr "Add user"
#: snikket_web/templates/admin_edit_user.html:46
#: snikket_web/templates/admin_edit_user.html:30
msgid "The login name cannot be changed."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:54
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:61
#: snikket_web/templates/admin_edit_user.html:45
#, python-format
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:71
#: snikket_web/templates/admin_edit_user.html:55
#, fuzzy
#| msgid "New invitation link"
msgid "Return to user list"
msgstr "New invitation link"
#: snikket_web/templates/admin_edit_user.html:79
#: snikket_web/templates/admin_edit_user.html:63
msgid "Further actions"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:81
#: snikket_web/templates/admin_edit_user.html:65
#, fuzzy
#| msgid "Change your password"
msgid "Reset password"
msgstr "Change your password"
#: snikket_web/templates/admin_edit_user.html:84
#: snikket_web/templates/admin_edit_user.html:68
#, fuzzy
#| msgid ""
#| "If the user has forgotten their password, use the below button to create "
@@ -1031,20 +1035,20 @@ msgstr ""
"password reset link. The password reset link can be used once to change the "
"password of the account. Transmit the link to the user via a secure channel."
#: snikket_web/templates/admin_edit_user.html:89
#: snikket_web/templates/admin_edit_user.html:73
#, fuzzy
#| msgid "User information"
msgid "Debug information"
msgstr "User information"
#: snikket_web/templates/admin_edit_user.html:91
#: snikket_web/templates/admin_edit_user.html:75
msgid ""
"In some cases, extended information about the user account and the connected "
"devices is necessary to troubleshoot issues. The button below reveals this "
"(sensitive) information."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:95
#: snikket_web/templates/admin_edit_user.html:79
#, fuzzy
#| msgid "Show debug information for %(user_name)s"
msgid "Show debug information"
@@ -1188,7 +1192,7 @@ msgstr "System load (5-minute average)"
#: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
#: snikket_web/templates/admin_system.html:85
msgid "unknown"
msgstr ""
@@ -1238,14 +1242,32 @@ msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices"
#, fuzzy
#| msgid "Create circle"
msgid "Active users"
msgstr "Create circle"
#: snikket_web/templates/admin_system.html:83
msgid "Connected now:"
msgstr ""
#: snikket_web/templates/admin_system.html:88
msgid "Past 24 hours:"
msgstr ""
#: snikket_web/templates/admin_system.html:89
msgid "Past 7 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:90
msgid "Past 30 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:97
msgid "Broadcast message"
msgstr ""
#: snikket_web/templates/admin_system.html:92
#: snikket_web/templates/admin_system.html:99
msgid ""
"This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely."
@@ -1504,7 +1526,7 @@ msgid "Your address"
msgstr "Email address"
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#: snikket_web/templates/user_home.html:26
#, fuzzy
#| msgid "Email address"
msgid "Copy address"
@@ -1716,6 +1738,32 @@ msgstr "Manage users and invitations of this Snikket service."
msgid "Can be used once to create an account on this Snikket service."
msgstr "Manage users and invitations of this Snikket service."
#: snikket_web/templates/library.j2:153
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/library.j2:155
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/library.j2:157
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/library.j2:171
#, fuzzy
#| msgid "This invitation link can only be used once and is then depleted."
msgid "Invite a single person (invitation link can only be used once)."
msgstr "This invitation link can only be used once and is then depleted."
#: snikket_web/templates/library.j2:173
msgid "Invite a group of people (invitation link can be used multiple times)."
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket Login"
@@ -1787,53 +1835,56 @@ msgstr ""
msgid "Operation successful"
msgstr ""
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
msgstr "Welcome!"
#: snikket_web/templates/user_home.html:11
#, fuzzy
#| msgid "About Snikket"
msgid "Welcome to Snikket!"
msgstr "About Snikket"
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr "Welcome home, %(user_name)s."
#: snikket_web/templates/user_home.html:12
msgid ""
"Now your Snikket instance is up and running, the next step is to invite "
"people to join it. Family, friends, colleagues... you choose!"
msgstr ""
#: snikket_web/templates/user_home.html:14
#: snikket_web/templates/user_home.html:19
#, fuzzy
#| msgid "Create circle"
msgid "Your account"
msgstr "Create circle"
#: snikket_web/templates/user_home.html:20
#: snikket_web/templates/user_home.html:25
#, fuzzy
#| msgid "Email address"
msgid "Your XMPP address"
msgstr "Email address"
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_home.html:36
#, fuzzy
#| msgid "Update profile"
msgid "Edit profile"
msgstr "Update profile"
#: snikket_web/templates/user_home.html:33
#: snikket_web/templates/user_home.html:38
#: snikket_web/templates/user_manage_data.html:4
#, fuzzy
#| msgid "Manage users"
msgid "Manage your data"
msgstr "Manage users"
#: snikket_web/templates/user_home.html:39
#: snikket_web/templates/user_home.html:44
#, fuzzy
#| msgid "About Snikket"
msgid "Your Snikket"
msgstr "About Snikket"
#: snikket_web/templates/user_home.html:41
#: snikket_web/templates/user_home.html:46
#, fuzzy
#| msgid "Manage users and invitations of this Snikket service."
msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Manage users and invitations of this Snikket service."
#: snikket_web/templates/user_home.html:43
#: snikket_web/templates/user_home.html:48
#, fuzzy
#| msgid "Admin dashboard"
msgid "Admin panel"
@@ -1907,6 +1958,13 @@ msgstr ""
"This section allows you to control who can see your profile information, "
"like avatar and nickname."
#~ msgid "Welcome!"
#~ msgstr "Welcome!"
#, python-format
#~ msgid "Welcome home, %(user_name)s."
#~ msgstr "Welcome home, %(user_name)s."
#~ msgid "Create password reset link for %(user_name)s"
#~ msgstr "Create password reset link for %(user_name)s"
@@ -1923,9 +1981,6 @@ msgstr ""
#~ "This invitation link can be used arbitrarily often, until it expires, is "
#~ "revoked or a service-wide user limit is reached."
#~ msgid "This invitation link can only be used once and is then depleted."
#~ msgstr "This invitation link can only be used once and is then depleted."
#~ msgid "Modify administrative user information or delete users."
#~ msgstr "Modify administrative user information or delete users."

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-12-12 18:22+0000\n"
"POT-Creation-Date: 2024-04-27 14:22+0200\n"
"PO-Revision-Date: 2021-03-31 13:00+0000\n"
"Last-Translator: Tilman Jiménez <tilman.jimenez@tu-dortmund.de>\n"
"Language-Team: Spanish (Mexico) <https://i18n.sotecware.net/projects/snikket/"
@@ -26,261 +26,262 @@ msgid "Login name"
msgstr "Nombre de ingreso del usuario"
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:74 snikket_web/user.py:63
#: snikket_web/user.py:69
msgid "Display name"
msgstr "Nombre mostrado"
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:53
#: snikket_web/admin.py:77 snikket_web/admin.py:295
#: snikket_web/templates/admin_edit_user.html:37
msgid "Access Level"
msgstr "Nivel de acceso"
#: snikket_web/admin.py:79
#: snikket_web/admin.py:79 snikket_web/admin.py:297
msgid "Limited"
msgstr "Limitado"
#: snikket_web/admin.py:80
#: snikket_web/admin.py:80 snikket_web/admin.py:298
msgid "Normal user"
msgstr "Usuario normal"
#: snikket_web/admin.py:81
#: snikket_web/admin.py:81 snikket_web/admin.py:299
#, fuzzy
#| msgid "Admin area"
msgid "Administrator"
msgstr "Administración"
#: snikket_web/admin.py:86
#: snikket_web/admin.py:87
msgid "Update user"
msgstr "Actualizar usuario"
#: snikket_web/admin.py:90
#: snikket_web/admin.py:91
#, fuzzy
#| msgid "Create account"
msgid "Restore account"
msgstr "Crear cuenta"
#: snikket_web/admin.py:94
#: snikket_web/admin.py:95
#, fuzzy
#| msgid "Create account"
msgid "Unlock account"
msgstr "Crear cuenta"
#: snikket_web/admin.py:98
#: snikket_web/admin.py:99
#, fuzzy
#| msgid "Current password"
msgid "Create password reset link"
msgstr "Contraseña actual"
#: snikket_web/admin.py:116
#: snikket_web/admin.py:117
msgid "Password reset link created"
msgstr "Un enlace para restablecer la contraseña ha sido creado"
#: snikket_web/admin.py:128
#: snikket_web/admin.py:129
msgid "User account restored"
msgstr ""
#: snikket_web/admin.py:133
#: snikket_web/admin.py:134
msgid "User account unlocked"
msgstr ""
#: snikket_web/admin.py:140
#: snikket_web/admin.py:141
msgid "Could not restore user account"
msgstr ""
#: snikket_web/admin.py:145
#: snikket_web/admin.py:146
msgid "Could not unlock user account"
msgstr ""
#: snikket_web/admin.py:157
#: snikket_web/admin.py:158
#, fuzzy
#| msgid "Circle information"
msgid "User information updated."
msgstr "Información del círculo"
#: snikket_web/admin.py:179
#: snikket_web/admin.py:180
msgid "Delete user permanently"
msgstr "Eliminar usuario permanentemente"
#: snikket_web/admin.py:192
#: snikket_web/admin.py:193
msgid "User deleted"
msgstr "Usuario eliminado"
#: snikket_web/admin.py:230
#: snikket_web/admin.py:231
msgid "Password reset link not found"
msgstr "No hemos encontrado un enlace para restablecer la contraseña"
#: snikket_web/admin.py:242
#: snikket_web/admin.py:243
msgid "Password reset link deleted"
msgstr "Enlace para restablecer la contraseña eliminado"
#: snikket_web/admin.py:262
#: snikket_web/admin.py:263
msgid "Invite to circle"
msgstr "Invitar al círculo"
#: snikket_web/admin.py:268
#: snikket_web/admin.py:269
msgid "At least one circle must be selected"
msgstr "Seleccione al menos un círculo"
#: snikket_web/admin.py:273
#: snikket_web/admin.py:274
msgid "Valid for"
msgstr "Válido por"
#: snikket_web/admin.py:275
#: snikket_web/admin.py:276
msgid "One hour"
msgstr "Una hora"
#: snikket_web/admin.py:276
#: snikket_web/admin.py:277
msgid "Twelve hours"
msgstr "Doce horas"
#: snikket_web/admin.py:277
#: snikket_web/admin.py:278
msgid "One day"
msgstr "Un día"
#: snikket_web/admin.py:278
#: snikket_web/admin.py:279
msgid "One week"
msgstr "Una semana"
#: snikket_web/admin.py:279
#: snikket_web/admin.py:280
msgid "Four weeks"
msgstr "Cuatro semanas"
#: snikket_web/admin.py:285 snikket_web/templates/admin_edit_invite.html:17
#: snikket_web/admin.py:286 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr "Tipo de invitación"
#: snikket_web/admin.py:287 snikket_web/templates/library.j2:139
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:139
msgid "Individual"
msgstr "Individual"
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:137
#: snikket_web/admin.py:289 snikket_web/templates/library.j2:137
msgid "Group"
msgstr "Grupo"
#: snikket_web/admin.py:294
#: snikket_web/admin.py:305
msgid "New invitation link"
msgstr "Nuevo enlace de invitación"
#: snikket_web/admin.py:356
#: snikket_web/admin.py:367
msgid "Revoke"
msgstr "Revocar/Eliminar"
#: snikket_web/admin.py:380
#: snikket_web/admin.py:393
#, fuzzy
#| msgid "Invitation type"
msgid "Invitation created"
msgstr "Tipo de invitación"
#: snikket_web/admin.py:396
#: snikket_web/admin.py:409
#, fuzzy
#| msgid "New invitation link"
msgid "No such invitation exists"
msgstr "Nuevo enlace de invitación"
#: snikket_web/admin.py:411
#: snikket_web/admin.py:424
#, fuzzy
#| msgid "Invitation type"
msgid "Invitation revoked"
msgstr "Tipo de invitación"
#: snikket_web/admin.py:428 snikket_web/admin.py:476
#: snikket_web/admin.py:441 snikket_web/admin.py:489
#: snikket_web/templates/admin_delete_circle.html:10
#: snikket_web/templates/admin_edit_circle.html:44
msgid "Name"
msgstr "Nombre"
#: snikket_web/admin.py:433 snikket_web/templates/admin_circles.html:47
#: snikket_web/admin.py:446 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Crear círculo"
#: snikket_web/admin.py:463
#: snikket_web/admin.py:476
#, fuzzy
#| msgid "Circle name"
msgid "Circle created"
msgstr "Nombre del círculo"
#: snikket_web/admin.py:481
#: snikket_web/admin.py:494
msgid "Select user"
msgstr "Seleccionar usuario"
#: snikket_web/admin.py:486
#: snikket_web/admin.py:499
msgid "Update circle"
msgstr "Actualizar círculo"
#: snikket_web/admin.py:492
#: snikket_web/admin.py:505
msgid "Add user"
msgstr "Añadir usuario"
#: snikket_web/admin.py:510 snikket_web/admin.py:609 snikket_web/admin.py:657
#: snikket_web/admin.py:523 snikket_web/admin.py:622 snikket_web/admin.py:670
#, fuzzy
#| msgid "No circles"
msgid "No such circle exists"
msgstr "No hay círculos"
#: snikket_web/admin.py:547
#: snikket_web/admin.py:560
#, fuzzy
#| msgid "Circle name"
msgid "Circle data updated"
msgstr "Nombre del círculo"
#: snikket_web/admin.py:557
#: snikket_web/admin.py:570
#, fuzzy
#| msgid "Invite to circle"
msgid "User added to circle"
msgstr "Invitar al círculo"
#: snikket_web/admin.py:566
#: snikket_web/admin.py:579
msgid "User removed from circle"
msgstr ""
#: snikket_web/admin.py:575
#: snikket_web/admin.py:588
msgid "Chat removed from circle"
msgstr ""
#: snikket_web/admin.py:593
#: snikket_web/admin.py:606
msgid "Delete circle permanently"
msgstr "Eliminar círculo permanentemente"
#: snikket_web/admin.py:620
#: snikket_web/admin.py:633
#, fuzzy
#| msgid "Circle members"
msgid "Circle deleted"
msgstr "Miembros del círculo"
#: snikket_web/admin.py:634
#: snikket_web/admin.py:647
#, fuzzy
#| msgid "Group chat address"
msgid "Group chat name"
msgstr "Dirección de la conversación de grupo"
#: snikket_web/admin.py:639
#: snikket_web/admin.py:652
#, fuzzy
#| msgid "Create account"
msgid "Create group chat"
msgstr "Crear cuenta"
#: snikket_web/admin.py:669
#: snikket_web/admin.py:682
#, fuzzy
#| msgid "Invite to circle"
msgid "New group chat added to circle"
msgstr "Invitar al círculo"
#: snikket_web/admin.py:736
#: snikket_web/admin.py:749
msgid "Message contents"
msgstr ""
#: snikket_web/admin.py:742
#: snikket_web/admin.py:755
msgid "Only send to online users"
msgstr ""
#: snikket_web/admin.py:746
#: snikket_web/admin.py:759
msgid "Post to all users"
msgstr ""
#: snikket_web/admin.py:750
#: snikket_web/admin.py:763
msgid "Send preview to yourself"
msgstr ""
#: snikket_web/admin.py:772
#: snikket_web/admin.py:785
msgid "Announcement sent!"
msgstr ""
@@ -315,64 +316,64 @@ msgstr ""
msgid "Username"
msgstr "Usuario"
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
#: snikket_web/invite.py:118 snikket_web/invite.py:190 snikket_web/main.py:43
msgid "Password"
msgstr "Contraseña"
#: snikket_web/invite.py:122 snikket_web/invite.py:190
#: snikket_web/invite.py:126 snikket_web/invite.py:198
msgid "Confirm password"
msgstr "Confirmar contraseña"
#: snikket_web/invite.py:126 snikket_web/invite.py:194
#: snikket_web/invite.py:130 snikket_web/invite.py:202
#, fuzzy
#| msgid "The passwords must match"
msgid "The passwords must match."
msgstr "Las contraseñas deben ser las mismas"
#: snikket_web/invite.py:131
#: snikket_web/invite.py:135
msgid "Create account"
msgstr "Crear cuenta"
#: snikket_web/invite.py:158
#: snikket_web/invite.py:162
#, fuzzy
#| msgid "That username is already taken"
msgid "That username is already taken."
msgstr "Ese nombre de usuario ya está siendo utilizado"
#: snikket_web/invite.py:162 snikket_web/invite.py:227
#: snikket_web/invite.py:166 snikket_web/invite.py:235
#, fuzzy
#| msgid "Registration was declined for unknown reasons"
msgid "Registration was declined for unknown reasons."
msgstr "El registro ha sido declinado por razones no identificadas"
#: snikket_web/invite.py:166
#: snikket_web/invite.py:170
#, fuzzy
#| msgid "The username is not valid"
msgid "The username is not valid."
msgstr "El nombre de usuario no es válido"
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
#: snikket_web/invite.py:207 snikket_web/templates/user_home.html:37
#: snikket_web/templates/user_passwd.html:29
msgid "Change password"
msgstr "Cambiar contraseña"
#: snikket_web/invite.py:246
#: snikket_web/invite.py:254
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:250
#: snikket_web/invite.py:258
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:271
#: snikket_web/invite.py:279
#, python-format
msgid ""
"The account data you tried to import is in an unknown format. Please upload "
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
msgstr ""
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
#: snikket_web/invite.py:299 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:189
msgid "Error"
msgstr ""
@@ -400,79 +401,79 @@ msgstr "Contraseña actual"
msgid "New password"
msgstr "Nueva contraseña"
#: snikket_web/user.py:39
#: snikket_web/user.py:42
msgid "Confirm new password"
msgstr "Confirmar nueva contraseña"
#: snikket_web/user.py:43
#: snikket_web/user.py:47
#, fuzzy
#| msgid "The new passwords must match"
msgid "The new passwords must match."
msgstr "Las nuevas contraseñas deben ser iguales"
#: snikket_web/user.py:50
#: snikket_web/user.py:56
msgid "Sign out"
msgstr ""
#: snikket_web/user.py:55
#: snikket_web/user.py:61
msgid "Nobody"
msgstr "Nadie"
#: snikket_web/user.py:56
#: snikket_web/user.py:62
msgid "Friends only"
msgstr "Únicamente amigos"
#: snikket_web/user.py:57
#: snikket_web/user.py:63
msgid "Everyone"
msgstr "Todos"
#: snikket_web/user.py:67
#: snikket_web/user.py:73
msgid "Avatar"
msgstr "Imagen de perfil"
#: snikket_web/user.py:71
#: snikket_web/user.py:77
msgid "Profile visibility"
msgstr "Visibilidad de perfil"
#: snikket_web/user.py:76
#: snikket_web/user.py:82
msgid "Update profile"
msgstr "Actualizar perfil"
#: snikket_web/user.py:82
#: snikket_web/user.py:88
msgid "Account data"
msgstr ""
#: snikket_web/user.py:86
#: snikket_web/user.py:92
msgid "Upload"
msgstr ""
#: snikket_web/user.py:111
#: snikket_web/user.py:122
#, fuzzy
#| msgid "Incorrect password"
msgid "Incorrect password."
msgstr "Contraseña incorrecta"
#: snikket_web/user.py:115
#: snikket_web/user.py:126
#, fuzzy
#| msgid "Password"
msgid "Password changed"
msgstr "Contraseña"
#: snikket_web/user.py:123
#: snikket_web/user.py:134
msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app."
msgstr ""
#: snikket_web/user.py:170
#: snikket_web/user.py:181
msgid "Profile updated"
msgstr ""
#: snikket_web/user.py:184
#: snikket_web/user.py:195
msgid "Export"
msgstr ""
#: snikket_web/user.py:202
#: snikket_web/user.py:213
msgid "You currently have no account data to export."
msgstr ""
@@ -608,7 +609,7 @@ msgstr "Miembros"
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_edit_circle.html:45
#: snikket_web/templates/admin_edit_circle.html:75
#: snikket_web/templates/admin_edit_circle.html:74
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:10
msgid "Actions"
@@ -671,11 +672,12 @@ msgstr ""
msgid "Create invitation"
msgstr "Crear una invitación"
#: snikket_web/templates/admin_create_invite_form.html:5
#: snikket_web/templates/admin_create_invite_form.html:9
#: snikket_web/templates/user_home.html:13
msgid "Create new invitation"
msgstr "Crear una nueva invitación"
#: snikket_web/templates/admin_create_invite_form.html:6
#: snikket_web/templates/admin_create_invite_form.html:10
msgid ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
@@ -683,6 +685,30 @@ msgstr ""
"Presiona el botón para crear una nueva invitación y poder añadir más "
"usuarios a tu servicio Snikket."
#: snikket_web/templates/admin_create_invite_form.html:16
msgid ""
"Choose whether this invitation link will allow more than one person to join."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:21
#, python-format
msgid ""
"<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:34
#: snikket_web/templates/admin_edit_user.html:38
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:38
#, python-format
msgid ""
"<span class=\"access-level\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
msgid "Debug information for %(user_name)s"
@@ -759,7 +785,7 @@ msgid "Delete user %(user_name)s"
msgstr "Eliminar al usuario %(user_name)s"
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:74
#: snikket_web/templates/admin_edit_user.html:58
msgid "Delete user"
msgstr "Eliminar usuario"
@@ -833,37 +859,37 @@ msgstr "Miembros del círculo"
msgid "All members of the circle will see each other in their contact list."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
msgid "The user has been deleted from the server."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
#: snikket_web/templates/library.j2:131
msgid "deleted"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:91
#: snikket_web/templates/admin_edit_circle.html:89
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Remover al usuario %(username)s del círculo"
#: snikket_web/templates/admin_edit_circle.html:99
#: snikket_web/templates/admin_edit_circle.html:97
msgid "This circle currently has no members."
msgstr "Actualmente este círculo no tiene miembros."
#: snikket_web/templates/admin_edit_circle.html:101
#: snikket_web/templates/admin_edit_circle.html:99
msgid "Invite more members"
msgstr "Invitar a más miembros"
#: snikket_web/templates/admin_edit_circle.html:104
#: snikket_web/templates/admin_edit_circle.html:102
msgid "Add existing user"
msgstr "Añadir a un usuario existente"
#: snikket_web/templates/admin_edit_circle.html:115
#: snikket_web/templates/admin_edit_circle.html:113
msgid "All users added"
msgstr "Todos los usuarios han sido añadidos"
#: snikket_web/templates/admin_edit_circle.html:116
#: snikket_web/templates/admin_edit_circle.html:114
msgid "All users on this service are already in this circle."
msgstr "Todos los usuarios de este servicio ya están en este círculo."
@@ -922,118 +948,96 @@ msgstr "Creado"
msgid "Return to invitation list"
msgstr "Nuevo enlace de invitación"
#: snikket_web/templates/admin_edit_user.html:5
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:7
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:9
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:20
#: snikket_web/templates/admin_edit_user.html:4
#: snikket_web/templates/admin_users.html:28
#, fuzzy, python-format
#| msgid "Delete user %(user_name)s"
msgid "Edit user %(user_name)s"
msgstr "Eliminar al usuario %(user_name)s"
#: snikket_web/templates/admin_edit_user.html:24
#: snikket_web/templates/admin_edit_user.html:8
msgid "This user account is pending deletion"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_edit_user.html:9
#, python-format
msgid ""
"The owner of the account sent a deletion request on %(date)s using their app."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:26
#: snikket_web/templates/admin_edit_user.html:10
#, python-format
msgid ""
"The account has been locked, and will be automatically deleted permanently "
"in %(time)s."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:28
#: snikket_web/templates/admin_edit_user.html:12
msgid ""
"If this was a mistake, you can cancel the deletion and restore the account."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:34
#: snikket_web/templates/admin_edit_user.html:18
msgid "This user account is locked"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:35
#: snikket_web/templates/admin_edit_user.html:19
msgid ""
"The user will not be able to log in to their account until it is unlocked "
"again."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:41
#: snikket_web/templates/admin_edit_user.html:25
#, fuzzy
#| msgid "Add user"
msgid "Edit user"
msgstr "Añadir usuario"
#: snikket_web/templates/admin_edit_user.html:46
#: snikket_web/templates/admin_edit_user.html:30
msgid "The login name cannot be changed."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:54
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:61
#: snikket_web/templates/admin_edit_user.html:45
#, python-format
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:71
#: snikket_web/templates/admin_edit_user.html:55
#, fuzzy
#| msgid "New invitation link"
msgid "Return to user list"
msgstr "Nuevo enlace de invitación"
#: snikket_web/templates/admin_edit_user.html:79
#: snikket_web/templates/admin_edit_user.html:63
msgid "Further actions"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:81
#: snikket_web/templates/admin_edit_user.html:65
#, fuzzy
#| msgid "New password"
msgid "Reset password"
msgstr "Nueva contraseña"
#: snikket_web/templates/admin_edit_user.html:84
#: snikket_web/templates/admin_edit_user.html:68
msgid ""
"If the user has lost their password, you can use the button below to create "
"a special link which allows to change the password of the account, once."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:89
#: snikket_web/templates/admin_edit_user.html:73
#, fuzzy
#| msgid "Circle information"
msgid "Debug information"
msgstr "Información del círculo"
#: snikket_web/templates/admin_edit_user.html:91
#: snikket_web/templates/admin_edit_user.html:75
msgid ""
"In some cases, extended information about the user account and the connected "
"devices is necessary to troubleshoot issues. The button below reveals this "
"(sensitive) information."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:95
#: snikket_web/templates/admin_edit_user.html:79
#, fuzzy
#| msgid "Circle information"
msgid "Show debug information"
@@ -1168,7 +1172,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
#: snikket_web/templates/admin_system.html:85
msgid "unknown"
msgstr ""
@@ -1218,14 +1222,32 @@ msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices"
#, fuzzy
#| msgid "Update user"
msgid "Active users"
msgstr "Actualizar usuario"
#: snikket_web/templates/admin_system.html:83
msgid "Connected now:"
msgstr ""
#: snikket_web/templates/admin_system.html:88
msgid "Past 24 hours:"
msgstr ""
#: snikket_web/templates/admin_system.html:89
msgid "Past 7 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:90
msgid "Past 30 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:97
msgid "Broadcast message"
msgstr ""
#: snikket_web/templates/admin_system.html:92
#: snikket_web/templates/admin_system.html:99
msgid ""
"This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely."
@@ -1474,7 +1496,7 @@ msgid "Your address"
msgstr ""
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#: snikket_web/templates/user_home.html:26
msgid "Copy address"
msgstr "Copiar dirección"
@@ -1680,6 +1702,30 @@ msgstr ""
msgid "Can be used once to create an account on this Snikket service."
msgstr ""
#: snikket_web/templates/library.j2:153
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/library.j2:155
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/library.j2:157
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/library.j2:171
msgid "Invite a single person (invitation link can only be used once)."
msgstr ""
#: snikket_web/templates/library.j2:173
msgid "Invite a group of people (invitation link can be used multiple times)."
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr ""
@@ -1752,45 +1798,62 @@ msgstr ""
msgid "Operation successful"
msgstr ""
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
#: snikket_web/templates/user_home.html:11
#, fuzzy
#| msgid "About Snikket"
msgid "Welcome to Snikket!"
msgstr "Acerca de Snikket"
#: snikket_web/templates/user_home.html:12
msgid ""
"Now your Snikket instance is up and running, the next step is to invite "
"people to join it. Family, friends, colleagues... you choose!"
msgstr ""
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr ""
#: snikket_web/templates/user_home.html:14
#: snikket_web/templates/user_home.html:19
#, fuzzy
#| msgid "Create account"
msgid "Your account"
msgstr ""
msgstr "Crear cuenta"
#: snikket_web/templates/user_home.html:20
#: snikket_web/templates/user_home.html:25
#, fuzzy
#| msgid "Copy address"
msgid "Your XMPP address"
msgstr ""
msgstr "Copiar dirección"
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_home.html:36
#, fuzzy
#| msgid "Update profile"
msgid "Edit profile"
msgstr ""
msgstr "Actualizar perfil"
#: snikket_web/templates/user_home.html:33
#: snikket_web/templates/user_home.html:38
#: snikket_web/templates/user_manage_data.html:4
#, fuzzy
#| msgid "Manage users"
msgid "Manage your data"
msgstr "Administrar usuarios"
#: snikket_web/templates/user_home.html:39
#: snikket_web/templates/user_home.html:44
#, fuzzy
#| msgid "About Snikket"
msgid "Your Snikket"
msgstr ""
msgstr "Acerca de Snikket"
#: snikket_web/templates/user_home.html:41
#: snikket_web/templates/user_home.html:46
#, fuzzy
#| msgid "Please try again later and/or inform your Snikket service admin."
msgid "Manage users, invitations and circles of your Snikket service."
msgstr ""
"Por favor intente más tarde y/o informe al administrador de su servicio "
"Snikket."
#: snikket_web/templates/user_home.html:43
#: snikket_web/templates/user_home.html:48
#, fuzzy
#| msgid "Admin area"
msgid "Admin panel"
msgstr ""
msgstr "Administración"
#: snikket_web/templates/user_logout.html:5
msgid "Sign out of the Snikket Web Portal"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-12-12 18:22+0000\n"
"POT-Creation-Date: 2024-04-27 14:22+0200\n"
"PO-Revision-Date: 2021-01-28 17:55+0000\n"
"Last-Translator: pep <pep@bouah.net>\n"
"Language-Team: Japanese <https://i18n.sotecware.net/projects/snikket/web-"
@@ -26,273 +26,274 @@ msgid "Login name"
msgstr "ロゲイン名"
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:74 snikket_web/user.py:63
#: snikket_web/user.py:69
msgid "Display name"
msgstr "表示名"
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:53
#: snikket_web/admin.py:77 snikket_web/admin.py:295
#: snikket_web/templates/admin_edit_user.html:37
msgid "Access Level"
msgstr ""
#: snikket_web/admin.py:79
#: snikket_web/admin.py:79 snikket_web/admin.py:297
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:80
#: snikket_web/admin.py:80 snikket_web/admin.py:298
msgid "Normal user"
msgstr ""
#: snikket_web/admin.py:81
#: snikket_web/admin.py:81 snikket_web/admin.py:299
#, fuzzy
#| msgid "Admin area"
msgid "Administrator"
msgstr "管理"
#: snikket_web/admin.py:86
#: snikket_web/admin.py:87
#, fuzzy
#| msgid "Update circle"
msgid "Update user"
msgstr "サークルを更新"
#: snikket_web/admin.py:90
#: snikket_web/admin.py:91
#, fuzzy
#| msgid "Create account"
msgid "Restore account"
msgstr "アカウント作成"
#: snikket_web/admin.py:94
#: snikket_web/admin.py:95
#, fuzzy
#| msgid "Create account"
msgid "Unlock account"
msgstr "アカウント作成"
#: snikket_web/admin.py:98
#: snikket_web/admin.py:99
#, fuzzy
#| msgid "Password reset link for %(user_name)s"
msgid "Create password reset link"
msgstr "%(user_name)s のパスワード再設定リンク"
#: snikket_web/admin.py:116
#: snikket_web/admin.py:117
#, fuzzy
#| msgid "Password reset link for %(user_name)s"
msgid "Password reset link created"
msgstr "%(user_name)s のパスワード再設定リンク"
#: snikket_web/admin.py:128
#: snikket_web/admin.py:129
msgid "User account restored"
msgstr ""
#: snikket_web/admin.py:133
#: snikket_web/admin.py:134
msgid "User account unlocked"
msgstr ""
#: snikket_web/admin.py:140
#: snikket_web/admin.py:141
msgid "Could not restore user account"
msgstr ""
#: snikket_web/admin.py:145
#: snikket_web/admin.py:146
msgid "Could not unlock user account"
msgstr ""
#: snikket_web/admin.py:157
#: snikket_web/admin.py:158
#, fuzzy
#| msgid "User information"
msgid "User information updated."
msgstr "ユーザー詳細"
#: snikket_web/admin.py:179
#: snikket_web/admin.py:180
msgid "Delete user permanently"
msgstr "ユーザーを削除する"
#: snikket_web/admin.py:192
#: snikket_web/admin.py:193
msgid "User deleted"
msgstr ""
#: snikket_web/admin.py:230
#: snikket_web/admin.py:231
#, fuzzy
#| msgid "Password reset link for %(user_name)s"
msgid "Password reset link not found"
msgstr "%(user_name)s のパスワード再設定リンク"
#: snikket_web/admin.py:242
#: snikket_web/admin.py:243
#, fuzzy
#| msgid "Password reset link for %(user_name)s"
msgid "Password reset link deleted"
msgstr "%(user_name)s のパスワード再設定リンク"
#: snikket_web/admin.py:262
#: snikket_web/admin.py:263
msgid "Invite to circle"
msgstr "サークルに紹介する"
#: snikket_web/admin.py:268
#: snikket_web/admin.py:269
msgid "At least one circle must be selected"
msgstr "サークルを選択してください"
#: snikket_web/admin.py:273
#: snikket_web/admin.py:274
msgid "Valid for"
msgstr "有効期限"
#: snikket_web/admin.py:275
#: snikket_web/admin.py:276
msgid "One hour"
msgstr "一時間"
#: snikket_web/admin.py:276
#: snikket_web/admin.py:277
msgid "Twelve hours"
msgstr "12時間"
#: snikket_web/admin.py:277
#: snikket_web/admin.py:278
msgid "One day"
msgstr "一日"
#: snikket_web/admin.py:278
#: snikket_web/admin.py:279
msgid "One week"
msgstr "一週間"
#: snikket_web/admin.py:279
#: snikket_web/admin.py:280
msgid "Four weeks"
msgstr "4週間"
#: snikket_web/admin.py:285 snikket_web/templates/admin_edit_invite.html:17
#: snikket_web/admin.py:286 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr "紹介の種類"
#: snikket_web/admin.py:287 snikket_web/templates/library.j2:139
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:139
msgid "Individual"
msgstr "一回"
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:137
#: snikket_web/admin.py:289 snikket_web/templates/library.j2:137
msgid "Group"
msgstr "複数回"
#: snikket_web/admin.py:294
#: snikket_web/admin.py:305
msgid "New invitation link"
msgstr "新しい紹介状"
#: snikket_web/admin.py:356
#: snikket_web/admin.py:367
msgid "Revoke"
msgstr "取り消す"
#: snikket_web/admin.py:380
#: snikket_web/admin.py:393
#, fuzzy
#| msgid "Invitation type"
msgid "Invitation created"
msgstr "紹介の種類"
#: snikket_web/admin.py:396
#: snikket_web/admin.py:409
#, fuzzy
#| msgid "New invitation link"
msgid "No such invitation exists"
msgstr "新しい紹介状"
#: snikket_web/admin.py:411
#: snikket_web/admin.py:424
#, fuzzy
#| msgid "Invitation type"
msgid "Invitation revoked"
msgstr "紹介の種類"
#: snikket_web/admin.py:428 snikket_web/admin.py:476
#: snikket_web/admin.py:441 snikket_web/admin.py:489
#: snikket_web/templates/admin_delete_circle.html:10
#: snikket_web/templates/admin_edit_circle.html:44
msgid "Name"
msgstr "名"
#: snikket_web/admin.py:433 snikket_web/templates/admin_circles.html:47
#: snikket_web/admin.py:446 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "サークルを作成"
#: snikket_web/admin.py:463
#: snikket_web/admin.py:476
#, fuzzy
#| msgid "Circle name"
msgid "Circle created"
msgstr "サークル名"
#: snikket_web/admin.py:481
#: snikket_web/admin.py:494
msgid "Select user"
msgstr "ユーザー選択"
#: snikket_web/admin.py:486
#: snikket_web/admin.py:499
msgid "Update circle"
msgstr "サークルを更新"
#: snikket_web/admin.py:492
#: snikket_web/admin.py:505
msgid "Add user"
msgstr "ユーザーを追加する"
#: snikket_web/admin.py:510 snikket_web/admin.py:609 snikket_web/admin.py:657
#: snikket_web/admin.py:523 snikket_web/admin.py:622 snikket_web/admin.py:670
#, fuzzy
#| msgid "No circles"
msgid "No such circle exists"
msgstr "なし"
#: snikket_web/admin.py:547
#: snikket_web/admin.py:560
#, fuzzy
#| msgid "Circle name"
msgid "Circle data updated"
msgstr "サークル名"
#: snikket_web/admin.py:557
#: snikket_web/admin.py:570
#, fuzzy
#| msgid "Invite to circle"
msgid "User added to circle"
msgstr "サークルに紹介する"
#: snikket_web/admin.py:566
#: snikket_web/admin.py:579
#, fuzzy
#| msgid "Remove user %(username)s from circle"
msgid "User removed from circle"
msgstr "%(username)s をサークルから外す"
#: snikket_web/admin.py:575
#: snikket_web/admin.py:588
#, fuzzy
#| msgid "Remove user %(username)s from circle"
msgid "Chat removed from circle"
msgstr "%(username)s をサークルから外す"
#: snikket_web/admin.py:593
#: snikket_web/admin.py:606
msgid "Delete circle permanently"
msgstr "サークルを削除"
#: snikket_web/admin.py:620
#: snikket_web/admin.py:633
#, fuzzy
#| msgid "Circle members"
msgid "Circle deleted"
msgstr "サークル会員"
#: snikket_web/admin.py:634
#: snikket_web/admin.py:647
#, fuzzy
#| msgid "Group chat address"
msgid "Group chat name"
msgstr "談話室アドレス"
#: snikket_web/admin.py:639
#: snikket_web/admin.py:652
#, fuzzy
#| msgid "Create account"
msgid "Create group chat"
msgstr "アカウント作成"
#: snikket_web/admin.py:669
#: snikket_web/admin.py:682
#, fuzzy
#| msgid "Invite to circle"
msgid "New group chat added to circle"
msgstr "サークルに紹介する"
#: snikket_web/admin.py:736
#: snikket_web/admin.py:749
msgid "Message contents"
msgstr ""
#: snikket_web/admin.py:742
#: snikket_web/admin.py:755
msgid "Only send to online users"
msgstr ""
#: snikket_web/admin.py:746
#: snikket_web/admin.py:759
msgid "Post to all users"
msgstr ""
#: snikket_web/admin.py:750
#: snikket_web/admin.py:763
msgid "Send preview to yourself"
msgstr ""
#: snikket_web/admin.py:772
#: snikket_web/admin.py:785
msgid "Announcement sent!"
msgstr ""
@@ -327,64 +328,64 @@ msgstr ""
msgid "Username"
msgstr "ユーザー名"
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
#: snikket_web/invite.py:118 snikket_web/invite.py:190 snikket_web/main.py:43
msgid "Password"
msgstr "パスワード"
#: snikket_web/invite.py:122 snikket_web/invite.py:190
#: snikket_web/invite.py:126 snikket_web/invite.py:198
msgid "Confirm password"
msgstr "確認用パスワード"
#: snikket_web/invite.py:126 snikket_web/invite.py:194
#: snikket_web/invite.py:130 snikket_web/invite.py:202
#, fuzzy
#| msgid "The passwords must match"
msgid "The passwords must match."
msgstr "確認用パスワードが一致しません"
#: snikket_web/invite.py:131
#: snikket_web/invite.py:135
msgid "Create account"
msgstr "アカウント作成"
#: snikket_web/invite.py:158
#: snikket_web/invite.py:162
#, fuzzy
#| msgid "That username is already taken"
msgid "That username is already taken."
msgstr "このユーザー名は存在しています"
#: snikket_web/invite.py:162 snikket_web/invite.py:227
#: snikket_web/invite.py:166 snikket_web/invite.py:235
#, fuzzy
#| msgid "Registration was declined for unknown reasons"
msgid "Registration was declined for unknown reasons."
msgstr "理由不明の登録エラー"
#: snikket_web/invite.py:166
#: snikket_web/invite.py:170
#, fuzzy
#| msgid "The username is not valid"
msgid "The username is not valid."
msgstr "ユーザー名が不正"
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
#: snikket_web/invite.py:207 snikket_web/templates/user_home.html:37
#: snikket_web/templates/user_passwd.html:29
msgid "Change password"
msgstr "パスワード変更"
#: snikket_web/invite.py:246
#: snikket_web/invite.py:254
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:250
#: snikket_web/invite.py:258
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:271
#: snikket_web/invite.py:279
#, python-format
msgid ""
"The account data you tried to import is in an unknown format. Please upload "
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
msgstr ""
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
#: snikket_web/invite.py:299 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:189
msgid "Error"
msgstr ""
@@ -412,81 +413,81 @@ msgstr "現在のパスワード"
msgid "New password"
msgstr "新しいパスワード"
#: snikket_web/user.py:39
#: snikket_web/user.py:42
msgid "Confirm new password"
msgstr "新しいパスワードの確認"
#: snikket_web/user.py:43
#: snikket_web/user.py:47
#, fuzzy
#| msgid "The new passwords must match"
msgid "The new passwords must match."
msgstr "新しいパスワードが不一致"
#: snikket_web/user.py:50
#: snikket_web/user.py:56
msgid "Sign out"
msgstr "サインアウト"
#: snikket_web/user.py:55
#: snikket_web/user.py:61
msgid "Nobody"
msgstr ""
#: snikket_web/user.py:56
#: snikket_web/user.py:62
msgid "Friends only"
msgstr "コンタクト限定"
#: snikket_web/user.py:57
#: snikket_web/user.py:63
msgid "Everyone"
msgstr "全員"
#: snikket_web/user.py:67
#: snikket_web/user.py:73
msgid "Avatar"
msgstr "アバター"
#: snikket_web/user.py:71
#: snikket_web/user.py:77
msgid "Profile visibility"
msgstr ""
#: snikket_web/user.py:76
#: snikket_web/user.py:82
msgid "Update profile"
msgstr "プロファイル管理"
#: snikket_web/user.py:82
#: snikket_web/user.py:88
msgid "Account data"
msgstr ""
#: snikket_web/user.py:86
#: snikket_web/user.py:92
msgid "Upload"
msgstr ""
#: snikket_web/user.py:111
#: snikket_web/user.py:122
#, fuzzy
#| msgid "Incorrect password"
msgid "Incorrect password."
msgstr "パスワード不正"
#: snikket_web/user.py:115
#: snikket_web/user.py:126
#, fuzzy
#| msgid "Password reset"
msgid "Password changed"
msgstr "パスワード再設定"
#: snikket_web/user.py:123
#: snikket_web/user.py:134
msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app."
msgstr ""
#: snikket_web/user.py:170
#: snikket_web/user.py:181
#, fuzzy
#| msgid "Profile"
msgid "Profile updated"
msgstr "プロファイル"
#: snikket_web/user.py:184
#: snikket_web/user.py:195
msgid "Export"
msgstr ""
#: snikket_web/user.py:202
#: snikket_web/user.py:213
msgid "You currently have no account data to export."
msgstr ""
@@ -609,7 +610,7 @@ msgstr "サークル員"
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_edit_circle.html:45
#: snikket_web/templates/admin_edit_circle.html:75
#: snikket_web/templates/admin_edit_circle.html:74
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:10
msgid "Actions"
@@ -670,16 +671,41 @@ msgstr ""
msgid "Create invitation"
msgstr "紹介状作成"
#: snikket_web/templates/admin_create_invite_form.html:5
#: snikket_web/templates/admin_create_invite_form.html:9
#: snikket_web/templates/user_home.html:13
msgid "Create new invitation"
msgstr "新しい紹介状を作成"
#: snikket_web/templates/admin_create_invite_form.html:6
#: snikket_web/templates/admin_create_invite_form.html:10
msgid ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
msgstr "友達をこのSnikketサービスに紹介するにはこの下のボタンを。"
#: snikket_web/templates/admin_create_invite_form.html:16
msgid ""
"Choose whether this invitation link will allow more than one person to join."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:21
#, python-format
msgid ""
"<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:34
#: snikket_web/templates/admin_edit_user.html:38
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:38
#, python-format
msgid ""
"<span class=\"access-level\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
msgid "Debug information for %(user_name)s"
@@ -755,7 +781,7 @@ msgid "Delete user %(user_name)s"
msgstr "%(user_name)s を削除"
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:74
#: snikket_web/templates/admin_edit_user.html:58
msgid "Delete user"
msgstr "ユーザー削除"
@@ -824,37 +850,37 @@ msgstr "サークル会員"
msgid "All members of the circle will see each other in their contact list."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
msgid "The user has been deleted from the server."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
#: snikket_web/templates/library.j2:131
msgid "deleted"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:91
#: snikket_web/templates/admin_edit_circle.html:89
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "%(username)s をサークルから外す"
#: snikket_web/templates/admin_edit_circle.html:99
#: snikket_web/templates/admin_edit_circle.html:97
msgid "This circle currently has no members."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:101
#: snikket_web/templates/admin_edit_circle.html:99
msgid "Invite more members"
msgstr "会員を紹介する"
#: snikket_web/templates/admin_edit_circle.html:104
#: snikket_web/templates/admin_edit_circle.html:102
msgid "Add existing user"
msgstr "ユーザー追加"
#: snikket_web/templates/admin_edit_circle.html:115
#: snikket_web/templates/admin_edit_circle.html:113
msgid "All users added"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:116
#: snikket_web/templates/admin_edit_circle.html:114
msgid "All users on this service are already in this circle."
msgstr ""
@@ -910,117 +936,95 @@ msgstr "作成時"
msgid "Return to invitation list"
msgstr "新しい紹介状"
#: snikket_web/templates/admin_edit_user.html:5
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:7
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:9
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:20
#: snikket_web/templates/admin_edit_user.html:4
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Edit user %(user_name)s"
msgstr "%(user_name)s を更新"
#: snikket_web/templates/admin_edit_user.html:24
#: snikket_web/templates/admin_edit_user.html:8
msgid "This user account is pending deletion"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_edit_user.html:9
#, python-format
msgid ""
"The owner of the account sent a deletion request on %(date)s using their app."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:26
#: snikket_web/templates/admin_edit_user.html:10
#, python-format
msgid ""
"The account has been locked, and will be automatically deleted permanently "
"in %(time)s."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:28
#: snikket_web/templates/admin_edit_user.html:12
msgid ""
"If this was a mistake, you can cancel the deletion and restore the account."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:34
#: snikket_web/templates/admin_edit_user.html:18
msgid "This user account is locked"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:35
#: snikket_web/templates/admin_edit_user.html:19
msgid ""
"The user will not be able to log in to their account until it is unlocked "
"again."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:41
#: snikket_web/templates/admin_edit_user.html:25
#, fuzzy
#| msgid "Add user"
msgid "Edit user"
msgstr "ユーザーを追加する"
#: snikket_web/templates/admin_edit_user.html:46
#: snikket_web/templates/admin_edit_user.html:30
msgid "The login name cannot be changed."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:54
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:61
#: snikket_web/templates/admin_edit_user.html:45
#, python-format
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:71
#: snikket_web/templates/admin_edit_user.html:55
#, fuzzy
#| msgid "New invitation link"
msgid "Return to user list"
msgstr "新しい紹介状"
#: snikket_web/templates/admin_edit_user.html:79
#: snikket_web/templates/admin_edit_user.html:63
msgid "Further actions"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:81
#: snikket_web/templates/admin_edit_user.html:65
#, fuzzy
#| msgid "Change your password"
msgid "Reset password"
msgstr "パスワード変更"
#: snikket_web/templates/admin_edit_user.html:84
#: snikket_web/templates/admin_edit_user.html:68
msgid ""
"If the user has lost their password, you can use the button below to create "
"a special link which allows to change the password of the account, once."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:89
#: snikket_web/templates/admin_edit_user.html:73
#, fuzzy
#| msgid "User information"
msgid "Debug information"
msgstr "ユーザー詳細"
#: snikket_web/templates/admin_edit_user.html:91
#: snikket_web/templates/admin_edit_user.html:75
msgid ""
"In some cases, extended information about the user account and the connected "
"devices is necessary to troubleshoot issues. The button below reveals this "
"(sensitive) information."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:95
#: snikket_web/templates/admin_edit_user.html:79
#, fuzzy
#| msgid "User information"
msgid "Show debug information"
@@ -1166,7 +1170,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
#: snikket_web/templates/admin_system.html:85
msgid "unknown"
msgstr ""
@@ -1216,14 +1220,32 @@ msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices"
#, fuzzy
#| msgid "Update circle"
msgid "Active users"
msgstr "サークルを更新"
#: snikket_web/templates/admin_system.html:83
msgid "Connected now:"
msgstr ""
#: snikket_web/templates/admin_system.html:88
msgid "Past 24 hours:"
msgstr ""
#: snikket_web/templates/admin_system.html:89
msgid "Past 7 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:90
msgid "Past 30 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:97
msgid "Broadcast message"
msgstr ""
#: snikket_web/templates/admin_system.html:92
#: snikket_web/templates/admin_system.html:99
msgid ""
"This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely."
@@ -1483,7 +1505,7 @@ msgid "Your address"
msgstr "談話室アドレス"
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#: snikket_web/templates/user_home.html:26
msgid "Copy address"
msgstr "アドレスをコピーする"
@@ -1691,6 +1713,32 @@ msgstr ""
msgid "Can be used once to create an account on this Snikket service."
msgstr ""
#: snikket_web/templates/library.j2:153
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/library.j2:155
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/library.j2:157
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/library.j2:171
#, fuzzy
#| msgid "This invitation link can only be used once and is then depleted."
msgid "Invite a single person (invitation link can only be used once)."
msgstr "この紹介状は一回きり使用ができます。"
#: snikket_web/templates/library.j2:173
msgid "Invite a group of people (invitation link can be used multiple times)."
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket ログイン"
@@ -1761,51 +1809,54 @@ msgstr ""
msgid "Operation successful"
msgstr ""
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
msgstr "ようこそ!"
#: snikket_web/templates/user_home.html:11
#, fuzzy
#| msgid "About Snikket"
msgid "Welcome to Snikket!"
msgstr "Snikketについて"
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr "ようこそ、 %(user_name)s。"
#: snikket_web/templates/user_home.html:12
msgid ""
"Now your Snikket instance is up and running, the next step is to invite "
"people to join it. Family, friends, colleagues... you choose!"
msgstr ""
#: snikket_web/templates/user_home.html:14
#: snikket_web/templates/user_home.html:19
#, fuzzy
#| msgid "Create account"
msgid "Your account"
msgstr "アカウント作成"
#: snikket_web/templates/user_home.html:20
#: snikket_web/templates/user_home.html:25
#, fuzzy
#| msgid "Group chat address"
msgid "Your XMPP address"
msgstr "談話室アドレス"
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_home.html:36
#, fuzzy
#| msgid "Update profile"
msgid "Edit profile"
msgstr "プロファイル管理"
#: snikket_web/templates/user_home.html:33
#: snikket_web/templates/user_home.html:38
#: snikket_web/templates/user_manage_data.html:4
#, fuzzy
#| msgid "Manage users"
msgid "Manage your data"
msgstr "ユーザー管理"
#: snikket_web/templates/user_home.html:39
#: snikket_web/templates/user_home.html:44
#, fuzzy
#| msgid "About Snikket"
msgid "Your Snikket"
msgstr "Snikketについて"
#: snikket_web/templates/user_home.html:41
#: snikket_web/templates/user_home.html:46
msgid "Manage users, invitations and circles of your Snikket service."
msgstr ""
#: snikket_web/templates/user_home.html:43
#: snikket_web/templates/user_home.html:48
#, fuzzy
#| msgid "Admin area"
msgid "Admin panel"
@@ -1870,12 +1921,16 @@ msgid ""
"like avatar and nickname."
msgstr ""
#~ msgid "Welcome!"
#~ msgstr "ようこそ!"
#, python-format
#~ msgid "Welcome home, %(user_name)s."
#~ msgstr "ようこそ、 %(user_name)s。"
#~ msgid "This circle cannot be modified"
#~ msgstr "このサークルの更新ができません"
#~ msgid "This invitation link can only be used once and is then depleted."
#~ msgstr "この紹介状は一回きり使用ができます。"
#~ msgid "Modify administrative user information or delete users."
#~ msgstr "ユーザー詳細更新や削除。"

View File

@@ -1,21 +1,21 @@
# Translations template for PROJECT.
# Copyright (C) 2023 ORGANIZATION
# Copyright (C) 2024 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-12-12 18:22+0000\n"
"POT-Creation-Date: 2024-04-27 14:22+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.14.0\n"
"Generated-By: Babel 2.10.3\n"
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:73
@@ -23,229 +23,230 @@ msgid "Login name"
msgstr ""
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:74 snikket_web/user.py:63
#: snikket_web/user.py:69
msgid "Display name"
msgstr ""
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:53
#: snikket_web/admin.py:77 snikket_web/admin.py:295
#: snikket_web/templates/admin_edit_user.html:37
msgid "Access Level"
msgstr ""
#: snikket_web/admin.py:79
#: snikket_web/admin.py:79 snikket_web/admin.py:297
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:80
#: snikket_web/admin.py:80 snikket_web/admin.py:298
msgid "Normal user"
msgstr ""
#: snikket_web/admin.py:81
#: snikket_web/admin.py:81 snikket_web/admin.py:299
msgid "Administrator"
msgstr ""
#: snikket_web/admin.py:86
#: snikket_web/admin.py:87
msgid "Update user"
msgstr ""
#: snikket_web/admin.py:90
#: snikket_web/admin.py:91
msgid "Restore account"
msgstr ""
#: snikket_web/admin.py:94
#: snikket_web/admin.py:95
msgid "Unlock account"
msgstr ""
#: snikket_web/admin.py:98
#: snikket_web/admin.py:99
msgid "Create password reset link"
msgstr ""
#: snikket_web/admin.py:116
#: snikket_web/admin.py:117
msgid "Password reset link created"
msgstr ""
#: snikket_web/admin.py:128
#: snikket_web/admin.py:129
msgid "User account restored"
msgstr ""
#: snikket_web/admin.py:133
#: snikket_web/admin.py:134
msgid "User account unlocked"
msgstr ""
#: snikket_web/admin.py:140
#: snikket_web/admin.py:141
msgid "Could not restore user account"
msgstr ""
#: snikket_web/admin.py:145
#: snikket_web/admin.py:146
msgid "Could not unlock user account"
msgstr ""
#: snikket_web/admin.py:157
#: snikket_web/admin.py:158
msgid "User information updated."
msgstr ""
#: snikket_web/admin.py:179
#: snikket_web/admin.py:180
msgid "Delete user permanently"
msgstr ""
#: snikket_web/admin.py:192
#: snikket_web/admin.py:193
msgid "User deleted"
msgstr ""
#: snikket_web/admin.py:230
#: snikket_web/admin.py:231
msgid "Password reset link not found"
msgstr ""
#: snikket_web/admin.py:242
#: snikket_web/admin.py:243
msgid "Password reset link deleted"
msgstr ""
#: snikket_web/admin.py:262
#: snikket_web/admin.py:263
msgid "Invite to circle"
msgstr ""
#: snikket_web/admin.py:268
#: snikket_web/admin.py:269
msgid "At least one circle must be selected"
msgstr ""
#: snikket_web/admin.py:273
#: snikket_web/admin.py:274
msgid "Valid for"
msgstr ""
#: snikket_web/admin.py:275
#: snikket_web/admin.py:276
msgid "One hour"
msgstr ""
#: snikket_web/admin.py:276
#: snikket_web/admin.py:277
msgid "Twelve hours"
msgstr ""
#: snikket_web/admin.py:277
#: snikket_web/admin.py:278
msgid "One day"
msgstr ""
#: snikket_web/admin.py:278
#: snikket_web/admin.py:279
msgid "One week"
msgstr ""
#: snikket_web/admin.py:279
#: snikket_web/admin.py:280
msgid "Four weeks"
msgstr ""
#: snikket_web/admin.py:285 snikket_web/templates/admin_edit_invite.html:17
#: snikket_web/admin.py:286 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr ""
#: snikket_web/admin.py:287 snikket_web/templates/library.j2:139
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:139
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:137
#: snikket_web/admin.py:289 snikket_web/templates/library.j2:137
msgid "Group"
msgstr ""
#: snikket_web/admin.py:294
#: snikket_web/admin.py:305
msgid "New invitation link"
msgstr ""
#: snikket_web/admin.py:356
#: snikket_web/admin.py:367
msgid "Revoke"
msgstr ""
#: snikket_web/admin.py:380
#: snikket_web/admin.py:393
msgid "Invitation created"
msgstr ""
#: snikket_web/admin.py:396
#: snikket_web/admin.py:409
msgid "No such invitation exists"
msgstr ""
#: snikket_web/admin.py:411
#: snikket_web/admin.py:424
msgid "Invitation revoked"
msgstr ""
#: snikket_web/admin.py:428 snikket_web/admin.py:476
#: snikket_web/admin.py:441 snikket_web/admin.py:489
#: snikket_web/templates/admin_delete_circle.html:10
#: snikket_web/templates/admin_edit_circle.html:44
msgid "Name"
msgstr ""
#: snikket_web/admin.py:433 snikket_web/templates/admin_circles.html:47
#: snikket_web/admin.py:446 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr ""
#: snikket_web/admin.py:463
#: snikket_web/admin.py:476
msgid "Circle created"
msgstr ""
#: snikket_web/admin.py:481
#: snikket_web/admin.py:494
msgid "Select user"
msgstr ""
#: snikket_web/admin.py:486
#: snikket_web/admin.py:499
msgid "Update circle"
msgstr ""
#: snikket_web/admin.py:492
#: snikket_web/admin.py:505
msgid "Add user"
msgstr ""
#: snikket_web/admin.py:510 snikket_web/admin.py:609 snikket_web/admin.py:657
#: snikket_web/admin.py:523 snikket_web/admin.py:622 snikket_web/admin.py:670
msgid "No such circle exists"
msgstr ""
#: snikket_web/admin.py:547
#: snikket_web/admin.py:560
msgid "Circle data updated"
msgstr ""
#: snikket_web/admin.py:557
#: snikket_web/admin.py:570
msgid "User added to circle"
msgstr ""
#: snikket_web/admin.py:566
#: snikket_web/admin.py:579
msgid "User removed from circle"
msgstr ""
#: snikket_web/admin.py:575
#: snikket_web/admin.py:588
msgid "Chat removed from circle"
msgstr ""
#: snikket_web/admin.py:593
#: snikket_web/admin.py:606
msgid "Delete circle permanently"
msgstr ""
#: snikket_web/admin.py:620
#: snikket_web/admin.py:633
msgid "Circle deleted"
msgstr ""
#: snikket_web/admin.py:634
#: snikket_web/admin.py:647
msgid "Group chat name"
msgstr ""
#: snikket_web/admin.py:639
#: snikket_web/admin.py:652
msgid "Create group chat"
msgstr ""
#: snikket_web/admin.py:669
#: snikket_web/admin.py:682
msgid "New group chat added to circle"
msgstr ""
#: snikket_web/admin.py:736
#: snikket_web/admin.py:749
msgid "Message contents"
msgstr ""
#: snikket_web/admin.py:742
#: snikket_web/admin.py:755
msgid "Only send to online users"
msgstr ""
#: snikket_web/admin.py:746
#: snikket_web/admin.py:759
msgid "Post to all users"
msgstr ""
#: snikket_web/admin.py:750
#: snikket_web/admin.py:763
msgid "Send preview to yourself"
msgstr ""
#: snikket_web/admin.py:772
#: snikket_web/admin.py:785
msgid "Announcement sent!"
msgstr ""
@@ -280,56 +281,56 @@ msgstr ""
msgid "Username"
msgstr ""
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
#: snikket_web/invite.py:118 snikket_web/invite.py:190 snikket_web/main.py:43
msgid "Password"
msgstr ""
#: snikket_web/invite.py:122 snikket_web/invite.py:190
#: snikket_web/invite.py:126 snikket_web/invite.py:198
msgid "Confirm password"
msgstr ""
#: snikket_web/invite.py:126 snikket_web/invite.py:194
#: snikket_web/invite.py:130 snikket_web/invite.py:202
msgid "The passwords must match."
msgstr ""
#: snikket_web/invite.py:131
#: snikket_web/invite.py:135
msgid "Create account"
msgstr ""
#: snikket_web/invite.py:158
#: snikket_web/invite.py:162
msgid "That username is already taken."
msgstr ""
#: snikket_web/invite.py:162 snikket_web/invite.py:227
#: snikket_web/invite.py:166 snikket_web/invite.py:235
msgid "Registration was declined for unknown reasons."
msgstr ""
#: snikket_web/invite.py:166
#: snikket_web/invite.py:170
msgid "The username is not valid."
msgstr ""
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
#: snikket_web/invite.py:207 snikket_web/templates/user_home.html:37
#: snikket_web/templates/user_passwd.html:29
msgid "Change password"
msgstr ""
#: snikket_web/invite.py:246
#: snikket_web/invite.py:254
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:250
#: snikket_web/invite.py:258
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:271
#: snikket_web/invite.py:279
#, python-format
msgid ""
"The account data you tried to import is in an unknown format. Please "
"upload an XML file in XEP-0227 format (provided format: %(mimetype)s)."
msgstr ""
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
#: snikket_web/invite.py:299 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:189
msgid "Error"
msgstr ""
@@ -357,73 +358,73 @@ msgstr ""
msgid "New password"
msgstr ""
#: snikket_web/user.py:39
#: snikket_web/user.py:42
msgid "Confirm new password"
msgstr ""
#: snikket_web/user.py:43
#: snikket_web/user.py:47
msgid "The new passwords must match."
msgstr ""
#: snikket_web/user.py:50
#: snikket_web/user.py:56
msgid "Sign out"
msgstr ""
#: snikket_web/user.py:55
#: snikket_web/user.py:61
msgid "Nobody"
msgstr ""
#: snikket_web/user.py:56
#: snikket_web/user.py:62
msgid "Friends only"
msgstr ""
#: snikket_web/user.py:57
#: snikket_web/user.py:63
msgid "Everyone"
msgstr ""
#: snikket_web/user.py:67
#: snikket_web/user.py:73
msgid "Avatar"
msgstr ""
#: snikket_web/user.py:71
#: snikket_web/user.py:77
msgid "Profile visibility"
msgstr ""
#: snikket_web/user.py:76
#: snikket_web/user.py:82
msgid "Update profile"
msgstr ""
#: snikket_web/user.py:82
#: snikket_web/user.py:88
msgid "Account data"
msgstr ""
#: snikket_web/user.py:86
#: snikket_web/user.py:92
msgid "Upload"
msgstr ""
#: snikket_web/user.py:111
#: snikket_web/user.py:122
msgid "Incorrect password."
msgstr ""
#: snikket_web/user.py:115
#: snikket_web/user.py:126
msgid "Password changed"
msgstr ""
#: snikket_web/user.py:123
#: snikket_web/user.py:134
msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please"
" use the app."
msgstr ""
#: snikket_web/user.py:170
#: snikket_web/user.py:181
msgid "Profile updated"
msgstr ""
#: snikket_web/user.py:184
#: snikket_web/user.py:195
msgid "Export"
msgstr ""
#: snikket_web/user.py:202
#: snikket_web/user.py:213
msgid "You currently have no account data to export."
msgstr ""
@@ -544,7 +545,7 @@ msgstr ""
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_edit_circle.html:45
#: snikket_web/templates/admin_edit_circle.html:75
#: snikket_web/templates/admin_edit_circle.html:74
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:10
msgid "Actions"
@@ -603,16 +604,42 @@ msgstr ""
msgid "Create invitation"
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:5
#: snikket_web/templates/admin_create_invite_form.html:9
#: snikket_web/templates/user_home.html:13
msgid "Create new invitation"
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:6
#: snikket_web/templates/admin_create_invite_form.html:10
msgid ""
"Create a new invitation link to invite more users to your Snikket service"
" by clicking the button below."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:16
msgid ""
"Choose whether this invitation link will allow more than one person to "
"join."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:21
#, python-format
msgid "<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:34
#: snikket_web/templates/admin_edit_user.html:38
msgid ""
"The access level of a user determines what interactions are allowed for "
"them on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:38
#, python-format
msgid ""
"<span class=\"access-"
"level\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
msgid "Debug information for %(user_name)s"
@@ -678,7 +705,7 @@ msgid "Delete user %(user_name)s"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:74
#: snikket_web/templates/admin_edit_user.html:58
msgid "Delete user"
msgstr ""
@@ -742,37 +769,37 @@ msgstr ""
msgid "All members of the circle will see each other in their contact list."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
msgid "The user has been deleted from the server."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
#: snikket_web/templates/library.j2:131
msgid "deleted"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:91
#: snikket_web/templates/admin_edit_circle.html:89
#, python-format
msgid "Remove user %(username)s from circle"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:99
#: snikket_web/templates/admin_edit_circle.html:97
msgid "This circle currently has no members."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:101
#: snikket_web/templates/admin_edit_circle.html:99
msgid "Invite more members"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:104
#: snikket_web/templates/admin_edit_circle.html:102
msgid "Add existing user"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:115
#: snikket_web/templates/admin_edit_circle.html:113
msgid "All users added"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:116
#: snikket_web/templates/admin_edit_circle.html:114
msgid "All users on this service are already in this circle."
msgstr ""
@@ -825,112 +852,90 @@ msgstr ""
msgid "Return to invitation list"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:5
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:7
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:9
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:20
#: snikket_web/templates/admin_edit_user.html:4
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Edit user %(user_name)s"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:24
#: snikket_web/templates/admin_edit_user.html:8
msgid "This user account is pending deletion"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_edit_user.html:9
#, python-format
msgid ""
"The owner of the account sent a deletion request on %(date)s using their "
"app."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:26
#: snikket_web/templates/admin_edit_user.html:10
#, python-format
msgid ""
"The account has been locked, and will be automatically deleted "
"permanently in %(time)s."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:28
#: snikket_web/templates/admin_edit_user.html:12
msgid ""
"If this was a mistake, you can cancel the deletion and restore the "
"account."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:34
#: snikket_web/templates/admin_edit_user.html:18
msgid "This user account is locked"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:35
#: snikket_web/templates/admin_edit_user.html:19
msgid ""
"The user will not be able to log in to their account until it is unlocked"
" again."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:41
#: snikket_web/templates/admin_edit_user.html:25
msgid "Edit user"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:46
#: snikket_web/templates/admin_edit_user.html:30
msgid "The login name cannot be changed."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:54
msgid ""
"The access level of a user determines what interactions are allowed for "
"them on your Snikket service."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:61
#: snikket_web/templates/admin_edit_user.html:45
#, python-format
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:71
#: snikket_web/templates/admin_edit_user.html:55
msgid "Return to user list"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:79
#: snikket_web/templates/admin_edit_user.html:63
msgid "Further actions"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:81
#: snikket_web/templates/admin_edit_user.html:65
msgid "Reset password"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:84
#: snikket_web/templates/admin_edit_user.html:68
msgid ""
"If the user has lost their password, you can use the button below to "
"create a special link which allows to change the password of the account,"
" once."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:89
#: snikket_web/templates/admin_edit_user.html:73
msgid "Debug information"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:91
#: snikket_web/templates/admin_edit_user.html:75
msgid ""
"In some cases, extended information about the user account and the "
"connected devices is necessary to troubleshoot issues. The button below "
"reveals this (sensitive) information."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:95
#: snikket_web/templates/admin_edit_user.html:79
msgid "Show debug information"
msgstr ""
@@ -1060,7 +1065,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
#: snikket_web/templates/admin_system.html:85
msgid "unknown"
msgstr ""
@@ -1108,14 +1113,30 @@ msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices"
msgid "Active users"
msgstr ""
#: snikket_web/templates/admin_system.html:83
msgid "Connected now:"
msgstr ""
#: snikket_web/templates/admin_system.html:88
msgid "Past 24 hours:"
msgstr ""
#: snikket_web/templates/admin_system.html:89
msgid "Past 7 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:90
msgid "Past 30 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:97
msgid "Broadcast message"
msgstr ""
#: snikket_web/templates/admin_system.html:92
#: snikket_web/templates/admin_system.html:99
msgid ""
"This form allows you to send a message to all users currently online on "
"your Snikket server. Use it wisely."
@@ -1358,7 +1379,7 @@ msgid "Your address"
msgstr ""
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#: snikket_web/templates/user_home.html:26
msgid "Copy address"
msgstr ""
@@ -1560,6 +1581,30 @@ msgstr ""
msgid "Can be used once to create an account on this Snikket service."
msgstr ""
#: snikket_web/templates/library.j2:153
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
#: snikket_web/templates/library.j2:155
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
#: snikket_web/templates/library.j2:157
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
#: snikket_web/templates/library.j2:171
msgid "Invite a single person (invitation link can only be used once)."
msgstr ""
#: snikket_web/templates/library.j2:173
msgid "Invite a group of people (invitation link can be used multiple times)."
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr ""
@@ -1620,41 +1665,42 @@ msgstr ""
msgid "Operation successful"
msgstr ""
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
#: snikket_web/templates/user_home.html:11
msgid "Welcome to Snikket!"
msgstr ""
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
#: snikket_web/templates/user_home.html:12
msgid ""
"Now your Snikket instance is up and running, the next step is to invite "
"people to join it. Family, friends, colleagues... you choose!"
msgstr ""
#: snikket_web/templates/user_home.html:14
#: snikket_web/templates/user_home.html:19
msgid "Your account"
msgstr ""
#: snikket_web/templates/user_home.html:20
#: snikket_web/templates/user_home.html:25
msgid "Your XMPP address"
msgstr ""
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_home.html:36
msgid "Edit profile"
msgstr ""
#: snikket_web/templates/user_home.html:33
#: snikket_web/templates/user_home.html:38
#: snikket_web/templates/user_manage_data.html:4
msgid "Manage your data"
msgstr ""
#: snikket_web/templates/user_home.html:39
#: snikket_web/templates/user_home.html:44
msgid "Your Snikket"
msgstr ""
#: snikket_web/templates/user_home.html:41
#: snikket_web/templates/user_home.html:46
msgid "Manage users, invitations and circles of your Snikket service."
msgstr ""
#: snikket_web/templates/user_home.html:43
#: snikket_web/templates/user_home.html:48
msgid "Admin panel"
msgstr ""

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-12-12 18:22+0000\n"
"PO-Revision-Date: 2023-12-09 16:59+0000\n"
"POT-Creation-Date: 2024-04-27 14:22+0200\n"
"PO-Revision-Date: 2024-04-19 13:38+0000\n"
"Last-Translator: Kim Alvefur <zash@zash.se>\n"
"Language-Team: Swedish <http://i18n.sotecware.net/projects/snikket/web-"
"portal/sv/>\n"
@@ -26,229 +26,230 @@ msgid "Login name"
msgstr "Inloggningsnamn"
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:74 snikket_web/user.py:63
#: snikket_web/user.py:69
msgid "Display name"
msgstr "Visningsnamn"
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:53
#: snikket_web/admin.py:77 snikket_web/admin.py:295
#: snikket_web/templates/admin_edit_user.html:37
msgid "Access Level"
msgstr "Användarnivåer"
#: snikket_web/admin.py:79
#: snikket_web/admin.py:79 snikket_web/admin.py:297
msgid "Limited"
msgstr "Begränsad"
#: snikket_web/admin.py:80
#: snikket_web/admin.py:80 snikket_web/admin.py:298
msgid "Normal user"
msgstr "Vanlig användare"
#: snikket_web/admin.py:81
#: snikket_web/admin.py:81 snikket_web/admin.py:299
msgid "Administrator"
msgstr "Administratör"
#: snikket_web/admin.py:86
#: snikket_web/admin.py:87
msgid "Update user"
msgstr "Uppdatera användare"
#: snikket_web/admin.py:90
#: snikket_web/admin.py:91
msgid "Restore account"
msgstr "Återställ konto"
#: snikket_web/admin.py:94
#: snikket_web/admin.py:95
msgid "Unlock account"
msgstr "Lås upp konto"
#: snikket_web/admin.py:98
#: snikket_web/admin.py:99
msgid "Create password reset link"
msgstr "Skapa länk för återställning av lösenord"
#: snikket_web/admin.py:116
#: snikket_web/admin.py:117
msgid "Password reset link created"
msgstr "Skapade länk för att återställa lösenord"
#: snikket_web/admin.py:128
#: snikket_web/admin.py:129
msgid "User account restored"
msgstr "Användarkonto återställt"
#: snikket_web/admin.py:133
#: snikket_web/admin.py:134
msgid "User account unlocked"
msgstr "Användarkonto upplåst"
#: snikket_web/admin.py:140
#: snikket_web/admin.py:141
msgid "Could not restore user account"
msgstr "Kunde inte återställa användarkonto"
#: snikket_web/admin.py:145
#: snikket_web/admin.py:146
msgid "Could not unlock user account"
msgstr "Kunde inte låsa upp användarkonto"
#: snikket_web/admin.py:157
#: snikket_web/admin.py:158
msgid "User information updated."
msgstr "Användarinformation uppdaterad."
#: snikket_web/admin.py:179
#: snikket_web/admin.py:180
msgid "Delete user permanently"
msgstr "Radera användare permanent"
#: snikket_web/admin.py:192
#: snikket_web/admin.py:193
msgid "User deleted"
msgstr "Användare raderad"
#: snikket_web/admin.py:230
#: snikket_web/admin.py:231
msgid "Password reset link not found"
msgstr "Länk för återställning av lösenord hittades inte"
#: snikket_web/admin.py:242
#: snikket_web/admin.py:243
msgid "Password reset link deleted"
msgstr "Länk för återställning av lösenord raderad"
#: snikket_web/admin.py:262
#: snikket_web/admin.py:263
msgid "Invite to circle"
msgstr "Bjud in till krets"
#: snikket_web/admin.py:268
#: snikket_web/admin.py:269
msgid "At least one circle must be selected"
msgstr "Minst en krets behöver väljas"
#: snikket_web/admin.py:273
#: snikket_web/admin.py:274
msgid "Valid for"
msgstr "Giltig i"
#: snikket_web/admin.py:275
#: snikket_web/admin.py:276
msgid "One hour"
msgstr "En timme"
#: snikket_web/admin.py:276
#: snikket_web/admin.py:277
msgid "Twelve hours"
msgstr "Tolv timmar"
#: snikket_web/admin.py:277
#: snikket_web/admin.py:278
msgid "One day"
msgstr "En dag"
#: snikket_web/admin.py:278
#: snikket_web/admin.py:279
msgid "One week"
msgstr "En vecka"
#: snikket_web/admin.py:279
#: snikket_web/admin.py:280
msgid "Four weeks"
msgstr "Fyra veckor"
#: snikket_web/admin.py:285 snikket_web/templates/admin_edit_invite.html:17
#: snikket_web/admin.py:286 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr "Typ av inbjudan"
#: snikket_web/admin.py:287 snikket_web/templates/library.j2:139
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:139
msgid "Individual"
msgstr "Individuell"
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:137
#: snikket_web/admin.py:289 snikket_web/templates/library.j2:137
msgid "Group"
msgstr "Grupp"
#: snikket_web/admin.py:294
#: snikket_web/admin.py:305
msgid "New invitation link"
msgstr "Ny inbjudanslänk"
#: snikket_web/admin.py:356
#: snikket_web/admin.py:367
msgid "Revoke"
msgstr "Återkalla"
#: snikket_web/admin.py:380
#: snikket_web/admin.py:393
msgid "Invitation created"
msgstr "Inbjudan skapad"
#: snikket_web/admin.py:396
#: snikket_web/admin.py:409
msgid "No such invitation exists"
msgstr "Inbjudanslänken finns inte"
#: snikket_web/admin.py:411
#: snikket_web/admin.py:424
msgid "Invitation revoked"
msgstr "Inbjudan återkallad"
#: snikket_web/admin.py:428 snikket_web/admin.py:476
#: snikket_web/admin.py:441 snikket_web/admin.py:489
#: snikket_web/templates/admin_delete_circle.html:10
#: snikket_web/templates/admin_edit_circle.html:44
msgid "Name"
msgstr "Namn"
#: snikket_web/admin.py:433 snikket_web/templates/admin_circles.html:47
#: snikket_web/admin.py:446 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Skapa krets"
#: snikket_web/admin.py:463
#: snikket_web/admin.py:476
msgid "Circle created"
msgstr "Krets skapad"
#: snikket_web/admin.py:481
#: snikket_web/admin.py:494
msgid "Select user"
msgstr "Välj användare"
#: snikket_web/admin.py:486
#: snikket_web/admin.py:499
msgid "Update circle"
msgstr "Uppdatera krets"
#: snikket_web/admin.py:492
#: snikket_web/admin.py:505
msgid "Add user"
msgstr "Lägg till användare"
#: snikket_web/admin.py:510 snikket_web/admin.py:609 snikket_web/admin.py:657
#: snikket_web/admin.py:523 snikket_web/admin.py:622 snikket_web/admin.py:670
msgid "No such circle exists"
msgstr "Kretsen finns inte"
#: snikket_web/admin.py:547
#: snikket_web/admin.py:560
msgid "Circle data updated"
msgstr "Kretsen uppdaterades"
#: snikket_web/admin.py:557
#: snikket_web/admin.py:570
msgid "User added to circle"
msgstr "Användare tillagd i krets"
#: snikket_web/admin.py:566
#: snikket_web/admin.py:579
msgid "User removed from circle"
msgstr "Användaren %(username)s borttagen från krets"
msgstr "Användaren borttagen från krets"
#: snikket_web/admin.py:575
#: snikket_web/admin.py:588
msgid "Chat removed from circle"
msgstr "Gruppchatten borttagen från kretsen"
#: snikket_web/admin.py:593
#: snikket_web/admin.py:606
msgid "Delete circle permanently"
msgstr "Radera krets permanent"
#: snikket_web/admin.py:620
#: snikket_web/admin.py:633
msgid "Circle deleted"
msgstr "Krets raderad"
#: snikket_web/admin.py:634
#: snikket_web/admin.py:647
msgid "Group chat name"
msgstr "Gruppchattnamn"
#: snikket_web/admin.py:639
#: snikket_web/admin.py:652
msgid "Create group chat"
msgstr "Skapa gruppchatt"
#: snikket_web/admin.py:669
#: snikket_web/admin.py:682
msgid "New group chat added to circle"
msgstr "Ny gruppchatt tillagt i kretsen"
#: snikket_web/admin.py:736
#: snikket_web/admin.py:749
msgid "Message contents"
msgstr "Meddelandeinnehåll"
#: snikket_web/admin.py:742
#: snikket_web/admin.py:755
msgid "Only send to online users"
msgstr "Skicka bara till användare som är online"
#: snikket_web/admin.py:746
#: snikket_web/admin.py:759
msgid "Post to all users"
msgstr "Skicka till alla användare"
#: snikket_web/admin.py:750
#: snikket_web/admin.py:763
msgid "Send preview to yourself"
msgstr "Skicka förhandsvisning till dig själv"
#: snikket_web/admin.py:772
#: snikket_web/admin.py:785
msgid "Announcement sent!"
msgstr "Tillkännagivande skickat!"
@@ -285,48 +286,48 @@ msgstr ""
msgid "Username"
msgstr "Användarnamn"
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
#: snikket_web/invite.py:118 snikket_web/invite.py:190 snikket_web/main.py:43
msgid "Password"
msgstr "Lösenord"
#: snikket_web/invite.py:122 snikket_web/invite.py:190
#: snikket_web/invite.py:126 snikket_web/invite.py:198
msgid "Confirm password"
msgstr "Bekräfta lösenord"
#: snikket_web/invite.py:126 snikket_web/invite.py:194
#: snikket_web/invite.py:130 snikket_web/invite.py:202
msgid "The passwords must match."
msgstr "Lösenorden måste vara identiska."
#: snikket_web/invite.py:131
#: snikket_web/invite.py:135
msgid "Create account"
msgstr "Skapa konto"
#: snikket_web/invite.py:158
#: snikket_web/invite.py:162
msgid "That username is already taken."
msgstr "Det användarnamnet är redan taget."
#: snikket_web/invite.py:162 snikket_web/invite.py:227
#: snikket_web/invite.py:166 snikket_web/invite.py:235
msgid "Registration was declined for unknown reasons."
msgstr "Registreringen nekades av okänd anledning."
#: snikket_web/invite.py:166
#: snikket_web/invite.py:170
msgid "The username is not valid."
msgstr "Användarnamnet är ogiltigt."
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
#: snikket_web/invite.py:207 snikket_web/templates/user_home.html:37
#: snikket_web/templates/user_passwd.html:29
msgid "Change password"
msgstr "Ändra lösenord"
#: snikket_web/invite.py:246
#: snikket_web/invite.py:254
msgid "Account data file"
msgstr "Kontodatafil"
#: snikket_web/invite.py:250
#: snikket_web/invite.py:258
msgid "Import data"
msgstr "Importera data"
#: snikket_web/invite.py:271
#: snikket_web/invite.py:279
#, python-format
msgid ""
"The account data you tried to import is in an unknown format. Please upload "
@@ -335,8 +336,8 @@ msgstr ""
"Kontot du försökte importera är i ett okänt format. Vänligen ladda upp en "
"XML-fil i XEP-0227-format (angivet format: %(mimetype)s)."
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
#: snikket_web/invite.py:299 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:189
msgid "Error"
msgstr "Fel"
@@ -364,59 +365,59 @@ msgstr "Nuvarande lösenord"
msgid "New password"
msgstr "Nytt lösenord"
#: snikket_web/user.py:39
#: snikket_web/user.py:42
msgid "Confirm new password"
msgstr "Bekräfta nytt lösenord"
#: snikket_web/user.py:43
#: snikket_web/user.py:47
msgid "The new passwords must match."
msgstr "De nya lösenorden måste vara identiska."
#: snikket_web/user.py:50
#: snikket_web/user.py:56
msgid "Sign out"
msgstr "Logga ut"
#: snikket_web/user.py:55
#: snikket_web/user.py:61
msgid "Nobody"
msgstr "Ingen"
#: snikket_web/user.py:56
#: snikket_web/user.py:62
msgid "Friends only"
msgstr "Endast vänner"
#: snikket_web/user.py:57
#: snikket_web/user.py:63
msgid "Everyone"
msgstr "Alla"
#: snikket_web/user.py:67
#: snikket_web/user.py:73
msgid "Avatar"
msgstr "Profilbild"
#: snikket_web/user.py:71
#: snikket_web/user.py:77
msgid "Profile visibility"
msgstr "Synlighet av profil"
#: snikket_web/user.py:76
#: snikket_web/user.py:82
msgid "Update profile"
msgstr "Uppdatera profil"
#: snikket_web/user.py:82
#: snikket_web/user.py:88
msgid "Account data"
msgstr "Kontodata"
#: snikket_web/user.py:86
#: snikket_web/user.py:92
msgid "Upload"
msgstr "Ladda upp"
#: snikket_web/user.py:111
#: snikket_web/user.py:122
msgid "Incorrect password."
msgstr "Fel lösenord."
#: snikket_web/user.py:115
#: snikket_web/user.py:126
msgid "Password changed"
msgstr "Lösenord ändrat"
#: snikket_web/user.py:123
#: snikket_web/user.py:134
msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app."
@@ -424,15 +425,15 @@ msgstr ""
"Den valda profilbilden är för stor. Vänligen använd appen för att kunna "
"välja större bilder."
#: snikket_web/user.py:170
#: snikket_web/user.py:181
msgid "Profile updated"
msgstr "Profilen uppdaterad"
#: snikket_web/user.py:184
#: snikket_web/user.py:195
msgid "Export"
msgstr "Exportera"
#: snikket_web/user.py:202
#: snikket_web/user.py:213
msgid "You currently have no account data to export."
msgstr "Du har för närvarande inget data att exportera."
@@ -574,7 +575,7 @@ msgstr "Medlemmar"
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_edit_circle.html:45
#: snikket_web/templates/admin_edit_circle.html:75
#: snikket_web/templates/admin_edit_circle.html:74
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:10
msgid "Actions"
@@ -639,11 +640,12 @@ msgstr ""
msgid "Create invitation"
msgstr "Skapa inbjudan"
#: snikket_web/templates/admin_create_invite_form.html:5
#: snikket_web/templates/admin_create_invite_form.html:9
#: snikket_web/templates/user_home.html:13
msgid "Create new invitation"
msgstr "Skapa ny inbjudan"
#: snikket_web/templates/admin_create_invite_form.html:6
#: snikket_web/templates/admin_create_invite_form.html:10
msgid ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
@@ -651,6 +653,34 @@ msgstr ""
"Skapa en ny inbjudningslänk för att bjuda in fler användare till din Snikket-"
"tjänst genom att klicka på knappen nedan."
#: snikket_web/templates/admin_create_invite_form.html:16
msgid ""
"Choose whether this invitation link will allow more than one person to join."
msgstr "Välj huruvida denna inbjudan låter mer än en person gå med."
#: snikket_web/templates/admin_create_invite_form.html:21
#, python-format
msgid ""
"<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
"<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
#: snikket_web/templates/admin_create_invite_form.html:34
#: snikket_web/templates/admin_edit_user.html:38
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
"Användarnivåer bestämmer vilka interaktioner är tillåtna för användare på "
"din Snikket-tjänst."
#: snikket_web/templates/admin_create_invite_form.html:38
#, python-format
msgid ""
"<span class=\"access-level\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr ""
"<span class=\"access-level\">%(title)s%(icon)s</span><p>%(description)s</p>"
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
msgid "Debug information for %(user_name)s"
@@ -719,7 +749,7 @@ msgid "Delete user %(user_name)s"
msgstr "Radera användaren %(user_name)s"
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:74
#: snikket_web/templates/admin_edit_user.html:58
msgid "Delete user"
msgstr "Radera användare"
@@ -751,7 +781,7 @@ msgstr "Om kretsen"
#: snikket_web/templates/admin_edit_circle.html:26
msgid "Return to circle list"
msgstr "Tillbaka till cirkellistan"
msgstr "Tillbaka till krets-listan"
#: snikket_web/templates/admin_edit_circle.html:31
msgid "Deleting a circle does not delete any users in the circle."
@@ -786,37 +816,37 @@ msgstr "Medlemmar i krets"
msgid "All members of the circle will see each other in their contact list."
msgstr "Alla medlemmar av kretsen kommer se varandra i sin kontaktlista."
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
msgid "The user has been deleted from the server."
msgstr "Användaren har raderats från servern."
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
#: snikket_web/templates/library.j2:131
msgid "deleted"
msgstr "raderad"
#: snikket_web/templates/admin_edit_circle.html:91
#: snikket_web/templates/admin_edit_circle.html:89
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Radera användaren %(username)s från krets"
#: snikket_web/templates/admin_edit_circle.html:99
#: snikket_web/templates/admin_edit_circle.html:97
msgid "This circle currently has no members."
msgstr "Denna krets har för närvarande inga medlemmar."
#: snikket_web/templates/admin_edit_circle.html:101
#: snikket_web/templates/admin_edit_circle.html:99
msgid "Invite more members"
msgstr "Bjud in fler medlemmar"
#: snikket_web/templates/admin_edit_circle.html:104
#: snikket_web/templates/admin_edit_circle.html:102
msgid "Add existing user"
msgstr "Lägg till befintlig användare"
#: snikket_web/templates/admin_edit_circle.html:115
#: snikket_web/templates/admin_edit_circle.html:113
msgid "All users added"
msgstr "Alla användare tillagda"
#: snikket_web/templates/admin_edit_circle.html:116
#: snikket_web/templates/admin_edit_circle.html:114
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 krets."
@@ -873,44 +903,23 @@ msgstr "Skapad"
msgid "Return to invitation list"
msgstr "Tillbaka till inbjudningarna"
#: snikket_web/templates/admin_edit_user.html:5
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
"Begränsade användare kan interagera med andra användare på samma Snikket-"
"tjänst och vara medlemmar av kretsar."
#: snikket_web/templates/admin_edit_user.html:7
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
"Som begränsade användare samt kan även interagera med användare på andra "
"Snikket-tjänster."
#: snikket_web/templates/admin_edit_user.html:9
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
"Som vanliga användare samt har även tillgång till administrationspanelen."
#: snikket_web/templates/admin_edit_user.html:20
#: snikket_web/templates/admin_edit_user.html:4
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Edit user %(user_name)s"
msgstr "Redigera användaren %(user_name)s"
#: snikket_web/templates/admin_edit_user.html:24
#: snikket_web/templates/admin_edit_user.html:8
msgid "This user account is pending deletion"
msgstr "Detta användarkonto är flaggat för radering"
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_edit_user.html:9
#, python-format
msgid ""
"The owner of the account sent a deletion request on %(date)s using their app."
msgstr "Ägaren av kontot skickade en raderingsförfrågan %(date)s med sin app."
#: snikket_web/templates/admin_edit_user.html:26
#: snikket_web/templates/admin_edit_user.html:10
#, python-format
msgid ""
"The account has been locked, and will be automatically deleted permanently "
@@ -918,17 +927,17 @@ msgid ""
msgstr ""
"Kontot har låsts, och kommer automatiskt raderas permanent om %(time)s."
#: snikket_web/templates/admin_edit_user.html:28
#: snikket_web/templates/admin_edit_user.html:12
msgid ""
"If this was a mistake, you can cancel the deletion and restore the account."
msgstr ""
"Om detta var ett misstag kan du avbryta raderingen och återställa kontot."
#: snikket_web/templates/admin_edit_user.html:34
#: snikket_web/templates/admin_edit_user.html:18
msgid "This user account is locked"
msgstr "Detta användarkont är låst"
#: snikket_web/templates/admin_edit_user.html:35
#: snikket_web/templates/admin_edit_user.html:19
msgid ""
"The user will not be able to log in to their account until it is unlocked "
"again."
@@ -936,40 +945,32 @@ msgstr ""
"Användaren kommer inte kunna logga in till sitt konto tills det är upplåst "
"igen."
#: snikket_web/templates/admin_edit_user.html:41
#: snikket_web/templates/admin_edit_user.html:25
msgid "Edit user"
msgstr "Redigera användare"
#: snikket_web/templates/admin_edit_user.html:46
#: snikket_web/templates/admin_edit_user.html:30
msgid "The login name cannot be changed."
msgstr "Inloggningsnamnet kan inte ändras."
#: snikket_web/templates/admin_edit_user.html:54
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr ""
"Användarnivåer bestämmer vilka interaktioner är tillåtna för användare på "
"din Snikket-tjänst."
#: snikket_web/templates/admin_edit_user.html:61
#: snikket_web/templates/admin_edit_user.html:45
#, python-format
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
#: snikket_web/templates/admin_edit_user.html:71
#: snikket_web/templates/admin_edit_user.html:55
msgid "Return to user list"
msgstr "Tillbaka till användarlistan"
#: snikket_web/templates/admin_edit_user.html:79
#: snikket_web/templates/admin_edit_user.html:63
msgid "Further actions"
msgstr "Fler handlingar"
#: snikket_web/templates/admin_edit_user.html:81
#: snikket_web/templates/admin_edit_user.html:65
msgid "Reset password"
msgstr "Återställ lösenord"
#: snikket_web/templates/admin_edit_user.html:84
#: snikket_web/templates/admin_edit_user.html:68
msgid ""
"If the user has lost their password, you can use the button below to create "
"a special link which allows to change the password of the account, once."
@@ -977,11 +978,11 @@ msgstr ""
"Om användaren har tappat bort sitt lösenord så kan du använda knappen nedan "
"för att skapa en speciell engångslänk som låter dem ange ett nytt lösenord."
#: snikket_web/templates/admin_edit_user.html:89
#: snikket_web/templates/admin_edit_user.html:73
msgid "Debug information"
msgstr "Felsökningsinformation"
#: snikket_web/templates/admin_edit_user.html:91
#: snikket_web/templates/admin_edit_user.html:75
msgid ""
"In some cases, extended information about the user account and the connected "
"devices is necessary to troubleshoot issues. The button below reveals this "
@@ -990,7 +991,7 @@ msgstr ""
"Ibland behövs utökad information om användarkontot och anslutna enheter för "
"att felsöka problem. Knappen nedan visar denna (känsliga) information."
#: snikket_web/templates/admin_edit_user.html:95
#: snikket_web/templates/admin_edit_user.html:79
msgid "Show debug information"
msgstr "Visa felsökningsinformation"
@@ -1122,7 +1123,7 @@ msgstr "Systemlast (5 minuters medelvärde)"
#: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
#: snikket_web/templates/admin_system.html:85
msgid "unknown"
msgstr "okänd"
@@ -1172,14 +1173,30 @@ msgid "Storage used by shared files"
msgstr "Utrymme används av delade filer"
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices"
msgstr "Anslutna enheter"
msgid "Active users"
msgstr "Aktiva användare"
#: snikket_web/templates/admin_system.html:83
msgid "Connected now:"
msgstr "Anslutna just nu:"
#: snikket_web/templates/admin_system.html:88
msgid "Past 24 hours:"
msgstr "Senaste 24 timmarna:"
#: snikket_web/templates/admin_system.html:89
msgid "Past 7 days:"
msgstr "Senaste 7 dagarna:"
#: snikket_web/templates/admin_system.html:90
msgid "Past 30 days:"
msgstr "Senaste 30 dagarna:"
#: snikket_web/templates/admin_system.html:97
msgid "Broadcast message"
msgstr "Tillkännagivande"
#: snikket_web/templates/admin_system.html:92
#: snikket_web/templates/admin_system.html:99
msgid ""
"This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely."
@@ -1445,7 +1462,7 @@ msgid "Your address"
msgstr "Din adress"
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#: snikket_web/templates/user_home.html:26
msgid "Copy address"
msgstr "Kopiera adress"
@@ -1678,6 +1695,36 @@ msgid "Can be used once to create an account on this Snikket service."
msgstr ""
"Kan användas en gång för att skapa ett konto på den här Snikket-tjänsten."
#: snikket_web/templates/library.j2:153
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr ""
"Begränsade användare kan interagera med andra användare på samma Snikket-"
"tjänst och vara medlemmar av kretsar."
#: snikket_web/templates/library.j2:155
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr ""
"Som begränsade användare samt kan även interagera med användare på andra "
"Snikket-tjänster."
#: snikket_web/templates/library.j2:157
msgid "Like normal users and can access the admin panel in the web portal."
msgstr ""
"Som vanliga användare samt har även tillgång till administrationspanelen."
#: snikket_web/templates/library.j2:171
msgid "Invite a single person (invitation link can only be used once)."
msgstr "Bjud in en enskild person (inbjudanslänk kan bara användas en gång)."
#: snikket_web/templates/library.j2:173
msgid "Invite a group of people (invitation link can be used multiple times)."
msgstr ""
"Bjud in en grupp av personer (inbjudanslänk kan användas flera gånger)."
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket Inloggning"
@@ -1747,41 +1794,44 @@ msgstr ""
msgid "Operation successful"
msgstr "Operationen lyckades"
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
msgstr "Välkommen!"
#: snikket_web/templates/user_home.html:11
#, fuzzy
#| msgid "Moving to Snikket?"
msgid "Welcome to Snikket!"
msgstr "Flyttar till Snikket?"
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr "Välkommen hem, %(user_name)s."
#: snikket_web/templates/user_home.html:12
msgid ""
"Now your Snikket instance is up and running, the next step is to invite "
"people to join it. Family, friends, colleagues... you choose!"
msgstr ""
#: snikket_web/templates/user_home.html:14
#: snikket_web/templates/user_home.html:19
msgid "Your account"
msgstr "Ditt konto"
#: snikket_web/templates/user_home.html:20
#: snikket_web/templates/user_home.html:25
msgid "Your XMPP address"
msgstr "Din XMPP-adress"
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_home.html:36
msgid "Edit profile"
msgstr "Redigera profil"
#: snikket_web/templates/user_home.html:33
#: snikket_web/templates/user_home.html:38
#: snikket_web/templates/user_manage_data.html:4
msgid "Manage your data"
msgstr "Hantera ditt data"
#: snikket_web/templates/user_home.html:39
#: snikket_web/templates/user_home.html:44
msgid "Your Snikket"
msgstr "Ditt Snikket"
#: snikket_web/templates/user_home.html:41
#: snikket_web/templates/user_home.html:46
msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Hantera användare, inbjudningar och kretsar i din Snikket-tjänst."
#: snikket_web/templates/user_home.html:43
#: snikket_web/templates/user_home.html:48
msgid "Admin panel"
msgstr "Administrationspanel"
@@ -1851,6 +1901,13 @@ msgstr ""
"Den här avdelningen låter dig hantera vilka som kan se din profil, såsom din "
"profilbild och visningsnamn."
#~ msgid "Welcome!"
#~ msgstr "Välkommen!"
#, python-format
#~ msgid "Welcome home, %(user_name)s."
#~ msgstr "Välkommen hem, %(user_name)s."
#~ msgid "This circle has no group chat associated."
#~ msgstr "Denna krets har ingen tillhörande gruppchatt."

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-12-12 18:22+0000\n"
"POT-Creation-Date: 2024-04-27 14:22+0200\n"
"PO-Revision-Date: 2022-05-20 00:01+0000\n"
"Last-Translator: Zack Zhou <lnx@outlook.com>\n"
"Language-Team: Chinese (Simplified) <http://i18n.sotecware.net/projects/"
@@ -26,241 +26,242 @@ msgid "Login name"
msgstr "账号"
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:74 snikket_web/user.py:63
#: snikket_web/user.py:69
msgid "Display name"
msgstr "昵称"
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:53
#: snikket_web/admin.py:77 snikket_web/admin.py:295
#: snikket_web/templates/admin_edit_user.html:37
msgid "Access Level"
msgstr "权限级别"
#: snikket_web/admin.py:79
#: snikket_web/admin.py:79 snikket_web/admin.py:297
msgid "Limited"
msgstr "受限"
#: snikket_web/admin.py:80
#: snikket_web/admin.py:80 snikket_web/admin.py:298
msgid "Normal user"
msgstr "普通"
#: snikket_web/admin.py:81
#: snikket_web/admin.py:81 snikket_web/admin.py:299
msgid "Administrator"
msgstr "管理员"
#: snikket_web/admin.py:86
#: snikket_web/admin.py:87
msgid "Update user"
msgstr "更新用户"
#: snikket_web/admin.py:90
#: snikket_web/admin.py:91
#, fuzzy
#| msgid "Create account"
msgid "Restore account"
msgstr "创建账户"
#: snikket_web/admin.py:94
#: snikket_web/admin.py:95
#, fuzzy
#| msgid "Your account"
msgid "Unlock account"
msgstr "你的账户"
#: snikket_web/admin.py:98
#: snikket_web/admin.py:99
msgid "Create password reset link"
msgstr "创建密码重置链接"
#: snikket_web/admin.py:116
#: snikket_web/admin.py:117
msgid "Password reset link created"
msgstr "密码重置链接已创建"
#: snikket_web/admin.py:128
#: snikket_web/admin.py:129
msgid "User account restored"
msgstr ""
#: snikket_web/admin.py:133
#: snikket_web/admin.py:134
msgid "User account unlocked"
msgstr ""
#: snikket_web/admin.py:140
#: snikket_web/admin.py:141
msgid "Could not restore user account"
msgstr ""
#: snikket_web/admin.py:145
#: snikket_web/admin.py:146
msgid "Could not unlock user account"
msgstr ""
#: snikket_web/admin.py:157
#: snikket_web/admin.py:158
msgid "User information updated."
msgstr "用户信息已更新。"
#: snikket_web/admin.py:179
#: snikket_web/admin.py:180
msgid "Delete user permanently"
msgstr "永久删除用户"
#: snikket_web/admin.py:192
#: snikket_web/admin.py:193
msgid "User deleted"
msgstr "用户已删除"
#: snikket_web/admin.py:230
#: snikket_web/admin.py:231
msgid "Password reset link not found"
msgstr "此密码重置链接不存在"
#: snikket_web/admin.py:242
#: snikket_web/admin.py:243
msgid "Password reset link deleted"
msgstr "密码重置链接已删除"
#: snikket_web/admin.py:262
#: snikket_web/admin.py:263
msgid "Invite to circle"
msgstr "邀请到圈子"
#: snikket_web/admin.py:268
#: snikket_web/admin.py:269
msgid "At least one circle must be selected"
msgstr "需要至少选择一个圈子"
#: snikket_web/admin.py:273
#: snikket_web/admin.py:274
msgid "Valid for"
msgstr "有效期限"
#: snikket_web/admin.py:275
#: snikket_web/admin.py:276
msgid "One hour"
msgstr "一小时"
#: snikket_web/admin.py:276
#: snikket_web/admin.py:277
msgid "Twelve hours"
msgstr "十二小时"
#: snikket_web/admin.py:277
#: snikket_web/admin.py:278
msgid "One day"
msgstr "一天"
#: snikket_web/admin.py:278
#: snikket_web/admin.py:279
msgid "One week"
msgstr "一周"
#: snikket_web/admin.py:279
#: snikket_web/admin.py:280
msgid "Four weeks"
msgstr "四周"
#: snikket_web/admin.py:285 snikket_web/templates/admin_edit_invite.html:17
#: snikket_web/admin.py:286 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr "邀请类型"
#: snikket_web/admin.py:287 snikket_web/templates/library.j2:139
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:139
msgid "Individual"
msgstr "单个邀请"
#: snikket_web/admin.py:288 snikket_web/templates/library.j2:137
#: snikket_web/admin.py:289 snikket_web/templates/library.j2:137
msgid "Group"
msgstr "群组邀请"
#: snikket_web/admin.py:294
#: snikket_web/admin.py:305
msgid "New invitation link"
msgstr "新增邀请链接"
#: snikket_web/admin.py:356
#: snikket_web/admin.py:367
msgid "Revoke"
msgstr "撤销"
#: snikket_web/admin.py:380
#: snikket_web/admin.py:393
msgid "Invitation created"
msgstr "邀请已创建"
#: snikket_web/admin.py:396
#: snikket_web/admin.py:409
msgid "No such invitation exists"
msgstr "邀请不存在"
#: snikket_web/admin.py:411
#: snikket_web/admin.py:424
msgid "Invitation revoked"
msgstr "邀请已撤销"
#: snikket_web/admin.py:428 snikket_web/admin.py:476
#: snikket_web/admin.py:441 snikket_web/admin.py:489
#: snikket_web/templates/admin_delete_circle.html:10
#: snikket_web/templates/admin_edit_circle.html:44
msgid "Name"
msgstr "名称"
#: snikket_web/admin.py:433 snikket_web/templates/admin_circles.html:47
#: snikket_web/admin.py:446 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "新建圈子"
#: snikket_web/admin.py:463
#: snikket_web/admin.py:476
msgid "Circle created"
msgstr "圈子已创建"
#: snikket_web/admin.py:481
#: snikket_web/admin.py:494
msgid "Select user"
msgstr "选择用户"
#: snikket_web/admin.py:486
#: snikket_web/admin.py:499
msgid "Update circle"
msgstr "更新圈子"
#: snikket_web/admin.py:492
#: snikket_web/admin.py:505
msgid "Add user"
msgstr "增加用户"
#: snikket_web/admin.py:510 snikket_web/admin.py:609 snikket_web/admin.py:657
#: snikket_web/admin.py:523 snikket_web/admin.py:622 snikket_web/admin.py:670
msgid "No such circle exists"
msgstr "圈子不存在"
#: snikket_web/admin.py:547
#: snikket_web/admin.py:560
msgid "Circle data updated"
msgstr "圈子数据已更新"
#: snikket_web/admin.py:557
#: snikket_web/admin.py:570
msgid "User added to circle"
msgstr "用户已添加到圈子"
#: snikket_web/admin.py:566
#: snikket_web/admin.py:579
msgid "User removed from circle"
msgstr "用户已从圈子移除"
#: snikket_web/admin.py:575
#: snikket_web/admin.py:588
#, fuzzy
#| msgid "User removed from circle"
msgid "Chat removed from circle"
msgstr "用户已从圈子移除"
#: snikket_web/admin.py:593
#: snikket_web/admin.py:606
msgid "Delete circle permanently"
msgstr "永久删除圈子"
#: snikket_web/admin.py:620
#: snikket_web/admin.py:633
msgid "Circle deleted"
msgstr "圈子已删除"
#: snikket_web/admin.py:634
#: snikket_web/admin.py:647
#, fuzzy
#| msgid "Group chat address"
msgid "Group chat name"
msgstr "群聊地址"
#: snikket_web/admin.py:639
#: snikket_web/admin.py:652
#, fuzzy
#| msgid "Create account"
msgid "Create group chat"
msgstr "创建账户"
#: snikket_web/admin.py:669
#: snikket_web/admin.py:682
#, fuzzy
#| msgid "User added to circle"
msgid "New group chat added to circle"
msgstr "用户已添加到圈子"
#: snikket_web/admin.py:736
#: snikket_web/admin.py:749
msgid "Message contents"
msgstr "消息内容"
#: snikket_web/admin.py:742
#: snikket_web/admin.py:755
msgid "Only send to online users"
msgstr "仅发送给在线用户"
#: snikket_web/admin.py:746
#: snikket_web/admin.py:759
msgid "Post to all users"
msgstr "发送给所有用户"
#: snikket_web/admin.py:750
#: snikket_web/admin.py:763
msgid "Send preview to yourself"
msgstr "发送预览"
#: snikket_web/admin.py:772
#: snikket_web/admin.py:785
msgid "Announcement sent!"
msgstr "公告已发送!"
@@ -295,48 +296,48 @@ msgstr "账号数据过大无法上传。请联系Sknikket管理员。"
msgid "Username"
msgstr "用户名"
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
#: snikket_web/invite.py:118 snikket_web/invite.py:190 snikket_web/main.py:43
msgid "Password"
msgstr "密码"
#: snikket_web/invite.py:122 snikket_web/invite.py:190
#: snikket_web/invite.py:126 snikket_web/invite.py:198
msgid "Confirm password"
msgstr "确认密码"
#: snikket_web/invite.py:126 snikket_web/invite.py:194
#: snikket_web/invite.py:130 snikket_web/invite.py:202
msgid "The passwords must match."
msgstr "两次输入的密码不相符。"
#: snikket_web/invite.py:131
#: snikket_web/invite.py:135
msgid "Create account"
msgstr "创建账户"
#: snikket_web/invite.py:158
#: snikket_web/invite.py:162
msgid "That username is already taken."
msgstr "用户名已被占用。"
#: snikket_web/invite.py:162 snikket_web/invite.py:227
#: snikket_web/invite.py:166 snikket_web/invite.py:235
msgid "Registration was declined for unknown reasons."
msgstr "注册被拒绝。"
#: snikket_web/invite.py:166
#: snikket_web/invite.py:170
msgid "The username is not valid."
msgstr "无效的用户名。"
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
#: snikket_web/invite.py:207 snikket_web/templates/user_home.html:37
#: snikket_web/templates/user_passwd.html:29
msgid "Change password"
msgstr "更改密码"
#: snikket_web/invite.py:246
#: snikket_web/invite.py:254
msgid "Account data file"
msgstr "账户数据文件"
#: snikket_web/invite.py:250
#: snikket_web/invite.py:258
msgid "Import data"
msgstr "导入数据"
#: snikket_web/invite.py:271
#: snikket_web/invite.py:279
#, python-format
msgid ""
"The account data you tried to import is in an unknown format. Please upload "
@@ -344,8 +345,8 @@ msgid ""
msgstr ""
"导入失败:未知的数据格式( %(mimetype)s。请上传使用XEP-0227格式的XML文件。"
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
#: snikket_web/invite.py:299 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:189
msgid "Error"
msgstr "错误"
@@ -373,73 +374,73 @@ msgstr "当前密码"
msgid "New password"
msgstr "新密码"
#: snikket_web/user.py:39
#: snikket_web/user.py:42
msgid "Confirm new password"
msgstr "确认密码"
#: snikket_web/user.py:43
#: snikket_web/user.py:47
msgid "The new passwords must match."
msgstr "两次输入的密码不相符。"
#: snikket_web/user.py:50
#: snikket_web/user.py:56
msgid "Sign out"
msgstr "登出"
#: snikket_web/user.py:55
#: snikket_web/user.py:61
msgid "Nobody"
msgstr "仅自己可见"
#: snikket_web/user.py:56
#: snikket_web/user.py:62
msgid "Friends only"
msgstr "好友可见"
#: snikket_web/user.py:57
#: snikket_web/user.py:63
msgid "Everyone"
msgstr "公开"
#: snikket_web/user.py:67
#: snikket_web/user.py:73
msgid "Avatar"
msgstr "头像"
#: snikket_web/user.py:71
#: snikket_web/user.py:77
msgid "Profile visibility"
msgstr "资料权限"
#: snikket_web/user.py:76
#: snikket_web/user.py:82
msgid "Update profile"
msgstr "更新资料"
#: snikket_web/user.py:82
#: snikket_web/user.py:88
msgid "Account data"
msgstr "账户数据"
#: snikket_web/user.py:86
#: snikket_web/user.py:92
msgid "Upload"
msgstr "上传"
#: snikket_web/user.py:111
#: snikket_web/user.py:122
msgid "Incorrect password."
msgstr "密码错误。"
#: snikket_web/user.py:115
#: snikket_web/user.py:126
msgid "Password changed"
msgstr "密码已修改"
#: snikket_web/user.py:123
#: snikket_web/user.py:134
msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app."
msgstr "选择的头像过大你需要使用APP上传大头像。"
#: snikket_web/user.py:170
#: snikket_web/user.py:181
msgid "Profile updated"
msgstr "资料已更新"
#: snikket_web/user.py:184
#: snikket_web/user.py:195
msgid "Export"
msgstr "导出"
#: snikket_web/user.py:202
#: snikket_web/user.py:213
msgid "You currently have no account data to export."
msgstr "目前没有需要导出的数据。"
@@ -576,7 +577,7 @@ msgstr "成员数量"
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_edit_circle.html:45
#: snikket_web/templates/admin_edit_circle.html:75
#: snikket_web/templates/admin_edit_circle.html:74
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:10
msgid "Actions"
@@ -637,16 +638,43 @@ msgstr ""
msgid "Create invitation"
msgstr "创建邀请"
#: snikket_web/templates/admin_create_invite_form.html:5
#: snikket_web/templates/admin_create_invite_form.html:9
#: snikket_web/templates/user_home.html:13
msgid "Create new invitation"
msgstr "创建新邀请"
#: snikket_web/templates/admin_create_invite_form.html:6
#: snikket_web/templates/admin_create_invite_form.html:10
msgid ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
msgstr "点击下面的按钮来新建邀请更多用户到此实例的链接。"
#: snikket_web/templates/admin_create_invite_form.html:16
msgid ""
"Choose whether this invitation link will allow more than one person to join."
msgstr ""
#: snikket_web/templates/admin_create_invite_form.html:21
#, fuzzy, python-format
#| msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgid ""
"<span class=\"invite-type\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
#: snikket_web/templates/admin_create_invite_form.html:34
#: snikket_web/templates/admin_edit_user.html:38
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr "权限级别控制此Sknikket实例的用户能发起交流的范围。"
#: snikket_web/templates/admin_create_invite_form.html:38
#, fuzzy, python-format
#| msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgid ""
"<span class=\"access-level\">%(title)s%(icon)s</span><p>%(description)s</p>"
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
msgid "Debug information for %(user_name)s"
@@ -722,7 +750,7 @@ msgid "Delete user %(user_name)s"
msgstr "删除用户 %(user_name)s"
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:74
#: snikket_web/templates/admin_edit_user.html:58
msgid "Delete user"
msgstr "删除用户"
@@ -793,37 +821,37 @@ msgstr "圈子成员"
msgid "All members of the circle will see each other in their contact list."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
msgid "The user has been deleted from the server."
msgstr "用户已从实例删除。"
#: snikket_web/templates/admin_edit_circle.html:85
#: snikket_web/templates/admin_edit_circle.html:84
#: snikket_web/templates/library.j2:131
msgid "deleted"
msgstr "已删除"
#: snikket_web/templates/admin_edit_circle.html:91
#: snikket_web/templates/admin_edit_circle.html:89
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "将用户 %(username)s 从圈子中移除"
#: snikket_web/templates/admin_edit_circle.html:99
#: snikket_web/templates/admin_edit_circle.html:97
msgid "This circle currently has no members."
msgstr "圈子目前没有成员。"
#: snikket_web/templates/admin_edit_circle.html:101
#: snikket_web/templates/admin_edit_circle.html:99
msgid "Invite more members"
msgstr "邀请更多成员"
#: snikket_web/templates/admin_edit_circle.html:104
#: snikket_web/templates/admin_edit_circle.html:102
msgid "Add existing user"
msgstr "添加已注册用户"
#: snikket_web/templates/admin_edit_circle.html:115
#: snikket_web/templates/admin_edit_circle.html:113
msgid "All users added"
msgstr "所有用户已添加"
#: snikket_web/templates/admin_edit_circle.html:116
#: snikket_web/templates/admin_edit_circle.html:114
msgid "All users on this service are already in this circle."
msgstr "此实例的所有用户已在此圈子。"
@@ -877,102 +905,80 @@ msgstr "已创建"
msgid "Return to invitation list"
msgstr "返回邀请列表"
#: snikket_web/templates/admin_edit_user.html:5
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr "受限用户只能与此Sknikket实例的用户交流只能加入此实例的圈子。"
#: snikket_web/templates/admin_edit_user.html:7
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr "除了受限用户的权限还可以和其他Snikket实例的用户交流。"
#: snikket_web/templates/admin_edit_user.html:9
msgid "Like normal users and can access the admin panel in the web portal."
msgstr "除了普通用户的权限,还可以使用管理员控制面板。"
#: snikket_web/templates/admin_edit_user.html:20
#: snikket_web/templates/admin_edit_user.html:4
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Edit user %(user_name)s"
msgstr "编辑用户 %(user_name)s"
#: snikket_web/templates/admin_edit_user.html:24
#: snikket_web/templates/admin_edit_user.html:8
msgid "This user account is pending deletion"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_edit_user.html:9
#, python-format
msgid ""
"The owner of the account sent a deletion request on %(date)s using their app."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:26
#: snikket_web/templates/admin_edit_user.html:10
#, python-format
msgid ""
"The account has been locked, and will be automatically deleted permanently "
"in %(time)s."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:28
#: snikket_web/templates/admin_edit_user.html:12
msgid ""
"If this was a mistake, you can cancel the deletion and restore the account."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:34
#: snikket_web/templates/admin_edit_user.html:18
msgid "This user account is locked"
msgstr ""
#: snikket_web/templates/admin_edit_user.html:35
#: snikket_web/templates/admin_edit_user.html:19
msgid ""
"The user will not be able to log in to their account until it is unlocked "
"again."
msgstr ""
#: snikket_web/templates/admin_edit_user.html:41
#: snikket_web/templates/admin_edit_user.html:25
msgid "Edit user"
msgstr "编辑用户"
#: snikket_web/templates/admin_edit_user.html:46
#: snikket_web/templates/admin_edit_user.html:30
msgid "The login name cannot be changed."
msgstr "登录账号无法被修改。"
#: snikket_web/templates/admin_edit_user.html:54
msgid ""
"The access level of a user determines what interactions are allowed for them "
"on your Snikket service."
msgstr "权限级别控制此Sknikket实例的用户能发起交流的范围。"
#: snikket_web/templates/admin_edit_user.html:61
#: snikket_web/templates/admin_edit_user.html:45
#, python-format
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
#: snikket_web/templates/admin_edit_user.html:71
#: snikket_web/templates/admin_edit_user.html:55
msgid "Return to user list"
msgstr "返回用户列表"
#: snikket_web/templates/admin_edit_user.html:79
#: snikket_web/templates/admin_edit_user.html:63
msgid "Further actions"
msgstr "其他操作"
#: snikket_web/templates/admin_edit_user.html:81
#: snikket_web/templates/admin_edit_user.html:65
msgid "Reset password"
msgstr "重置密码"
#: snikket_web/templates/admin_edit_user.html:84
#: snikket_web/templates/admin_edit_user.html:68
msgid ""
"If the user has lost their password, you can use the button below to create "
"a special link which allows to change the password of the account, once."
msgstr "如果用户忘记密码,你可以用下面的链接创建一个一次性的密码重置链接。"
#: snikket_web/templates/admin_edit_user.html:89
#: snikket_web/templates/admin_edit_user.html:73
msgid "Debug information"
msgstr "Debug信息"
#: snikket_web/templates/admin_edit_user.html:91
#: snikket_web/templates/admin_edit_user.html:75
msgid ""
"In some cases, extended information about the user account and the connected "
"devices is necessary to troubleshoot issues. The button below reveals this "
@@ -981,7 +987,7 @@ msgstr ""
"某些情况下此用户的扩展信息和设备信息为了debug是必须的。下面的按钮显示这些敏"
"感信息。"
#: snikket_web/templates/admin_edit_user.html:95
#: snikket_web/templates/admin_edit_user.html:79
msgid "Show debug information"
msgstr "显示debug信息"
@@ -1111,7 +1117,7 @@ msgstr "系统负载5分钟平均"
#: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
#: snikket_web/templates/admin_system.html:85
msgid "unknown"
msgstr "未知"
@@ -1161,14 +1167,34 @@ msgid "Storage used by shared files"
msgstr "共享文件存储占用"
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices"
#, fuzzy
#| msgid "Update user"
msgid "Active users"
msgstr "更新用户"
#: snikket_web/templates/admin_system.html:83
#, fuzzy
#| msgid "Connected devices"
msgid "Connected now:"
msgstr "已连接的设备"
#: snikket_web/templates/admin_system.html:88
msgid "Past 24 hours:"
msgstr ""
#: snikket_web/templates/admin_system.html:89
msgid "Past 7 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:90
msgid "Past 30 days:"
msgstr ""
#: snikket_web/templates/admin_system.html:97
msgid "Broadcast message"
msgstr "广播消息"
#: snikket_web/templates/admin_system.html:92
#: snikket_web/templates/admin_system.html:99
msgid ""
"This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely."
@@ -1421,7 +1447,7 @@ msgid "Your address"
msgstr "你的地址"
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
#: snikket_web/templates/user_home.html:26
msgid "Copy address"
msgstr "复制地址"
@@ -1636,6 +1662,30 @@ msgstr "可以在此Snikket实例使用多次。"
msgid "Can be used once to create an account on this Snikket service."
msgstr "只能在此Snikket实例使用一次。"
#: snikket_web/templates/library.j2:153
msgid ""
"Limited users can interact with users on the same Snikket service and be "
"members of circles."
msgstr "受限用户只能与此Sknikket实例的用户交流只能加入此实例的圈子。"
#: snikket_web/templates/library.j2:155
msgid ""
"Like limited users and can also interact with users on other Snikket "
"services."
msgstr "除了受限用户的权限还可以和其他Snikket实例的用户交流。"
#: snikket_web/templates/library.j2:157
msgid "Like normal users and can access the admin panel in the web portal."
msgstr "除了普通用户的权限,还可以使用管理员控制面板。"
#: snikket_web/templates/library.j2:171
msgid "Invite a single person (invitation link can only be used once)."
msgstr ""
#: snikket_web/templates/library.j2:173
msgid "Invite a group of people (invitation link can be used multiple times)."
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket登录"
@@ -1704,41 +1754,44 @@ msgstr ""
msgid "Operation successful"
msgstr "操作成功"
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
msgstr "欢迎!"
#: snikket_web/templates/user_home.html:11
#, fuzzy
#| msgid "Moving to Snikket?"
msgid "Welcome to Snikket!"
msgstr "迁移到Snikket"
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr "欢迎回家,%(user_name)s。"
#: snikket_web/templates/user_home.html:12
msgid ""
"Now your Snikket instance is up and running, the next step is to invite "
"people to join it. Family, friends, colleagues... you choose!"
msgstr ""
#: snikket_web/templates/user_home.html:14
#: snikket_web/templates/user_home.html:19
msgid "Your account"
msgstr "你的账户"
#: snikket_web/templates/user_home.html:20
#: snikket_web/templates/user_home.html:25
msgid "Your XMPP address"
msgstr "你的XMPP地址"
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_home.html:36
msgid "Edit profile"
msgstr "编辑资料"
#: snikket_web/templates/user_home.html:33
#: snikket_web/templates/user_home.html:38
#: snikket_web/templates/user_manage_data.html:4
msgid "Manage your data"
msgstr "管理你的数据"
#: snikket_web/templates/user_home.html:39
#: snikket_web/templates/user_home.html:44
msgid "Your Snikket"
msgstr "你的Snikket"
#: snikket_web/templates/user_home.html:41
#: snikket_web/templates/user_home.html:46
msgid "Manage users, invitations and circles of your Snikket service."
msgstr "管理此Snikket实例的用户、邀请和圈子。"
#: snikket_web/templates/user_home.html:43
#: snikket_web/templates/user_home.html:48
msgid "Admin panel"
msgstr "管理面板"
@@ -1799,6 +1852,13 @@ msgid ""
"like avatar and nickname."
msgstr "允许你控制谁能看到你的个人资料,比如头像和昵称。"
#~ msgid "Welcome!"
#~ msgstr "欢迎!"
#, python-format
#~ msgid "Welcome home, %(user_name)s."
#~ msgstr "欢迎回家,%(user_name)s。"
#~ msgid "This circle has no group chat associated."
#~ msgstr "此圈子没有群聊。"

View File

@@ -32,16 +32,22 @@ class ChangePasswordForm(BaseForm):
new_password = wtforms.PasswordField(
_l("New password"),
validators=[wtforms.validators.InputRequired()]
validators=[
wtforms.validators.InputRequired(),
wtforms.validators.Length(min=10),
]
)
new_password_confirm = wtforms.PasswordField(
_l("Confirm new password"),
validators=[wtforms.validators.InputRequired(),
wtforms.validators.EqualTo(
"new_password",
_l("The new passwords must match.")
)]
validators=[
wtforms.validators.InputRequired(),
wtforms.validators.EqualTo(
"new_password",
_l("The new passwords must match.")
),
wtforms.validators.Length(min=10),
]
)
@@ -91,7 +97,12 @@ class ImportAccountDataForm(BaseForm):
@client.require_session()
async def index() -> str:
user_info = await client.get_user_info()
return await render_template("user_home.html", user_info=user_info)
metrics = await client.get_system_metrics()
return await render_template(
"user_home.html",
user_info=user_info,
metrics=metrics,
)
@bp.route('/passwd', methods=["GET", "POST"])

View File

@@ -27,6 +27,7 @@ navigation/cancel:cancel
navigation/more_vert:more
social/groups:groups
social/people:people
social/person:person
social/group_add:create_group
social/person_add:add_user
social/person_remove:remove_user