diff --git a/weblate/accounts/forms.py b/weblate/accounts/forms.py index 213f6ab133cb..75b3c32b9378 100644 --- a/weblate/accounts/forms.py +++ b/weblate/accounts/forms.py @@ -110,7 +110,9 @@ def clean(self, value): existing = User.objects.filter(username=value) if existing.exists() and value != self.valid: raise forms.ValidationError( - gettext("This username is already taken. Please choose another.") + gettext( + "This username is already taken. Please pick something else." + ) ) return super().clean(value) @@ -190,7 +192,7 @@ class CommitForm(ProfileBaseForm): label=gettext_lazy("Commit e-mail"), choices=[("", gettext_lazy("Use account e-mail address"))], help_text=gettext_lazy( - "Used in version control commits. The address will stay in the repository forever once changes are committed by Weblate." + "Used in version-control commits. The address stays in the repository forever once changes are committed by Weblate." ), required=False, widget=forms.RadioSelect, @@ -223,7 +225,7 @@ class ProfileForm(ProfileBaseForm): public_email = forms.ChoiceField( label=gettext_lazy("Public e-mail"), - choices=[("", gettext_lazy("Do not publicly display e-mail address"))], + choices=[("", gettext_lazy("Hide e-mail address from public view"))], required=False, ) @@ -414,8 +416,8 @@ class ContactForm(forms.Form): label=gettext_lazy("Message"), required=True, help_text=gettext_lazy( - "Please contact us in English, otherwise we might " - "be unable to process your request." + "Please contact us in English. Otherwise, we might " + "not process your request." ), max_length=2000, widget=forms.Textarea, @@ -430,7 +432,7 @@ class EmailForm(UniqueEmailMixin): email = EmailField( label=gettext_lazy("E-mail"), - help_text=gettext_lazy("E-mail with a confirmation link will be sent here."), + help_text=gettext_lazy("An e-mail with a confirmation link will be sent here."), ) @@ -579,7 +581,7 @@ def __init__(self, request: AuthenticatedHttpRequest, *args, **kwargs) -> None: class PasswordConfirmForm(EmptyConfirmForm): password = PasswordField( label=gettext_lazy("Current password"), - help_text=gettext_lazy("Leave empty if you have not yet set a password."), + help_text=gettext_lazy("Leave empty if you have not set a password yet."), required=False, ) @@ -635,7 +637,7 @@ def clean(self): ngettext( ( "Too many authentication attempts from this location. " - "Please try again in %d minute." + "Please try again in one minute." ), ( "Too many authentication attempts from this location. " @@ -909,7 +911,9 @@ def clean_sort_by(self): sort_by = self.cleaned_data.get("sort_by") if sort_by: if sort_by not in self.sort_values: - raise forms.ValidationError(gettext("Chosen sorting is not supported.")) + raise forms.ValidationError( + gettext("The chosen sorting is not supported.") + ) return sort_by return None @@ -968,7 +972,7 @@ class TOTPDeviceForm(forms.Form): ) error_messages = { - "invalid_token": gettext_lazy("Entered token is not valid."), + "invalid_token": gettext_lazy("The entered token is not valid."), } def __init__(self, key, user, metadata=None, **kwargs): @@ -1038,7 +1042,7 @@ class OTPTokenForm(DjangoOTPTokenForm): otp_token = forms.CharField( label=gettext("Recovery token"), help_text=gettext( - "Recovery token can be used just once, mark your token as used after using it." + "Recovery codes can only be used once. Remember to mark used ones as expired." ), ) device_class: type[Device] = StaticDevice diff --git a/weblate/templates/accounts/profile.html b/weblate/templates/accounts/profile.html index 00f7ca1f4568..4fa3552aff3b 100644 --- a/weblate/templates/accounts/profile.html +++ b/weblate/templates/accounts/profile.html @@ -195,7 +195,7 @@
{% trans "There are currently no WebAuthn keys registered." %}
+{% trans "No WebAuthn keys registered yet." %}
{% else %}{% trans "Unfortunately, your browser has no WebAuthn support." %}
+{% trans "Your web browser lacks WebAuthn support." %}
@@ -227,7 +227,7 @@{% trans "There are currently no authenticator apps registered." %}
+{% trans "No authenticator apps registered yet." %}
{% else %}{% trans "There are currently no recovery codes generated." %}
+{% trans "No recovery codes generated yet." %}
{% trans "Generate new recovery codes" %} {% else %}{% blocktranslate count count=recovery_keys_count trimmed %} - {{ count }} recovery code is available. + {{ count }} recovery code available. {% plural %} - {{ count }} recovery codes are available. + {{ count }} recovery codes available. {% endblocktranslate %}
{% trans "View recovery codes" %} @@ -300,7 +300,7 @@- {% blocktrans %}All of the fields on this page are optional and can be deleted at any time, and by filling them out, you're giving us consent to share this data wherever your user profile appears.{% endblocktrans %} + {% blocktrans %}All fields on this page are optional and can be deleted at any time. By filling them out, you allow to their use wherever your user profile appears.{% endblocktrans %}