diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 432896d1f..79f4893df 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -649,11 +649,11 @@ useful when testing components that depend on each other: def notify(email, message): """ - A function that sends an email to the given recipient + A function that sends an e-mail to the given recipient with the given message """ - # our email sending logic here + # our e-mail sending logic here # ... # funkwhale_api/myapp/users.py @@ -675,9 +675,9 @@ useful when testing components that depend on each other: def test_downgrade_superuser_sends_email(factories, mocker): """ Your downgrade logic is already tested, however, we want to ensure - an email is sent when user is downgraded, but we don't have any email + an e-mail is sent when user is downgraded, but we don't have any e-mail server available in our testing environment. Thus, we need to mock - the email sending process. + the e-mail sending process. """ mocked_notify = mocker.patch('funkwhale_api.myapp.notifications.notify') user = factories['users.User'](is_superuser=True) @@ -692,7 +692,7 @@ useful when testing components that depend on each other: user = factories['users.User'](is_superuser=False) users.downgrade_user(user) - # here, we ensure no email was sent + # here, we ensure no e-mail was sent mocked_notify.assert_not_called() Views: you can find some readable views tests in file: ``api/tests/users/test_views.py`` diff --git a/api/config/settings/common.py b/api/config/settings/common.py index d3389e615..fb42e6b75 100644 --- a/api/config/settings/common.py +++ b/api/config/settings/common.py @@ -308,7 +308,7 @@ DEFAULT_FROM_EMAIL = env( "DEFAULT_FROM_EMAIL", default="Funkwhale ".format(FUNKWHALE_HOSTNAME) ) """ -Name and email address used to send system emails. +Name and e-mail address used to send system e-mails. Default: ``Funkwhale `` @@ -320,17 +320,17 @@ Default: ``Funkwhale `` """ EMAIL_SUBJECT_PREFIX = env("EMAIL_SUBJECT_PREFIX", default="[Funkwhale] ") """ -Subject prefix for system emails. +Subject prefix for system e-mails. """ SERVER_EMAIL = env("SERVER_EMAIL", default=DEFAULT_FROM_EMAIL) EMAIL_CONFIG = env.email_url("EMAIL_CONFIG", default="consolemail://") """ -SMTP configuration for sending emails. Possible values: +SMTP configuration for sending e-mails. Possible values: -- ``EMAIL_CONFIG=consolemail://``: output emails to console (the default) -- ``EMAIL_CONFIG=dummymail://``: disable email sending completely +- ``EMAIL_CONFIG=consolemail://``: output e-mails to console (the default) +- ``EMAIL_CONFIG=dummymail://``: disable e-mail sending completely On a production instance, you'll usually want to use an external SMTP server: @@ -591,10 +591,11 @@ ACCOUNT_EMAIL_VERIFICATION_ENFORCE = env.bool( "ACCOUNT_EMAIL_VERIFICATION_ENFORCE", default=False ) """ -Determine wether users need to verify their email address before using -the service. Enabling this can be useful to reduce spam or bots accounts, -however, you'll need to configure a mail server so that your users can receive -the verification emails, using :attr:`EMAIL_CONFIG`. +Determine wether users need to verify their e-mail address before using the service. Enabling this can be useful +to reduce spam or bots accounts, however, you'll need to configure a mail server so that your users can receive the +verification e-mails, using :attr:`EMAIL_CONFIG`. + +Note that regardless of the setting value, superusers created through the command line will never require verification. Note that regardless of the setting value, superusers created through the command line will never require verification. @@ -1255,7 +1256,7 @@ MODERATION_EMAIL_NOTIFICATIONS_ENABLED = env.bool( "MODERATION_EMAIL_NOTIFICATIONS_ENABLED", default=True ) """ -Whether to enable email notifications to moderators and pods admins. +Whether to enable e-mail notifications to moderators and pods admins. """ FEDERATION_AUTHENTIFY_FETCHES = True FEDERATION_SYNCHRONOUS_FETCH = env.bool("FEDERATION_SYNCHRONOUS_FETCH", default=True) diff --git a/api/config/settings/local.py b/api/config/settings/local.py index 2fc121612..3f97bc1ab 100644 --- a/api/config/settings/local.py +++ b/api/config/settings/local.py @@ -3,7 +3,7 @@ Local settings - Run in Debug mode -- Use console backend for emails +- Use console backend for e-mails - Add Django Debug Toolbar - Add django-extensions as app """ diff --git a/api/config/settings/production.py b/api/config/settings/production.py index 1ee9b8f7e..aba347af5 100644 --- a/api/config/settings/production.py +++ b/api/config/settings/production.py @@ -4,7 +4,7 @@ Production Configurations - Use djangosecure - Use Amazon's S3 for storing static files and uploaded media -- Use mailgun to send emails +- Use mailgun to send e-mails - Use Redis on Heroku diff --git a/api/funkwhale_api/cli/users.py b/api/funkwhale_api/cli/users.py index 678b19f81..92d57d3e6 100644 --- a/api/funkwhale_api/cli/users.py +++ b/api/funkwhale_api/cli/users.py @@ -37,7 +37,7 @@ def handler_create_user( utils.logger.debug("Validating user data…") serializer.is_valid(raise_exception=True) - # Override email validation, we assume accounts created from CLI have a valid email + # Override e-mail validation, we assume accounts created from CLI have a valid e-mail request = FakeRequest(session={"account_verified_email": email}) utils.logger.debug("Creating user…") user = serializer.save(request=request) diff --git a/api/funkwhale_api/instance/dynamic_preferences_registry.py b/api/funkwhale_api/instance/dynamic_preferences_registry.py index b61096e9c..1b4dd10b4 100644 --- a/api/funkwhale_api/instance/dynamic_preferences_registry.py +++ b/api/funkwhale_api/instance/dynamic_preferences_registry.py @@ -73,7 +73,7 @@ class InstanceContactEmail(types.StringPreference): name = "contact_email" verbose_name = "Contact email" default = "" - help_text = "A contact email for visitors who need to contact an admin or moderator" + help_text = "A contact e-mail address for visitors who need to contact an admin or moderator" field_kwargs = {"required": False} diff --git a/api/funkwhale_api/moderation/serializers.py b/api/funkwhale_api/moderation/serializers.py index 4b099a1b7..b062744f4 100644 --- a/api/funkwhale_api/moderation/serializers.py +++ b/api/funkwhale_api/moderation/serializers.py @@ -304,7 +304,7 @@ class ReportSerializer(serializers.ModelSerializer): if not validated_data.get("submitter_email"): raise serializers.ValidationError( - "You need to provide an email address to submit this report" + "You need to provide an e-mail address to submit this report" ) return validated_data diff --git a/api/funkwhale_api/moderation/tasks.py b/api/funkwhale_api/moderation/tasks.py index 6f908270f..1e049540f 100644 --- a/api/funkwhale_api/moderation/tasks.py +++ b/api/funkwhale_api/moderation/tasks.py @@ -106,14 +106,16 @@ def send_new_report_email_to_moderators(report): "", "—", "", - "You are receiving this email because you are a moderator for {}.".format( + "You are receiving this e-mail because you are a moderator for {}.".format( settings.FUNKWHALE_HOSTNAME ), ] for moderator in moderators: if not moderator.email: - logger.warning("Moderator %s has no email configured", moderator.username) + logger.warning( + "Moderator %s has no e-mail address configured", moderator.username + ) continue mail.send_mail( subject, @@ -192,14 +194,16 @@ def notify_mods_signup_request_pending(obj): "", "—", "", - "You are receiving this email because you are a moderator for {}.".format( + "You are receiving this e-mail because you are a moderator for {}.".format( settings.FUNKWHALE_HOSTNAME ), ] for moderator in moderators: if not moderator.email: - logger.warning("Moderator %s has no email configured", moderator.username) + logger.warning( + "Moderator %s has no e-mail address configured", moderator.username + ) continue mail.send_mail( subject, @@ -213,7 +217,7 @@ def notify_submitter_signup_request_approved(user_request): submitter_repr = user_request.submitter.preferred_username submitter_email = user_request.submitter.user.email if not submitter_email: - logger.warning("User %s has no email configured", submitter_repr) + logger.warning("User %s has no e-mail address configured", submitter_repr) return subject = "Welcome to {}, {}!".format(settings.FUNKWHALE_HOSTNAME, submitter_repr) login_url = federation_utils.full_url("/login") @@ -223,7 +227,7 @@ def notify_submitter_signup_request_approved(user_request): "Our moderation team has approved your account request and you can now start " "using the service. Please visit {} to get started.".format(login_url), "", - "Before your first login, you may need to verify your email address if you didn't already.", + "Before your first login, you may need to verify your e-mail address if you didn't already.", ] mail.send_mail( @@ -238,7 +242,7 @@ def notify_submitter_signup_request_refused(user_request): submitter_repr = user_request.submitter.preferred_username submitter_email = user_request.submitter.user.email if not submitter_email: - logger.warning("User %s has no email configured", submitter_repr) + logger.warning("User %s has no e-mail address configured", submitter_repr) return subject = "Your account request at {} was refused".format( settings.FUNKWHALE_HOSTNAME diff --git a/api/funkwhale_api/subsonic/authentication.py b/api/funkwhale_api/subsonic/authentication.py index dd6a60f42..6289248e9 100644 --- a/api/funkwhale_api/subsonic/authentication.py +++ b/api/funkwhale_api/subsonic/authentication.py @@ -28,7 +28,7 @@ def authenticate(username, password): raise exceptions.AuthenticationFailed("Wrong username or password.") if common_authentication.should_verify_email(user): - raise exceptions.AuthenticationFailed("You need to verify your email.") + raise exceptions.AuthenticationFailed("You need to verify your e-mail address.") return (user, None) @@ -47,7 +47,7 @@ def authenticate_salt(username, salt, token): raise exceptions.AuthenticationFailed("Wrong username or password.") if common_authentication.should_verify_email(user): - raise exceptions.AuthenticationFailed("You need to verify your email.") + raise exceptions.AuthenticationFailed("You need to verify your e-mail address.") return (user, None) diff --git a/api/funkwhale_api/templates/registration/password_reset_email.html b/api/funkwhale_api/templates/registration/password_reset_email.html index 0b6b1384d..08f25472d 100644 --- a/api/funkwhale_api/templates/registration/password_reset_email.html +++ b/api/funkwhale_api/templates/registration/password_reset_email.html @@ -1,5 +1,5 @@ {% load i18n %}{% autoescape off %} -{% blocktrans with site_name=funkwhale_site_name %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktrans %} +{% blocktrans with site_name=funkwhale_site_name %}You're receiving this e-mail because you requested a password reset for your user account at {{ site_name }}.{% endblocktrans %} {% trans "Please go to the following page and choose a new password:" %} {{ funkwhale_url }}/auth/password/reset/confirm?uid={{ uid }}&token={{ token }} diff --git a/api/funkwhale_api/users/oauth/scopes.py b/api/funkwhale_api/users/oauth/scopes.py index f5390eb04..29d5ddae0 100644 --- a/api/funkwhale_api/users/oauth/scopes.py +++ b/api/funkwhale_api/users/oauth/scopes.py @@ -10,7 +10,7 @@ class Scope: BASE_SCOPES = [ Scope( - "profile", "Access profile data (email, username, avatar, subsonic password…)" + "profile", "Access profile data (e-mail, username, avatar, subsonic password…)" ), Scope("libraries", "Access uploads, libraries, and audio metadata"), Scope("edits", "Browse and submit edits on audio metadata"), diff --git a/api/funkwhale_api/users/rest_auth_urls.py b/api/funkwhale_api/users/rest_auth_urls.py index 75ba608bb..540ea8285 100644 --- a/api/funkwhale_api/users/rest_auth_urls.py +++ b/api/funkwhale_api/users/rest_auth_urls.py @@ -38,8 +38,8 @@ urlpatterns = [ name="change_password", ), # This url is used by django-allauth and empty TemplateView is - # defined just to allow reverse() call inside app, for example when email - # with verification link is being sent, then it's required to render email + # defined just to allow reverse() call inside app, for example when e-mail + # with verification link is being sent, then it's required to render e-mail # content. # account_confirm_email - You should override this view to handle it in # your API client somehow and then, send post to /verify-email/ endpoint diff --git a/api/funkwhale_api/users/serializers.py b/api/funkwhale_api/users/serializers.py index 72bc5833f..317327459 100644 --- a/api/funkwhale_api/users/serializers.py +++ b/api/funkwhale_api/users/serializers.py @@ -294,7 +294,7 @@ class UserChangeEmailSerializer(serializers.Serializer): .exclude(user=self.context["user"]) .exists() ): - raise serializers.ValidationError("This email address is already in use") + raise serializers.ValidationError("This e-mail address is already in use") return value def save(self, request): diff --git a/api/funkwhale_api/users/views.py b/api/funkwhale_api/users/views.py index f177bb1e4..b9891e594 100644 --- a/api/funkwhale_api/users/views.py +++ b/api/funkwhale_api/users/views.py @@ -38,7 +38,7 @@ class RegisterView(registration_views.RegisterView): def perform_create(self, serializer): user = super().perform_create(serializer) if not user.is_active: - # manual approval, we need to send the confirmation email by hand + # manual approval, we need to send the confirmation e-mail by hand authentication.send_email_confirmation(self.request, user) return user diff --git a/api/tests/moderation/test_serializers.py b/api/tests/moderation/test_serializers.py index 9089dc371..2763fc8b1 100644 --- a/api/tests/moderation/test_serializers.py +++ b/api/tests/moderation/test_serializers.py @@ -203,9 +203,9 @@ def test_report_serializer_repr(factories, to_api_date): {"type": "other", "submitter_email": "hello@example.test"}, False, ), - # anonymous reports enabled for the category, but invalid email + # anonymous reports enabled for the category, but invalid e-mail (["other"], {}, {"type": "other", "submitter_email": "hello@"}, False), - # anonymous reports enabled for the category, no email + # anonymous reports enabled for the category, no e-mail (["other"], {}, {"type": "other"}, False), # anonymous reports enabled for the category, actor object is empty (["other"], {"submitter": None}, {"type": "other"}, False), diff --git a/api/tests/moderation/test_tasks.py b/api/tests/moderation/test_tasks.py index f51d8ff3b..54f0438dc 100644 --- a/api/tests/moderation/test_tasks.py +++ b/api/tests/moderation/test_tasks.py @@ -15,9 +15,9 @@ def test_report_created_signal_calls_send_new_report_mail(factories, mocker): def test_report_created_signal_sends_email_to_mods(factories, mailoutbox, settings): mod1 = factories["users.User"](permission_moderation=True) mod2 = factories["users.User"](permission_moderation=True) - # inactive, so no email + # inactive, so no e-mail factories["users.User"](permission_moderation=True, is_active=False) - # no moderation permission, so no email + # no moderation permission, so no e-mail factories["users.User"]() report = factories["moderation.Report"]() diff --git a/api/tests/users/oauth/test_views.py b/api/tests/users/oauth/test_views.py index 96f594ec2..95f5aec77 100644 --- a/api/tests/users/oauth/test_views.py +++ b/api/tests/users/oauth/test_views.py @@ -427,5 +427,5 @@ def test_token_auth( assert response.status_code == expected_status_code if expected_status_code != 200: - # confirmation email should have been sent again + # confirmation e-mail should have been sent again assert len(mailoutbox) == sent_emails + 1 diff --git a/deploy/apache.conf b/deploy/apache.conf index 996e5488c..0c072059e 100644 --- a/deploy/apache.conf +++ b/deploy/apache.conf @@ -57,7 +57,7 @@ Define MEDIA_DIRECTORY_PATH ${FUNKWHALE_ROOT_PATH}/data/media # Turning ProxyRequests on and allowing proxying from all may allow - # spammers to use your proxy to send email. + # spammers to use your proxy to send e-mail. ProxyRequests Off diff --git a/deploy/env.prod.sample b/deploy/env.prod.sample index f52f819e1..69b3e466e 100644 --- a/deploy/env.prod.sample +++ b/deploy/env.prod.sample @@ -5,7 +5,7 @@ # following variables: # - DJANGO_SECRET_KEY # - FUNKWHALE_HOSTNAME -# - EMAIL_CONFIG and DEFAULT_FROM_EMAIL if you plan to send emails) +# - EMAIL_CONFIG and DEFAULT_FROM_EMAIL if you plan to send e-mails) # On non-docker setup **only**, you'll also have to tweak/uncomment those variables: # - DATABASE_URL # - CACHE_URL @@ -43,21 +43,21 @@ FUNKWHALE_WEB_WORKERS=4 FUNKWHALE_HOSTNAME=yourdomain.funkwhale FUNKWHALE_PROTOCOL=https -# Configure email sending using this variale -# By default, funkwhale will output emails sent to stdout +# Configure e-mail sending using this variale +# By default, funkwhale will output e-mails sent to stdout # here are a few examples for this setting -# EMAIL_CONFIG=consolemail:// # output emails to console (the default) -# EMAIL_CONFIG=dummymail:// # disable email sending completely +# EMAIL_CONFIG=consolemail:// # output e-mails to console (the default) +# EMAIL_CONFIG=dummymail:// # disable e-mail sending completely # On a production instance, you'll usually want to use an external SMTP server: # EMAIL_CONFIG=smtp://user@:password@youremail.host:25 # EMAIL_CONFIG=smtp+ssl://user@:password@youremail.host:465 # EMAIL_CONFIG=smtp+tls://user@:password@youremail.host:587 -# Make email verification mandatory before using the service +# Make e-mail verification mandatory before using the service # Doesn't apply to admins. # ACCOUNT_EMAIL_VERIFICATION_ENFORCE=false -# The email address to use to send system emails. +# The e-mail address to use to send system e-mails. # DEFAULT_FROM_EMAIL=noreply@yourdomain # Depending on the reverse proxy used in front of your funkwhale instance, diff --git a/docs/api/definitions.yml b/docs/api/definitions.yml index b9e1eeb42..aec879c88 100644 --- a/docs/api/definitions.yml +++ b/docs/api/definitions.yml @@ -738,7 +738,7 @@ Me: email: type: "string" format: "email" - description: Email address associated with the account + description: E-mail address associated with the account example: "alice@email.provider" is_staff: type: "boolean" diff --git a/docs/developers/authentication.rst b/docs/developers/authentication.rst index 0d32139c0..409e25124 100644 --- a/docs/developers/authentication.rst +++ b/docs/developers/authentication.rst @@ -65,33 +65,33 @@ Having the generic ``read`` or ``write`` scope give you the corresponding access This is the list of OAuth scopes that third-party applications can request: -+-------------------------------------------+---------------------------------------------------+ -| Scope | Description | -+===========================================+===================================================+ -| ``read`` | Read-only access to all data | -| | (equivalent to all ``read:*`` scopes) | -+-------------------------------------------+---------------------------------------------------+ -| ``write`` | Write-only access to all data | -| | (equivalent to all ``write:*`` scopes) | -+-------------------------------------------+---------------------------------------------------+ -| ``:profile`` | Access to profile data (email, username, etc.) | -+-------------------------------------------+---------------------------------------------------+ -| ``:libraries`` | Access to library data (uploads, libraries | -| | tracks, albums, artists...) | -+-------------------------------------------+---------------------------------------------------+ -| ``:favorites`` | Access to favorites | -+-------------------------------------------+---------------------------------------------------+ -| ``:listenings`` | Access to history | -+-------------------------------------------+---------------------------------------------------+ -| ``:follows`` | Access to followers | -+-------------------------------------------+---------------------------------------------------+ -| ``:playlists`` | Access to playlists | -+-------------------------------------------+---------------------------------------------------+ -| ``:radios`` | Access to radios | -+-------------------------------------------+---------------------------------------------------+ -| ``:filters`` | Access to content filters | -+-------------------------------------------+---------------------------------------------------+ -| ``:notifications`` | Access to notifications | -+-------------------------------------------+---------------------------------------------------+ -| ``:edits`` | Access to metadata edits | -+-------------------------------------------+---------------------------------------------------+ ++-------------------------------------------+------------------------------------------------------------+ +| Scope | Description | ++===========================================+============================================================+ +| ``read`` | Read-only access to all data | +| | (equivalent to all ``read:*`` scopes) | ++-------------------------------------------+------------------------------------------------------------+ +| ``write`` | Write-only access to all data | +| | (equivalent to all ``write:*`` scopes) | ++-------------------------------------------+------------------------------------------------------------+ +| ``:profile`` | Access to profile data (e-mail address, username, etc.) | ++-------------------------------------------+------------------------------------------------------------+ +| ``:libraries`` | Access to library data (uploads, libraries | +| | tracks, albums, artists...) | ++-------------------------------------------+------------------------------------------------------------+ +| ``:favorites`` | Access to favorites | ++-------------------------------------------+------------------------------------------------------------+ +| ``:listenings`` | Access to history | ++-------------------------------------------+------------------------------------------------------------+ +| ``:follows`` | Access to followers | ++-------------------------------------------+------------------------------------------------------------+ +| ``:playlists`` | Access to playlists | ++-------------------------------------------+------------------------------------------------------------+ +| ``:radios`` | Access to radios | ++-------------------------------------------+------------------------------------------------------------+ +| ``:filters`` | Access to content filters | ++-------------------------------------------+------------------------------------------------------------+ +| ``:notifications`` | Access to notifications | ++-------------------------------------------+------------------------------------------------------------+ +| ``:edits`` | Access to metadata edits | ++-------------------------------------------+------------------------------------------------------------+ diff --git a/docs/moderator/reports.rst b/docs/moderator/reports.rst index 746f42c16..e9a0f4f47 100644 --- a/docs/moderator/reports.rst +++ b/docs/moderator/reports.rst @@ -13,11 +13,11 @@ Clicking on this link will bring you to the list of unresolved reports. For conv the number of unresolved reports (if any) is also displayed directly next to this link, and updated in real time when new reports are submitted. -Email notifications +E-mail notifications ------------------- -In addition to the web UI, all moderators will receive a notification email whenever a report is -submitted or resolved providing your pod has a valid email sending configuration. +In addition to the web UI, all moderators will receive a notification e-mail whenever a report is +submitted or resolved providing your pod has a valid e-mail sending configuration. This notification will include a link to review and handle the report, as well as additional information about the report itself. @@ -28,7 +28,7 @@ When viewing the moderation queue, you will be presented with the list of unreso Each report in the queue should include all the information you need to handle it, in particular: -- Who submitted the report (or the email adress of the submitter if it's an accountless report) +- Who submitted the report (or the e-mail adress of the submitter if it's an accountless report) - The report content - A link to the reported object, and a copy of this object data at the time the report was submitted diff --git a/docs/swagger.yml b/docs/swagger.yml index 904bd799e..e52978bb7 100644 --- a/docs/swagger.yml +++ b/docs/swagger.yml @@ -285,7 +285,7 @@ paths: post: summary: Request a password reset description: | - Request a password reset. An email with reset instructions will be sent to the provided email, + Request a password reset. An e-mail with reset instructions will be sent to the provided e-mail address, if it's associated with a user account. tags: - "Auth and security" @@ -341,7 +341,7 @@ paths: $ref: "./api/definitions.yml#/Me" /api/v1/users/users/change-email/: post: - summary: Update the email address associated with a user account + summary: Update the e-mail address associated with a user account tags: - "Auth and security" requestBody: diff --git a/docs/users/account.rst b/docs/users/account.rst index 6d9891987..54dbfab3b 100644 --- a/docs/users/account.rst +++ b/docs/users/account.rst @@ -6,7 +6,7 @@ Delete your account You can delete your Funkwhale account by visiting your settings. The deletion form is found at the bottom of the page. You will need to input your password to confirm the deletion. -Once the deletion request is submitted, your account and associated data will be removed from the server within a few minutes. This includes, but isn't limited to your avatar, email address, music, favorites, radios, followers and playlists. +Once the deletion request is submitted, your account and associated data will be removed from the server within a few minutes. This includes, but isn't limited to your avatar, e-mail address, music, favorites, radios, followers and playlists. Your server will also broadcast a message to other server on the federation to inform them about the deletion. diff --git a/docs/users/create.rst b/docs/users/create.rst index 0da138798..8c734f78c 100644 --- a/docs/users/create.rst +++ b/docs/users/create.rst @@ -15,7 +15,7 @@ Signing up to an Instance Once you have chosen the instance you would like to sign up to, creating an account is easy. 1. Click on the "Create an account" option on the left-hand side -2. Enter your preferred username, email address, and password +2. Enter your preferred username, e-mail address, and password 3. [Optional] enter an Invitation code if you received an invite from an existing user 4. Click on "Create my Account" 5. Once you have created your account, you will be required to log in. diff --git a/docs/users/reports.rst b/docs/users/reports.rst index bf870e5c3..802405171 100644 --- a/docs/users/reports.rst +++ b/docs/users/reports.rst @@ -29,7 +29,7 @@ Accountless reports If this feature is enabled on the pod you are browsing, you'll be able to submit reports without an account. This works exactly the same, but the report form will have an extra "email" field where you should include a working -email address, in the event moderators need to contact you. +e-mail address, in the event moderators need to contact you. Reporting an account -------------------- diff --git a/front/src/components/About.vue b/front/src/components/About.vue index d155caa59..a9ef88111 100644 --- a/front/src/components/About.vue +++ b/front/src/components/About.vue @@ -7,7 +7,7 @@ v-translate="{podName: podName}" translate-context="Content/Home/Header" :translate-params="{podName: podName}"> - About %{ podName }! + About %{ podName }
{{ shortDescription }} @@ -179,16 +179,16 @@ %{ count } hour of music

- %{ count } artists + %{ count } artist

- %{ count } albums + %{ count } album

- %{ count } tracks + %{ count } track

- %{ count } listenings + %{ count } listening

diff --git a/front/src/components/Footer.vue b/front/src/components/Footer.vue index 794ffaa48..c5a7d4a5f 100644 --- a/front/src/components/Footer.vue +++ b/front/src/components/Footer.vue @@ -14,7 +14,7 @@
- About page + About Go to Library @@ -71,7 +71,7 @@

- The funkwhale logo was kindly designed and provided by Francis Gading. + The Funkwhale logo was kindly designed and provided by Francis Gading.

diff --git a/front/src/components/Home.vue b/front/src/components/Home.vue index 5a59ed0f7..92615c985 100644 --- a/front/src/components/Home.vue +++ b/front/src/components/Home.vue @@ -107,7 +107,7 @@