From daf709286397c30d12a75f5c7bb262486f531143 Mon Sep 17 00:00:00 2001
From: "Panagiotis \"Ivory\" Vasilopoulos" <git@n0toose.net>
Date: Tue, 8 Aug 2023 15:25:05 +0000
Subject: [PATCH] Improve multiple strings in en-US locale (#26213)

I kept sending pull requests that consisted of one-line changes. It's
time to
settle this once and for all. (Maybe.)

- Explain Gitea behavior and the consequences of each
  setting better, so that the user does not have to consult
  the docs.
- Do not use different spellings of identical terms
  interchangeably, e.g. `e-mail` and `email`.
- Use more conventional terms to describe the same things,
  e.g. `Confirm Password` instead of `Re-Type Password`.
- Introduces additional clarification for Mirror Settings
- Small adjustments in test
- This is a cry for help.
- Grammar and spelling consistencies for en-US locale
  (e.g. cancelled -> canceled)
- Introduce tooltip improvements.

---------

Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
---
 options/locale/locale_en-US.ini      | 158 ++++++++++++++-------------
 templates/repo/settings/options.tmpl |   4 +-
 tests/e2e/example.test.e2e.js        |   2 +-
 3 files changed, 84 insertions(+), 80 deletions(-)

diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index f946aff10c..7697c2a61c 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -29,7 +29,7 @@ username = Username
 email = Email Address
 password = Password
 access_token = Access Token
-re_type = Re-Type Password
+re_type = Confirm Password
 captcha = CAPTCHA
 twofa = Two-Factor Authentication
 twofa_scratch = Two-Factor Scratch Code
@@ -171,7 +171,7 @@ string.desc = Z - A
 
 [error]
 occurred = An error occurred
-report_message = If you are sure this is a Gitea bug, please search for issues on <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> or open a new issue if necessary.
+report_message = If you believe that this is a Gitea bug, please search for issues on <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> or open a new issue if necessary.
 missing_csrf = Bad Request: no CSRF token present
 invalid_csrf = Bad Request: invalid CSRF token
 not_found = The target couldn't be found.
@@ -361,7 +361,7 @@ remember_me = Remember This Device
 forgot_password_title= Forgot Password
 forgot_password = Forgot password?
 sign_up_now = Need an account? Register now.
-sign_up_successful = Account was successfully created.
+sign_up_successful = Account was successfully created. Welcome!
 confirmation_mail_sent_prompt = A new confirmation email has been sent to <b>%s</b>. Please check your inbox within the next %s to complete the registration process.
 must_change_password = Update your password
 allow_password_change = Require user to change password (recommended)
@@ -369,7 +369,7 @@ reset_password_mail_sent_prompt = A confirmation email has been sent to <b>%s</b
 active_your_account = Activate Your Account
 account_activated = Account has been activated
 prohibit_login = Sign In Prohibited
-prohibit_login_desc = Your account is prohibited to sign in, please contact your site administrator.
+prohibit_login_desc = Your account is prohibited from signing in, please contact your site administrator.
 resent_limit_prompt = You have already requested an activation email recently. Please wait 3 minutes and try again.
 has_unconfirmed_mail = Hi %s, you have an unconfirmed email address (<b>%s</b>). If you haven't received a confirmation email or need to resend a new one, please click on the button below.
 resend_mail = Click here to resend your activation email
@@ -379,7 +379,7 @@ reset_password = Account Recovery
 invalid_code = Your confirmation code is invalid or has expired.
 invalid_password = Your password does not match the password that was used to create the account.
 reset_password_helper = Recover Account
-reset_password_wrong_user = You are signed in as %s, but the account recovery link is for %s
+reset_password_wrong_user = You are signed in as %s, but the account recovery link is meant for %s
 password_too_short = Password length cannot be less than %d characters.
 non_local_account = Non-local users cannot update their password through the Gitea web interface.
 verify = Verify
@@ -404,7 +404,7 @@ openid_connect_title = Connect to an existing account
 openid_connect_desc = The chosen OpenID URI is unknown. Associate it with a new account here.
 openid_register_title = Create new account
 openid_register_desc = The chosen OpenID URI is unknown. Associate it with a new account here.
-openid_signin_desc = Enter your OpenID URI. For example: https://anne.me, bob.openid.org.cn or gnusocial.net/carry.
+openid_signin_desc = Enter your OpenID URI. For example: alice.openid.example.org or https://openid.example.org/alice.
 disable_forgot_password_mail = Account recovery is disabled because no email is set up. Please contact your site administrator.
 disable_forgot_password_mail_admin = Account recovery is only available when email is set up. Please set up email to enable account recovery.
 email_domain_blacklisted = You cannot register with your email address.
@@ -414,9 +414,9 @@ authorize_application_created_by = This application was created by %s.
 authorize_application_description = If you grant the access, it will be able to access and write to all your account information, including private repos and organisations.
 authorize_title = Authorize "%s" to access your account?
 authorization_failed = Authorization failed
-authorization_failed_desc = The authorization failed because we detected an invalid request. Please contact the maintainer of the app you've tried to authorize.
+authorization_failed_desc = The authorization failed because we detected an invalid request. Please contact the maintainer of the app you have tried to authorize.
 sspi_auth_failed = SSPI authentication failed
-password_pwned = The password you chose is on a <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">list of stolen passwords</a> previously exposed in public data breaches. Please try again with a different password.
+password_pwned = The password you chose is on a <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">list of stolen passwords</a> previously exposed in public data breaches. Please try again with a different password and consider changing this password elsewhere too.
 password_pwned_err = Could not complete request to HaveIBeenPwned
 
 [mail]
@@ -431,7 +431,7 @@ activate_account.text_1 = Hi <b>%[1]s</b>, thanks for registering at %[2]s!
 activate_account.text_2 = Please click the following link to activate your account within <b>%s</b>:
 
 activate_email = Verify your email address
-activate_email.title = %s, please verify your e-mail address
+activate_email.title = %s, please verify your email address
 activate_email.text = Please click the following link to verify your email address within <b>%s</b>:
 
 register_notify = Welcome to Gitea
@@ -497,7 +497,7 @@ UserName = Username
 RepoName = Repository name
 Email = Email address
 Password = Password
-Retype = Re-Type Password
+Retype = Confirm Password
 SSHTitle = SSH key name
 HttpsUrl = HTTPS URL
 PayloadUrl = Payload URL
@@ -624,13 +624,13 @@ delete = Delete Account
 twofa = Two-Factor Authentication
 account_link = Linked Accounts
 organization = Organizations
-uid = Uid
+uid = UID
 webauthn = Security Keys
 
 public_profile = Public Profile
-biography_placeholder = Tell us a little bit about yourself
+biography_placeholder = Tell us a little bit about yourself! (You can use Markdown)
 location_placeholder = Share your approximate location with others
-profile_desc = Your email address will be used for notifications and other operations.
+profile_desc = Control how your profile is show to other users. Your primary email address will be used for notifications, password recovery and web-based Git operations.
 password_username_disabled = Non-local users are not allowed to change their username. Please contact your site administrator for more details.
 full_name = Full Name
 website = Website
@@ -685,7 +685,7 @@ update_user_avatar_success = The user's avatar has been updated.
 change_password = Update Password
 old_password = Current Password
 new_password = New Password
-retype_new_password = Re-Type New Password
+retype_new_password = Confirm New Password
 password_incorrect = The current password is incorrect.
 change_password_success = Your password has been updated. Sign in using your new password from now on.
 password_change_disabled = Non-local users cannot update their password through the Gitea web interface.
@@ -694,7 +694,7 @@ emails = Email Addresses
 manage_emails = Manage Email Addresses
 manage_themes = Select default theme
 manage_openid = Manage OpenID Addresses
-email_desc = Your primary email address will be used for notifications and other operations.
+email_desc = Your primary email address will be used for notifications, password recovery and, provided that it is not hidden, web-based Git operations.
 theme_desc = This will be your default theme across the site.
 primary = Primary
 activated = Activated
@@ -721,7 +721,7 @@ add_email_success = The new email address has been added.
 email_preference_set_success = Email preference has been set successfully.
 add_openid_success = The new OpenID address has been added.
 keep_email_private = Hide Email Address
-keep_email_private_popup = Your email address will only be visible to you and the administrators
+keep_email_private_popup = This will hide your email address from your profile, as well as when you make a pull request or edit a file using the web interface. Pushed commits will not be modified.
 openid_desc = OpenID lets you delegate authentication to an external provider.
 
 manage_ssh_keys = Manage SSH Keys
@@ -800,9 +800,9 @@ ssh_disabled = SSH Disabled
 ssh_signonly = SSH is currently disabled so these keys are only used for commit signature verification.
 ssh_externally_managed = This SSH key is externally managed for this user
 manage_social = Manage Associated Social Accounts
-social_desc = These social accounts are linked to your Gitea account. Make sure you recognize all of them as they can be used to sign in to your Gitea account.
+social_desc = These social accounts can be used to sign in to your account. Make sure you recognize all of them.
 unbind = Unlink
-unbind_success = The social account has been unlinked from your Gitea account.
+unbind_success = The social account has been removed successfully.
 
 manage_access_token = Manage Access Tokens
 generate_new_token = Generate New Token
@@ -836,8 +836,8 @@ remove_oauth2_application_desc = Removing an OAuth2 application will revoke acce
 remove_oauth2_application_success = The application has been deleted.
 create_oauth2_application = Create a new OAuth2 Application
 create_oauth2_application_button = Create Application
-create_oauth2_application_success = You've successfully created a new OAuth2 application.
-update_oauth2_application_success = You've successfully updated the OAuth2 application.
+create_oauth2_application_success = You have successfully created a new OAuth2 application.
+update_oauth2_application_success = You have successfully updated the OAuth2 application.
 oauth2_application_name = Application Name
 oauth2_confidential_client = Confidential Client. Select for apps that keep the secret confidential, such as web apps. Do not select for native apps including desktop and mobile apps.
 oauth2_redirect_uris = Redirect URIs. Please use a new line for every URI.
@@ -846,24 +846,24 @@ oauth2_client_id = Client ID
 oauth2_client_secret = Client Secret
 oauth2_regenerate_secret = Regenerate Secret
 oauth2_regenerate_secret_hint = Lost your secret?
-oauth2_client_secret_hint = The secret won't be visible if you revisit this page. Please save your secret.
+oauth2_client_secret_hint = The secret will not be shown again after you leave or refresh this page. Please ensure that you have saved it.
 oauth2_application_edit = Edit
 oauth2_application_create_description = OAuth2 applications gives your third-party application access to user accounts on this instance.
-oauth2_application_remove_description = Removing an OAuth2 application will prevent it to access authorized user accounts on this instance. Continue?
+oauth2_application_remove_description = Removing an OAuth2 application will prevent it from accessing authorized user accounts on this instance. Continue?
 
 authorized_oauth2_applications = Authorized OAuth2 Applications
-authorized_oauth2_applications_description = You've granted access to your personal Gitea account to these third party applications. Please revoke access for applications no longer needed.
+authorized_oauth2_applications_description = You have granted access to your personal Gitea account to these third party applications. Please revoke access for applications you no longer need.
 revoke_key = Revoke
 revoke_oauth2_grant = Revoke Access
 revoke_oauth2_grant_description = Revoking access for this third party application will prevent this application from accessing your data. Are you sure?
-revoke_oauth2_grant_success = You've revoked access successfully.
+revoke_oauth2_grant_success = Access revoked successfully.
 
 twofa_desc = Two-factor authentication enhances the security of your account.
 twofa_is_enrolled = Your account is currently <strong>enrolled</strong> in two-factor authentication.
 twofa_not_enrolled = Your account is not currently enrolled in two-factor authentication.
 twofa_disable = Disable Two-Factor Authentication
 twofa_scratch_token_regenerate = Regenerate Scratch Token
-twofa_scratch_token_regenerated = Your scratch token is now %s. Store it in a safe place.
+twofa_scratch_token_regenerated = Your scratch token is now %s. Store it in a safe place, it will never be shown again.
 twofa_enroll = Enroll into Two-Factor Authentication
 twofa_disable_note = You can disable two-factor authentication if needed.
 twofa_disable_desc = Disabling two-factor authentication will make your account less secure. Continue?
@@ -890,10 +890,10 @@ remove_account_link = Remove Linked Account
 remove_account_link_desc = Removing a linked account will revoke its access to your Gitea account. Continue?
 remove_account_link_success = The linked account has been removed.
 
-hooks.desc = Add webhooks which will be triggered for <strong>all repositories</strong> owned by this user.
+hooks.desc = Add webhooks which will be triggered for <strong>all repositories</strong> that you own.
 
 orgs_none = You are not a member of any organizations.
-repos_none = You do not own any repositories
+repos_none = You do not own any repositories.
 
 delete_account = Delete Your Account
 delete_prompt = This operation will permanently delete your user account. It <strong>CANNOT</strong> be undone.
@@ -912,12 +912,12 @@ visibility = User visibility
 visibility.public = Public
 visibility.public_tooltip = Visible to everyone
 visibility.limited = Limited
-visibility.limited_tooltip = Visible to authenticated users only
+visibility.limited_tooltip = Visible only to authenticated users
 visibility.private = Private
-visibility.private_tooltip = Visible only to organization members
+visibility.private_tooltip = Visible only to members of organizations you have joined
 
 [repo]
-new_repo_helper = A repository contains all project files, including revision history.  Already have it elsewhere? <a href="%s">Migrate repository.</a>
+new_repo_helper = A repository contains all project files, including revision history.  Already hosting one elsewhere? <a href="%s">Migrate repository.</a>
 owner = Owner
 owner_helper = Some organizations may not show up in the dropdown due to a maximum repository count limit.
 repo_name = Repository Name
@@ -929,7 +929,7 @@ template_helper = Make repository a template
 template_description = Template repositories let users generate new repositories with the same directory structure, files, and optional settings.
 visibility = Visibility
 visibility_description = Only the owner or the organization members if they have rights, will be able to see it.
-visibility_helper = Make Repository Private
+visibility_helper = Make repository private
 visibility_helper_forced = Your site administrator forces new repositories to be private.
 visibility_fork_helper = (Changing this will affect all forks.)
 clone_helper = Need help cloning? Visit <a target="_blank" rel="noopener noreferrer" href="%s">Help</a>.
@@ -975,8 +975,8 @@ mirror_interval_invalid = The mirror interval is not valid.
 mirror_sync_on_commit = Sync when commits are pushed
 mirror_address = Clone From URL
 mirror_address_desc = Put any required credentials in the Authorization section.
-mirror_address_url_invalid = The provided url is invalid. You must escape all components of the url correctly.
-mirror_address_protocol_invalid = The provided url is invalid. Only http(s):// or git:// locations can be mirrored from.
+mirror_address_url_invalid = The provided URL is invalid. You must escape all components of the url correctly.
+mirror_address_protocol_invalid = The provided URL is invalid. Only http(s):// or git:// locations can be used for mirroring.
 mirror_lfs = Large File Storage (LFS)
 mirror_lfs_desc = Activate mirroring of LFS data.
 mirror_lfs_endpoint = LFS Endpoint
@@ -1008,8 +1008,8 @@ transfer.accept = Accept Transfer
 transfer.accept_desc =  Transfer to "%s"
 transfer.reject = Reject Transfer
 transfer.reject_desc =  Cancel transfer to "%s"
-transfer.no_permission_to_accept = You do not have permission to Accept
-transfer.no_permission_to_reject = You do not have permission to Reject
+transfer.no_permission_to_accept = You do not have permission to accept this transfer.
+transfer.no_permission_to_reject = You do not have permission to reject this transfer.
 
 desc.private = Private
 desc.public = Public
@@ -1030,8 +1030,8 @@ template.issue_labels = Issue Labels
 template.one_item = Must select at least one template item
 template.invalid = Must select a template repository
 
-archive.title = This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
-archive.title_date = This repository has been archived on %s. You can view files and clone it, but cannot push or open issues/pull-requests.
+archive.title = This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
+archive.title_date = This repository has been archived on %s. You can view files and clone it, but cannot push or open issues or pull requests.
 archive.issue.nocomment = This repo is archived. You cannot comment on issues.
 archive.pull.nocomment = This repo is archived. You cannot comment on pull requests.
 
@@ -1048,7 +1048,7 @@ migrate_options_lfs = Migrate LFS files
 migrate_options_lfs_endpoint.label = LFS Endpoint
 migrate_options_lfs_endpoint.description = Migration will attempt to use your Git remote to <a target="_blank" rel="noopener noreferrer" href="%s">determine the LFS server</a>. You can also specify a custom endpoint if the repository LFS data is stored somewhere else.
 migrate_options_lfs_endpoint.description.local = A local server path is supported too.
-migrate_options_lfs_endpoint.placeholder = Leave blank to derive from clone URL
+migrate_options_lfs_endpoint.placeholder = If left blank, the endpoint will be derived from the clone URL
 migrate_items = Migration Items
 migrate_items_wiki = Wiki
 migrate_items_milestones = Milestones
@@ -1424,7 +1424,7 @@ issues.filter_sort.moststars = Most stars
 issues.filter_sort.feweststars = Fewest stars
 issues.filter_sort.mostforks = Most forks
 issues.filter_sort.fewestforks = Fewest forks
-issues.keyword_search_unavailable = Currently searching by keyword is not available. Please contact your site administrator.
+issues.keyword_search_unavailable = Searching by keyword is currently not available. Please contact your site administrator.
 issues.action_open = Open
 issues.action_close = Close
 issues.action_label = Label
@@ -1543,7 +1543,7 @@ issues.tracking_already_started = `You have already started time tracking on <a
 issues.stop_tracking = Stop Timer
 issues.stop_tracking_history = `stopped working %s`
 issues.cancel_tracking = Discard
-issues.cancel_tracking_history = `cancelled time tracking %s`
+issues.cancel_tracking_history = `canceled time tracking %s`
 issues.add_time = Manually Add Time
 issues.del_time = Delete this time log
 issues.add_time_short = Add Time
@@ -1567,7 +1567,7 @@ issues.due_date_form = "yyyy-mm-dd"
 issues.due_date_form_add = "Add due date"
 issues.due_date_form_edit = "Edit"
 issues.due_date_form_remove = "Remove"
-issues.due_date_not_writer = "You need repository write access to update an issue's due date."
+issues.due_date_not_writer = "You need write access to this repository in order to update the due date of an issue."
 issues.due_date_not_set = "No due date set."
 issues.due_date_added = "added the due date %s %s"
 issues.due_date_modified = "modified the due date from %[2]s to %[1]s %[3]s"
@@ -1703,12 +1703,12 @@ pulls.is_empty = "The changes on this branch are already on the target branch. T
 pulls.required_status_check_failed = Some required checks were not successful.
 pulls.required_status_check_missing = Some required checks are missing.
 pulls.required_status_check_administrator = As an administrator, you may still merge this pull request.
-pulls.blocked_by_approvals = "This Pull Request doesn't have enough approvals yet. %d of %d approvals granted."
-pulls.blocked_by_rejection = "This Pull Request has changes requested by an official reviewer."
-pulls.blocked_by_official_review_requests = "This Pull Request has official review requests."
-pulls.blocked_by_outdated_branch = "This Pull Request is blocked because it's outdated."
-pulls.blocked_by_changed_protected_files_1= "This Pull Request is blocked because it changes a protected file:"
-pulls.blocked_by_changed_protected_files_n= "This Pull Request is blocked because it changes protected files:"
+pulls.blocked_by_approvals = "This pull request doesn't have enough approvals yet. %d of %d approvals granted."
+pulls.blocked_by_rejection = "This pull request has changes requested by an official reviewer."
+pulls.blocked_by_official_review_requests = "This pull request has official review requests."
+pulls.blocked_by_outdated_branch = "This pull request is blocked because it's outdated."
+pulls.blocked_by_changed_protected_files_1= "This pull request is blocked because it changes a protected file:"
+pulls.blocked_by_changed_protected_files_n= "This pull request is blocked because it changes protected files:"
 pulls.can_auto_merge_desc = This pull request can be merged automatically.
 pulls.cannot_auto_merge_desc = This pull request cannot be merged automatically due to conflicts.
 pulls.cannot_auto_merge_helper = Merge manually to resolve the conflicts.
@@ -1793,7 +1793,7 @@ milestones.update_ago = Updated %s
 milestones.no_due_date = No due date
 milestones.open = Open
 milestones.close = Close
-milestones.new_subheader = Milestones organize issues and track progress.
+milestones.new_subheader = Milestones can help you organize issues and track their progress.
 milestones.completeness = <strong>%d%%</strong> Completed
 milestones.create = Create Milestone
 milestones.title = Title
@@ -1817,19 +1817,19 @@ milestones.filter_sort.most_complete = Most complete
 milestones.filter_sort.most_issues = Most issues
 milestones.filter_sort.least_issues = Least issues
 
-signing.will_sign = This commit will be signed with key "%s"
-signing.wont_sign.error = There was an error whilst checking if the commit could be signed
-signing.wont_sign.nokey = There is no key available to sign this commit
-signing.wont_sign.never = Commits are never signed
-signing.wont_sign.always = Commits are always signed
-signing.wont_sign.pubkey = The commit will not be signed because you do not have a public key associated with your account
-signing.wont_sign.twofa = You must have two factor authentication enabled to have commits signed
-signing.wont_sign.parentsigned = The commit will not be signed as the parent commit is not signed
-signing.wont_sign.basesigned = The merge will not be signed as the base commit is not signed
-signing.wont_sign.headsigned = The merge will not be signed as the head commit is not signed
-signing.wont_sign.commitssigned = The merge will not be signed as all the associated commits are not signed
-signing.wont_sign.approved = The merge will not be signed as the PR is not approved
-signing.wont_sign.not_signed_in = You are not signed in
+signing.will_sign = This commit will be signed with key "%s".
+signing.wont_sign.error = There was an error whilst checking if the commit could be signed.
+signing.wont_sign.nokey = There is no key available to sign this commit.
+signing.wont_sign.never = Commits are never signed.
+signing.wont_sign.always = Commits are always signed.
+signing.wont_sign.pubkey = The commit will not be signed because you do not have a public key associated with your account.
+signing.wont_sign.twofa = You must have two factor authentication enabled to have commits signed.
+signing.wont_sign.parentsigned = The commit will not be signed as the parent commit is not signed.
+signing.wont_sign.basesigned = The merge will not be signed as the base commit is not signed.
+signing.wont_sign.headsigned = The merge will not be signed as the head commit is not signed.
+signing.wont_sign.commitssigned = The merge will not be signed as all the associated commits are not signed.
+signing.wont_sign.approved = The merge will not be signed as the PR is not approved.
+signing.wont_sign.not_signed_in = You are not signed in.
 
 ext_wiki = Access to External Wiki
 ext_wiki.desc = Link to an external wiki.
@@ -1959,7 +1959,9 @@ settings.mirror_settings.docs.disabled_push_mirror.info = Push mirrors have been
 settings.mirror_settings.docs.no_new_mirrors = Your repository is mirroring changes to or from another repository. Please keep in mind that you can't create any new mirrors at this time.
 settings.mirror_settings.docs.can_still_use = Although you can't modify existing mirrors or create new ones, you may still use your existing mirror.
 settings.mirror_settings.docs.pull_mirror_instructions = To set up a pull mirror, please consult:
+settings.mirror_settings.docs.more_information_if_disabled = You can find out more about push and pull mirrors here:
 settings.mirror_settings.docs.doc_link_title = How do I mirror repositories?
+settings.mirror_settings.docs.doc_link_pull_section = the "Pulling from a remote repository" section of the documentation.
 settings.mirror_settings.docs.pulling_remote_title = Pulling from a remote repository
 settings.mirror_settings.mirrored_repository = Mirrored repository
 settings.mirror_settings.direction = Direction
@@ -2039,7 +2041,7 @@ settings.transfer.rejected = Repository transfer was rejected.
 settings.transfer.success = Repository transfer was successful.
 settings.transfer_abort = Cancel transfer
 settings.transfer_abort_invalid = You cannot cancel a non existent repository transfer.
-settings.transfer_abort_success = The repository transfer to %s was successfully cancelled.
+settings.transfer_abort_success = The repository transfer to %s was successfully canceled.
 settings.transfer_desc = Transfer this repository to a user or to an organization for which you have administrator rights.
 settings.transfer_form_title = Enter the repository name as confirmation:
 settings.transfer_in_progress = There is currently an ongoing transfer. Please cancel it if you will like to transfer this repository to another user.
@@ -2315,17 +2317,17 @@ settings.matrix.room_id = Room ID
 settings.matrix.message_type = Message Type
 settings.archive.button = Archive Repo
 settings.archive.header = Archive This Repo
-settings.archive.text = Archiving the repo will make it entirely read-only. It is hidden from the dashboard, cannot be committed to and no issues or pull-requests can be created.
+settings.archive.text = Archiving the repo will make it entirely read-only. It will be hidden from the dashboard. Nobody (not even you!) will be able to make new commits, or open any issues or pull requests.
 settings.archive.success = The repo was successfully archived.
 settings.archive.error = An error occurred while trying to archive the repo. See the log for more details.
 settings.archive.error_ismirror = You cannot archive a mirrored repo.
 settings.archive.branchsettings_unavailable = Branch settings are not available if the repo is archived.
 settings.archive.tagsettings_unavailable = Tag settings are not available if the repo is archived.
-settings.unarchive.button = Un-Archive Repo
-settings.unarchive.header = Un-Archive This Repo
-settings.unarchive.text = Un-Archiving the repo will restore its ability to receive commits and pushes, as well as new issues and pull-requests.
-settings.unarchive.success = The repo was successfully un-archived.
-settings.unarchive.error = An error occurred while trying to un-archive the repo. See the log for more details.
+settings.unarchive.button = Unarchive repo
+settings.unarchive.header = Unarchive this repo
+settings.unarchive.text = Unarchiving the repo will restore its ability to receive commits and pushes, as well as new issues and pull-requests.
+settings.unarchive.success = The repo was successfully unarchived.
+settings.unarchive.error = An error occurred while trying to unarchive the repo. See the log for more details.
 settings.update_avatar_success = The repository avatar has been updated.
 settings.lfs=LFS
 settings.lfs_filelist=LFS files stored in this repository
@@ -2449,7 +2451,7 @@ release.edit_release = Update Release
 release.delete_release = Delete Release
 release.delete_tag = Delete Tag
 release.deletion = Delete Release
-release.deletion_desc = Deleting a release only removes it from Gitea. Git tag, repository contents and history remain unchanged. Continue?
+release.deletion_desc = Deleting a release only removes it from Gitea. It will not affect the Git tag, the contents of your repository or its history. Continue?
 release.deletion_success = The release has been deleted.
 release.deletion_tag_desc = Will delete this tag from repository. Repository contents and history remain unchanged. Continue?
 release.deletion_tag_success = The tag has been deleted.
@@ -2470,7 +2472,7 @@ branch.already_exists = A branch named "%s" already exists.
 branch.delete_head = Delete
 branch.delete = Delete Branch "%s"
 branch.delete_html = Delete Branch
-branch.delete_desc = Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
+branch.delete_desc = Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
 branch.deletion_success = Branch "%s" has been deleted.
 branch.deletion_failed = Failed to delete branch "%s".
 branch.delete_branch_has_new_commits = Branch "%s" cannot be deleted because new commits have been added after merging.
@@ -2639,7 +2641,7 @@ teams.all_repositories_helper = Team has access to all repositories. Selecting t
 teams.all_repositories_read_permission_desc = This team grants <strong>Read</strong> access to <strong>all repositories</strong>: members can view and clone repositories.
 teams.all_repositories_write_permission_desc = This team grants <strong>Write</strong> access to <strong>all repositories</strong>: members can read from and push to repositories.
 teams.all_repositories_admin_permission_desc = This team grants <strong>Admin</strong> access to <strong>all repositories</strong>: members can read from, push to and add collaborators to repositories.
-teams.invite.title = You've been invited to join team <strong>%s</strong> in organization <strong>%s</strong>.
+teams.invite.title = You have been invited to join team <strong>%s</strong> in organization <strong>%s</strong>.
 teams.invite.by = Invited by %s
 teams.invite.description = Please click the button below to join the team.
 
@@ -2672,13 +2674,13 @@ dashboard.clean_unbind_oauth = Clean unbound OAuth connections
 dashboard.clean_unbind_oauth_success = All unbound OAuth connections have been deleted.
 dashboard.task.started=Started Task: %[1]s
 dashboard.task.process=Task: %[1]s
-dashboard.task.cancelled=Task: %[1]s cancelled: %[3]s
+dashboard.task.cancelled=Task: %[1]s canceled: %[3]s
 dashboard.task.error=Error in Task: %[1]s: %[3]s
 dashboard.task.finished=Task: %[1]s started by %[2]s has finished
 dashboard.task.unknown=Unknown task: %[1]s
 dashboard.cron.started=Started Cron: %[1]s
 dashboard.cron.process=Cron: %[1]s
-dashboard.cron.cancelled=Cron: %[1]s cancelled: %[3]s
+dashboard.cron.cancelled=Cron: %[1]s canceled: %[3]s
 dashboard.cron.error=Error in Cron: %s: %[3]s
 dashboard.cron.finished=Cron: %[1]s has finished
 dashboard.delete_inactive_accounts = Delete all unactivated accounts
@@ -3376,17 +3378,17 @@ settings.delete.success = The package has been deleted.
 settings.delete.error = Failed to delete the package.
 owner.settings.cargo.title = Cargo Registry Index
 owner.settings.cargo.initialize = Initialize Index
-owner.settings.cargo.initialize.description = To use the Cargo registry a special index git repository is needed. Here you can (re)create it with the required config.
+owner.settings.cargo.initialize.description = A special index Git repository is needed to use the Cargo registry. Using this option will (re-)create the repository and configure it automatically.
 owner.settings.cargo.initialize.error = Failed to initialize Cargo index: %v
 owner.settings.cargo.initialize.success = The Cargo index was successfully created.
 owner.settings.cargo.rebuild = Rebuild Index
-owner.settings.cargo.rebuild.description = If the index is out of sync with the cargo packages stored you can rebuild it here.
+owner.settings.cargo.rebuild.description = Rebuilding can be useful if the index is not synchronized with the stored Cargo packages.
 owner.settings.cargo.rebuild.error = Failed to rebuild Cargo index: %v
 owner.settings.cargo.rebuild.success = The Cargo index was successfully rebuild.
 owner.settings.cleanuprules.title = Manage Cleanup Rules
 owner.settings.cleanuprules.add = Add Cleanup Rule
 owner.settings.cleanuprules.edit = Edit Cleanup Rule
-owner.settings.cleanuprules.none = No cleanup rules available. Read the docs to learn more.
+owner.settings.cleanuprules.none = No cleanup rules available. Please consult the documentation.
 owner.settings.cleanuprules.preview = Cleanup Rule Preview
 owner.settings.cleanuprules.preview.overview = %d packages are scheduled to be removed.
 owner.settings.cleanuprules.preview.none = Cleanup rule does not match any packages.
@@ -3405,7 +3407,7 @@ owner.settings.cleanuprules.success.update = Cleanup rule has been updated.
 owner.settings.cleanuprules.success.delete = Cleanup rule has been deleted.
 owner.settings.chef.title = Chef Registry
 owner.settings.chef.keypair = Generate key pair
-owner.settings.chef.keypair.description = Generate a key pair used to authenticate against the Chef registry. The previous key can not be used afterwards.
+owner.settings.chef.keypair.description = A key pair is necessary to authenticate to the Chef registry. If you have generated a key pair before, generating a new key pair will discard the old key pair.
 
 [secrets]
 secrets = Secrets
@@ -3432,7 +3434,7 @@ status.waiting = "Waiting"
 status.running = "Running"
 status.success = "Success"
 status.failure = "Failure"
-status.cancelled = "Cancelled"
+status.cancelled = "Canceled"
 status.skipped = "Skipped"
 status.blocked = "Blocked"
 
diff --git a/templates/repo/settings/options.tmpl b/templates/repo/settings/options.tmpl
index b247e85fa3..cc7f431535 100644
--- a/templates/repo/settings/options.tmpl
+++ b/templates/repo/settings/options.tmpl
@@ -83,13 +83,15 @@
 					{{$.locale.Tr "repo.settings.mirror_settings.docs"}}
 					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/usage/repo-mirror/#pushing-to<ing-to-a-remote-repository">{{$.locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br><br>
 					{{$.locale.Tr "repo.settings.mirror_settings.docs.pull_mirror_instructions"}}
-					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/usage/repo-mirror/#pulling-from-a-remote-repository">{{$.locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br>
+					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/usage/repo-mirror/#pulling-from-a-remote-repository">{{$.locale.Tr "repo.settings.mirror_settings.docs.doc_link_pull_section"}}</a><br>
 				{{else if $onlyNewPushMirrorsEnabled}}
 					{{$.locale.Tr "repo.settings.mirror_settings.docs.disabled_pull_mirror.instructions"}}
+					{{$.locale.Tr "repo.settings.mirror_settings.docs.more_information_if_disabled"}}
 					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/usage/repo-mirror/#pulling-from-a-remote-repository">{{$.locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br>
 				{{else if $onlyNewPullMirrorsEnabled}}
 					{{$.locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.instructions"}}
 					{{$.locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning"}}
+					{{$.locale.Tr "repo.settings.mirror_settings.docs.more_information_if_disabled"}}
 					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/usage/repo-mirror/#pulling-from-a-remote-repository">{{$.locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br><br>
 					{{$.locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.info"}}
 					{{if $existingPushMirror}}
diff --git a/tests/e2e/example.test.e2e.js b/tests/e2e/example.test.e2e.js
index b0aa2b7a65..5e45bad24a 100644
--- a/tests/e2e/example.test.e2e.js
+++ b/tests/e2e/example.test.e2e.js
@@ -24,7 +24,7 @@ test('Test Register Form', async ({page}, workerInfo) => {
   // Make sure we routed to the home page. Else login failed.
   await expect(page.url()).toBe(`${workerInfo.project.use.baseURL}/`);
   await expect(page.locator('.dashboard-navbar span>img.ui.avatar')).toBeVisible();
-  await expect(page.locator('.ui.positive.message.flash-success')).toHaveText('Account was successfully created.');
+  await expect(page.locator('.ui.positive.message.flash-success')).toHaveText('Account was successfully created. Welcome!');
 
   save_visual(page);
 });