[I18N] Improve English strings & consistency

This commit is contained in:
0ko 2024-02-27 18:39:59 +05:00 committed by Earl Warren
parent d29e9374c7
commit 2e76e4fb33
5 changed files with 84 additions and 83 deletions

View file

@ -28,10 +28,10 @@ licenses = Licenses
return_to_gitea = Return to Forgejo
username = Username
email = Email Address
email = Email address
password = Password
access_token = Access Token
re_type = Confirm Password
access_token = Access token
re_type = Confirm password
captcha = CAPTCHA
twofa = Two-Factor Authentication
twofa_scratch = Two-Factor Scratch Code
@ -61,7 +61,6 @@ new_fork = New Repository Fork
new_org = New Organization
new_project = New Project
new_project_column = New Column
manage_org = Manage Organizations
admin_panel = Site Administration
account_settings = Account Settings
settings = Settings
@ -124,7 +123,7 @@ pin = Pin
unpin = Unpin
artifacts = Artifacts
confirm_delete_artifact = Are you sure you want to delete the artifact '%s' ?
confirm_delete_artifact = Are you sure you want to delete the artifact "%s" ?
archived = Archived
@ -182,6 +181,7 @@ missing_csrf = Bad Request: no CSRF token present
invalid_csrf = Bad Request: invalid CSRF token
not_found = The target couldn't be found.
network_error = Network error
server_internal = Internal Server Error
[startpage]
app_desc = A painless, self-hosted Git service
@ -279,13 +279,13 @@ admin_password = Password
confirm_password = Confirm Password
admin_email = Email Address
install_btn_confirm = Install Forgejo
test_git_failed = Could not test 'git' command: %v
sqlite3_not_available = This Forgejo version does not support SQLite3. Please download the official binary version from %s (not the 'gobuild' version).
test_git_failed = Could not test "git" command: %v
sqlite3_not_available = This Forgejo version does not support SQLite3. Please download the official binary version from %s (not the "gobuild" version).
invalid_db_setting = The database settings are invalid: %v
invalid_db_table = The database table "%s" is invalid: %v
invalid_repo_path = The repository root path is invalid: %v
invalid_app_data_path = The app data path is invalid: %v
run_user_not_match = The 'run as' username is not the current username: %s -> %s
run_user_not_match = The "run as" username is not the current username: %s -> %s
internal_token_failed = Failed to generate internal token: %v
secret_key_failed = Failed to generate secret key: %v
save_config_failed = Failed to save configuration: %v
@ -300,7 +300,7 @@ default_enable_timetracking = Enable Time Tracking by Default
default_enable_timetracking_popup = Enable time tracking for new repositories by default.
allow_dots_in_usernames = Allow users to use dots in their usernames. Doesn't affect existing accounts.
no_reply_address = Hidden Email Domain
no_reply_address_helper = Domain name for users with a hidden email address. For example, the username 'joe' will be logged in Git as 'joe@noreply.example.org' if the hidden email domain is set to 'noreply.example.org'.
no_reply_address_helper = Domain name for users with a hidden email address. For example, the username "joe" will be logged in Git as "joe@noreply.example.org" if the hidden email domain is set to "noreply.example.org".
password_algorithm = Password Hash Algorithm
invalid_password_algorithm = Invalid password hash algorithm
password_algorithm_helper = Set the password hashing algorithm. Algorithms have differing requirements and strength. The argon2 algorithm is rather secure but uses a lot of memory and may be inappropriate for small systems.
@ -310,7 +310,7 @@ env_config_keys = Environment Configuration
env_config_keys_prompt = The following environment variables will also be applied to your configuration file:
[home]
uname_holder = Username or Email Address
uname_holder = Username or Email address
password_holder = Password
switch_dashboard_context = Switch Dashboard Context
my_repos = Repositories
@ -365,7 +365,7 @@ social_register_helper_msg = Already have an account? Link it now!
disable_register_prompt = Registration is disabled. Please contact your site administrator.
disable_register_mail = Email confirmation for registration is disabled.
manual_activation_only = Contact your site administrator to complete activation.
remember_me = Remember This Device
remember_me = Remember this device
remember_me.compromised = The login token is not valid anymore which may indicate a compromised account. Please check your account for unusual activities.
forgot_password_title= Forgot Password
forgot_password = Forgot password?
@ -534,8 +534,8 @@ SSPISeparatorReplacement = Separator
SSPIDefaultLanguage = Default Language
require_error = ` cannot be empty.`
alpha_dash_error = ` should contain only alphanumeric, dash ('-') and underscore ('_') characters.`
alpha_dash_dot_error = ` should contain only alphanumeric, dash ('-'), underscore ('_') and dot ('.') characters.`
alpha_dash_error = ` should contain only alphanumeric, dash ("-") and underscore ("_") characters.`
alpha_dash_dot_error = ` should contain only alphanumeric, dash ("-"), underscore ("_") and dot (".") characters.`
git_ref_name_error = ` must be a well-formed Git reference name.`
size_error = ` must be size %s.`
min_size_error = ` must contain at least %s characters.`
@ -545,8 +545,8 @@ url_error = `"%s" is not a valid URL.`
include_error = ` must contain substring "%s".`
glob_pattern_error = ` glob pattern is invalid: %s.`
regex_pattern_error = ` regex pattern is invalid: %s.`
username_error = ` can only contain alphanumeric chars ('0-9','a-z','A-Z'), dash ('-'), underscore ('_') and dot ('.'). It cannot begin or end with non-alphanumeric chars, and consecutive non-alphanumeric chars are also forbidden.`
username_error_no_dots = ` can only contain alphanumeric chars ('0-9','a-z','A-Z'), dash ('-') and underscore ('_'). It cannot begin or end with non-alphanumeric chars, and consecutive non-alphanumeric chars are also forbidden.`
username_error = ` can only contain alphanumeric chars ("0-9","a-z","A-Z"), dash ("-"), underscore ("_") and dot ("."). It cannot begin or end with non-alphanumeric chars, and consecutive non-alphanumeric chars are also forbidden.`
username_error_no_dots = ` can only contain alphanumeric chars ("0-9","a-z","A-Z"), dash ("-") and underscore ("_"). It cannot begin or end with non-alphanumeric chars, and consecutive non-alphanumeric chars are also forbidden.`
invalid_group_team_map_error = ` mapping is invalid: %s`
unknown_error = Unknown error:
captcha_incorrect = The CAPTCHA code is incorrect.
@ -582,7 +582,7 @@ enterred_invalid_owner_name = The new owner name is not valid.
enterred_invalid_password = The password you entered is incorrect.
user_not_exist = The user does not exist.
team_not_exist = The team does not exist.
last_org_owner = You cannot remove the last user from the 'owners' team. There must be at least one owner for an organization.
last_org_owner = You cannot remove the last user from the "owners" team. There must be at least one owner for an organization.
cannot_add_org_to_team = An organization cannot be added as a team member.
duplicate_invite_to_team = The user was already invited as a team member.
organization_leave_success = You have successfully left the organization %s.
@ -647,7 +647,7 @@ avatar = Avatar
ssh_gpg_keys = SSH / GPG Keys
social = Social Accounts
applications = Applications
orgs = Manage Organizations
orgs = Manage organizations
repos = Repositories
delete = Delete Account
twofa = Two-Factor Authentication (TOTP)
@ -657,7 +657,7 @@ uid = UID
webauthn = Two-Factor Authentication (Security Keys)
blocked_users = Blocked Users
public_profile = Public Profile
public_profile = Public profile
biography_placeholder = Tell us a little bit about yourself! (You can use Markdown)
location_placeholder = Share your approximate location with others
profile_desc = Control how your profile is shown to other users. Your primary email address will be used for notifications, password recovery and web-based Git operations.
@ -703,7 +703,7 @@ keep_activity_private_popup = Makes the activity visible only for you and the ad
lookup_avatar_by_mail = Look Up Avatar by Email Address
federated_avatar_lookup = Federated Avatar Lookup
enable_custom_avatar = Use Custom Avatar
enable_custom_avatar = Use custom avatar
choose_new_avatar = Choose new avatar
update_avatar = Update Avatar
delete_current_avatar = Delete Current Avatar
@ -751,13 +751,13 @@ add_email_confirmation_sent = A confirmation email has been sent to "%s". Please
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 = Hide email address
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. Use %s in commits to associate them with your account.
openid_desc = OpenID lets you delegate authentication to an external provider.
manage_ssh_keys = Manage SSH Keys
manage_ssh_keys = Manage SSH keys
manage_ssh_principals = Manage SSH Certificate Principals
manage_gpg_keys = Manage GPG Keys
manage_gpg_keys = Manage GPG keys
add_key = Add Key
ssh_desc = These public SSH keys are associated with your account. The corresponding private keys allow full access to your repositories. SSH keys that have been verified can be used to verify SSH-signed Git commits.
principal_desc = These SSH certificate principals are associated with your account and allow full access to your repositories.
@ -766,8 +766,8 @@ ssh_helper = <strong>Need help?</strong> Have a look at the guide to <a href="%s
gpg_helper = <strong>Need help?</strong> Have a look at the guide <a href="%s">about GPG</a>.
add_new_key = Add SSH Key
add_new_gpg_key = Add GPG Key
key_content_ssh_placeholder = Begins with 'ssh-ed25519', 'ssh-rsa', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', 'ecdsa-sha2-nistp521', 'sk-ecdsa-sha2-nistp256@openssh.com', or 'sk-ssh-ed25519@openssh.com'
key_content_gpg_placeholder = Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'
key_content_ssh_placeholder = Begins with "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", or "sk-ssh-ed25519@openssh.com"
key_content_gpg_placeholder = Begins with "-----BEGIN PGP PUBLIC KEY BLOCK-----"
add_new_principal = Add Principal
ssh_key_been_used = This SSH key has already been added to the server.
ssh_key_name_used = An SSH key with same name already exists on your account.
@ -785,7 +785,7 @@ gpg_token = Token
gpg_token_help = You can generate a signature using:
gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature = Armored GPG signature
key_signature_gpg_placeholder = Begins with '-----BEGIN PGP SIGNATURE-----'
key_signature_gpg_placeholder = Begins with "-----BEGIN PGP SIGNATURE-----"
verify_gpg_key_success = GPG key "%s" has been verified.
ssh_key_verified=Verified Key
ssh_key_verified_long=Key has been verified with a token and can be used to verify commits matching any activated email addresses for this user.
@ -795,11 +795,11 @@ ssh_token_required = You must provide a signature for the below token
ssh_token = Token
ssh_token_help = You can generate a signature using:
ssh_token_signature = Armored SSH signature
key_signature_ssh_placeholder = Begins with '-----BEGIN SSH SIGNATURE-----'
key_signature_ssh_placeholder = Begins with "-----BEGIN SSH SIGNATURE-----"
verify_ssh_key_success = SSH key "%s" has been verified.
subkeys = Subkeys
key_id = Key ID
key_name = Key Name
key_name = Key name
key_content = Content
principal_content = Content
add_key_success = The SSH key "%s" has been added.
@ -835,10 +835,10 @@ social_desc = These social accounts can be used to sign in to your account. Make
unbind = Unlink
unbind_success = The social account has been removed successfully.
manage_access_token = Manage Access Tokens
generate_new_token = Generate New Token
manage_access_token = Manage access tokens
generate_new_token = Generate new token
tokens_desc = These tokens grant access to your account using the Forgejo API.
token_name = Token Name
token_name = Token name
generate_token = Generate Token
generate_token_success = Your new token has been generated. Copy it now as it will not be shown again.
generate_token_name_duplicate = <strong>%s</strong> has been used as an application name already. Please use a new one.
@ -859,17 +859,17 @@ access_token_desc = Selected token permissions limit authorization only to the c
at_least_one_permission = You must select at least one permission to create a token
permissions_list = Permissions:
manage_oauth2_applications = Manage OAuth2 Applications
manage_oauth2_applications = Manage OAuth2 applications
edit_oauth2_application = Edit OAuth2 Application
oauth2_applications_desc = OAuth2 applications enables your third-party application to securely authenticate users at this Forgejo instance.
remove_oauth2_application = Remove OAuth2 Application
remove_oauth2_application_desc = Removing an OAuth2 application will revoke access to all signed access tokens. Continue?
remove_oauth2_application_success = The application has been deleted.
create_oauth2_application = Create a new OAuth2 Application
create_oauth2_application = Create a new OAuth2 application
create_oauth2_application_button = Create 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_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.
save_application = Save
@ -883,7 +883,7 @@ oauth2_application_create_description = OAuth2 applications gives your third-par
oauth2_application_remove_description = Removing an OAuth2 application will prevent it from accessing authorized user accounts on this instance. Continue?
oauth2_application_locked = Forgejo pre-registers some OAuth2 applications on startup if enabled in config. To prevent unexpected behavior, these can neither be edited nor removed. Please refer to the OAuth2 documentation for more information.
authorized_oauth2_applications = Authorized OAuth2 Applications
authorized_oauth2_applications = Authorized OAuth2 applications
authorized_oauth2_applications_description = You have granted access to your personal Forgejo account to these third party applications. Please revoke access for applications that are no longer in use.
revoke_key = Revoke
revoke_oauth2_grant = Revoke Access
@ -968,7 +968,7 @@ admin.flags_replaced = Repository flags replaced
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
repo_name = Repository name
repo_name_helper = Good repository names use short, memorable and unique keywords.
repo_size = Repository Size
template = Template
@ -1024,7 +1024,7 @@ default_branch_label = default
default_branch_helper = The default branch is the base branch for pull requests and code commits.
mirror_prune = Prune
mirror_prune_desc = Remove obsolete remote-tracking references
mirror_interval = Mirror Interval (valid time units are 'h', 'm', 's'). 0 to disable periodic sync. (Minimum interval: %s)
mirror_interval = Mirror Interval (valid time units are "h", "m", "s"). 0 to disable periodic sync. (Minimum interval: %s)
mirror_interval_invalid = The mirror interval is not valid.
mirror_sync = synced
mirror_sync_on_commit = Sync when commits are pushed
@ -1101,7 +1101,7 @@ form.name_reserved = The repository name "%s" is reserved.
form.name_pattern_not_allowed = The pattern "%s" is not allowed in a repository name.
need_auth = Authorization
migrate_options = Migration Options
migrate_options = Migration options
migrate_service = Migration Service
migrate_options_mirror_helper = This repository will be a mirror
migrate_options_lfs = Migrate LFS files
@ -1109,7 +1109,7 @@ 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 = If left blank, the endpoint will be derived from the clone URL
migrate_items = Migration Items
migrate_items = Migration items
migrate_items_wiki = Wiki
migrate_items_milestones = Milestones
migrate_items_labels = Labels
@ -1118,8 +1118,8 @@ migrate_items_pullrequests = Pull Requests
migrate_items_merge_requests = Merge Requests
migrate_items_releases = Releases
migrate_repo = Migrate Repository
migrate.clone_address = Migrate / Clone From URL
migrate.clone_address_desc = The HTTP(S) or Git 'clone' URL of an existing repository
migrate.clone_address = Migrate / Clone from URL
migrate.clone_address_desc = The HTTP(S) or Git "clone" URL of an existing repository
migrate.github_token_desc = You can put one or more tokens with comma separated here to make migrating faster because of GitHub API rate limit. WARN: Abusing this feature may violate the service provider's policy and lead to account blocking.
migrate.clone_local_path = or a local server path
migrate.permission_denied = You are not allowed to import local repositories.
@ -1223,8 +1223,8 @@ escape_control_characters = Escape
unescape_control_characters = Unescape
file_copy_permalink = Copy Permalink
view_git_blame = View Git Blame
video_not_supported_in_browser = Your browser does not support the HTML5 'video' tag.
audio_not_supported_in_browser = Your browser does not support the HTML5 'audio' tag.
video_not_supported_in_browser = Your browser does not support the HTML5 "video" tag.
audio_not_supported_in_browser = Your browser does not support the HTML5 "audio" tag.
stored_lfs = Stored with Git LFS
symbolic_link = Symbolic link
executable_file = Executable File
@ -1260,12 +1260,12 @@ editor.delete_this_file = Delete File
editor.must_have_write_access = You must have write access to make or propose changes to this file.
editor.file_delete_success = File "%s" has been deleted.
editor.name_your_file = Name your file…
editor.filename_help = Add a directory by typing its name followed by a slash ('/'). Remove a directory by typing backspace at the beginning of the input field.
editor.filename_help = Add a directory by typing its name followed by a slash ("/"). Remove a directory by typing backspace at the beginning of the input field.
editor.or = or
editor.cancel_lower = Cancel
editor.commit_signed_changes = Commit Signed Changes
editor.commit_changes = Commit Changes
editor.add_tmpl = Add '<filename>'
editor.add_tmpl = Add "<filename>"
editor.add = Add %s
editor.update = Update %s
editor.delete = Delete %s
@ -1383,7 +1383,7 @@ projects.column.set_default_desc = Set this column as default for uncategorized
projects.column.unset_default = Unset Default
projects.column.unset_default_desc = Unset this column as default
projects.column.delete = Delete Column
projects.column.deletion_desc = Deleting a project column moves all related issues to 'Uncategorized'. Continue?
projects.column.deletion_desc = Deleting a project column moves all related issues to "Uncategorized". Continue?
projects.column.color = Color
projects.open = Open
projects.close = Close
@ -1432,7 +1432,7 @@ issues.new_label_placeholder = Label name
issues.new_label_desc_placeholder = Description
issues.create_label = Create Label
issues.label_templates.title = Load a predefined set of labels
issues.label_templates.info = No labels exist yet. Create a label with 'New Label' or use a predefined label set:
issues.label_templates.info = No labels exist yet. Create a label with "New Label" or use a predefined label set:
issues.label_templates.helper = Select a label set
issues.label_templates.use = Use Label Set
issues.label_templates.fail_to_load_file = Failed to load label template file "%s": %v
@ -1606,7 +1606,7 @@ issues.lock_no_reason = locked and limited conversation to collaborators %s
issues.unlock_comment = unlocked this conversation %s
issues.lock_confirm = Lock
issues.unlock_confirm = Unlock
issues.lock.notice_1 = - Other users cant add new comments to this issue.
issues.lock.notice_1 = - Other users can't add new comments to this issue.
issues.lock.notice_2 = - You and other collaborators with access to this repository can still leave comments that others can see.
issues.lock.notice_3 = - You can always unlock this issue again in the future.
issues.unlock.notice_1 = - Everyone would be able to comment on this issue once more.
@ -1640,7 +1640,7 @@ issues.add_time_sum_to_small = No time was entered.
issues.time_spent_total = Total Time Spent
issues.time_spent_from_all_authors = `Total Time Spent: %s`
issues.due_date = Due Date
issues.invalid_due_date_format = Due date format must be 'yyyy-mm-dd'.
issues.invalid_due_date_format = Due date format must be "yyyy-mm-dd".
issues.error_modifying_due_date = Failed to modify the due date.
issues.error_removing_due_date = Failed to remove the due date.
issues.push_commit_1 = added %d commit %s
@ -1657,7 +1657,7 @@ 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
issues.due_date_remove = removed the due date %s %s
issues.due_date_overdue = Overdue
issues.due_date_invalid = The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
issues.due_date_invalid = The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
issues.dependency.title = Dependencies
issues.dependency.issue_no_dependencies = No dependencies set.
issues.dependency.pr_no_dependencies = No dependencies set.
@ -1693,7 +1693,7 @@ issues.review.self.approval = You cannot approve your own pull request.
issues.review.self.rejection = You cannot request changes on your own pull request.
issues.review.approve = approved these changes %s
issues.review.comment = reviewed %s
issues.review.dismissed = dismissed %ss review %s
issues.review.dismissed = dismissed %s's review %s
issues.review.dismissed_label = Dismissed
issues.review.left_comment = left a comment
issues.review.content.empty = You need to leave a comment indicating the requested change(s).
@ -1897,7 +1897,7 @@ milestones.title = Title
milestones.desc = Description
milestones.due_date = Due Date (optional)
milestones.clear = Clear
milestones.invalid_due_date_format = Due date format must be 'yyyy-mm-dd'.
milestones.invalid_due_date_format = Due date format must be "yyyy-mm-dd".
milestones.create_success = The milestone "%s" has been created.
milestones.edit = Edit Milestone
milestones.edit_subheader = Milestones organize issues and track progress.
@ -1956,7 +1956,7 @@ wiki.page_already_exists = A wiki page with the same name already exists.
wiki.reserved_page = The wiki page name "%s" is reserved.
wiki.pages = Pages
wiki.last_updated = Last updated %s
wiki.page_name_desc = Enter a name for this Wiki page. Some special names are: 'Home', '_Sidebar' and '_Footer'.
wiki.page_name_desc = Enter a name for this Wiki page. Some special names are: "Home", "_Sidebar" and "_Footer".
wiki.original_git_entry_tooltip = View original Git file instead of using friendly link.
activity = Activity
@ -2132,7 +2132,7 @@ settings.actions_desc = Enable Repository Actions
settings.admin_settings = Administrator Settings
settings.admin_enable_health_check = Enable Repository Health Checks (git fsck)
settings.admin_code_indexer = Code Indexer
settings.admin_stats_indexer = Code Statistics Indexer
settings.admin_stats_indexer = Code statistics indexer
settings.admin_indexer_commit_sha = Last Indexed SHA
settings.admin_indexer_unindexed = Unindexed
settings.reindex_button = Add to Reindex Queue
@ -2159,6 +2159,7 @@ settings.transfer_abort_invalid = You cannot cancel a non existent repository tr
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.enter_repo_name = Enter the owner and repository name exactly as shown:
settings.confirmation_string = Confirmation string
settings.transfer_in_progress = There is currently an ongoing transfer. Please cancel it if you will like to transfer this repository to another user.
settings.transfer_notices_1 = - You will lose access to the repository if you transfer it to an individual user.
settings.transfer_notices_2 = - You will keep access to the repository if you transfer it to an organization that you (co-)own.
@ -2361,7 +2362,7 @@ settings.protected_branch.delete_rule = Delete Rule
settings.protected_branch_can_push = Allow push?
settings.protected_branch_can_push_yes = You can push
settings.protected_branch_can_push_no = You cannot push
settings.branch_protection = Branch Protection Rules for Branch '<b>%s</b>'
settings.branch_protection = Branch Protection Rules for Branch "<b>%s</b>"
settings.protect_this_branch = Enable Branch Protection
settings.protect_this_branch_desc = Prevents deletion and restricts Git pushing and merging to the branch.
settings.protect_disable_push = Disable Push
@ -2404,10 +2405,10 @@ settings.require_signed_commits_desc = Reject pushes to this branch if they are
settings.protect_branch_name_pattern = Protected Branch Name Pattern
settings.protect_branch_name_pattern_desc = Protected branch name patterns. See <a href="https://github.com/gobwas/glob">the documentation</a> for pattern syntax. Examples: main, release/**
settings.protect_patterns = Patterns
settings.protect_protected_file_patterns = Protected file patterns (separated using semicolon ';'):
settings.protect_protected_file_patterns_desc = Protected files are not allowed to be changed directly even if user has rights to add, edit, or delete files in this branch. Multiple patterns can be separated using semicolon (';'). See <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> documentation for pattern syntax. Examples: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns = Unprotected file patterns (separated using semicolon ';'):
settings.protect_unprotected_file_patterns_desc = Unprotected files that are allowed to be changed directly if user has write access, bypassing push restriction. Multiple patterns can be separated using semicolon (';'). See <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> documentation for pattern syntax. Examples: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns = Protected file patterns (separated using semicolon ";"):
settings.protect_protected_file_patterns_desc = Protected files are not allowed to be changed directly even if user has rights to add, edit, or delete files in this branch. Multiple patterns can be separated using semicolon (";"). See <a href="https://pkg.go.dev/github.com/gobwas/glob#Compile">github.com/gobwas/glob</a> documentation for pattern syntax. Examples: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns = Unprotected file patterns (separated using semicolon ";"):
settings.protect_unprotected_file_patterns_desc = Unprotected files that are allowed to be changed directly if user has write access, bypassing push restriction. Multiple patterns can be separated using semicolon (";"). See <a href="https://pkg.go.dev/github.com/gobwas/glob#Compile">github.com/gobwas/glob</a> documentation for pattern syntax. Examples: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch = Enable protection
settings.delete_protected_branch = Disable protection
settings.update_protect_branch_success = Branch protection for rule "%s" has been updated.
@ -2468,7 +2469,7 @@ settings.lfs_findcommits=Find commits
settings.lfs_lfs_file_no_commits=No Commits found for this LFS file
settings.lfs_noattribute=This path does not have the lockable attribute in the default branch
settings.lfs_delete=Delete LFS file with OID %s
settings.lfs_delete_warning=Deleting an LFS file may cause 'object does not exist' errors on checkout. Are you sure?
settings.lfs_delete_warning=Deleting an LFS file may cause "object does not exist" errors on checkout. Are you sure?
settings.lfs_findpointerfiles=Find pointer files
settings.lfs_locks=Locks
settings.lfs_invalid_locking_path=Invalid path: %s
@ -2644,7 +2645,7 @@ tag.create_success = Tag "%s" has been created.
topic.manage_topics = Manage Topics
topic.done = Done
topic.count_prompt = You cannot select more than 25 topics
topic.format_prompt = Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
topic.format_prompt = Topics must start with a letter or number, can include dashes ("-") and dots ("."), can be up to 35 characters long. Letters must be lowercase.
find_file.go_to_file = Go to file
find_file.no_matching = No matching file found
@ -2834,7 +2835,7 @@ dashboard.delete_repo_archives.started = Delete all repository archives task sta
dashboard.delete_missing_repos = Delete all repositories missing their Git files
dashboard.delete_missing_repos.started = Delete all repositories missing their Git files task started.
dashboard.delete_generated_repository_avatars = Delete generated repository avatars
dashboard.sync_repo_branches = Sync missed branches from git data to databases
dashboard.sync_repo_branches = Sync missed branches from git data to database
dashboard.sync_repo_tags = Sync tags from git data to database
dashboard.update_mirrors = Update Mirrors
dashboard.repo_health_check = Health check all repositories
@ -2843,9 +2844,9 @@ dashboard.archive_cleanup = Delete old repository archives
dashboard.deleted_branches_cleanup = Clean-up deleted branches
dashboard.update_migration_poster_id = Update migration poster IDs
dashboard.git_gc_repos = Garbage collect all repositories
dashboard.resync_all_sshkeys = Update the '.ssh/authorized_keys' file with Forgejo SSH keys.
dashboard.resync_all_sshprincipals = Update the '.ssh/authorized_principals' file with Forgejo SSH principals.
dashboard.resync_all_hooks = Resynchronize pre-receive, update and post-receive hooks of all repositories.
dashboard.resync_all_sshkeys = Update the ".ssh/authorized_keys" file with Forgejo SSH keys.
dashboard.resync_all_sshprincipals = Update the ".ssh/authorized_principals" file with Forgejo SSH principals.
dashboard.resync_all_hooks = Resynchronize pre-receive, update and post-receive hooks of all repositories
dashboard.reinit_missing_repos = Reinitialize all missing Git repositories for which records exist
dashboard.sync_external_users = Synchronize external user data
dashboard.cleanup_hook_task_table = Cleanup hook_task table
@ -3038,7 +3039,7 @@ auths.search_page_size = Page Size
auths.filter = User Filter
auths.admin_filter = Admin Filter
auths.restricted_filter = Restricted Filter
auths.restricted_filter_helper = Leave empty to not set any users as restricted. Use an asterisk ('*') to set all users that do not match Admin Filter as restricted.
auths.restricted_filter_helper = Leave empty to not set any users as restricted. Use an asterisk ("*") to set all users that do not match Admin Filter as restricted.
auths.verify_group_membership = Verify group membership in LDAP (leave the filter empty to skip)
auths.group_search_base = Group Search Base DN
auths.group_attribute_list_users = Group Attribute Containing List Of Users
@ -3051,7 +3052,7 @@ auths.smtp_auth = SMTP Authentication Type
auths.smtphost = SMTP Host
auths.smtpport = SMTP Port
auths.allowed_domains = Allowed Domains
auths.allowed_domains_helper = Leave empty to allow all domains. Separate multiple domains with a comma (',').
auths.allowed_domains_helper = Leave empty to allow all domains. Separate multiple domains with a comma (",").
auths.skip_tls_verify = Skip TLS Verify
auths.force_smtps = Force SMTPS
auths.force_smtps_helper = SMTPS is always used on port 465. Set this to force SMTPS on other ports. (Otherwise STARTTLS will be used on other ports if it is supported by the host.)
@ -3098,7 +3099,7 @@ auths.tips = Tips
auths.tips.oauth2.general = OAuth2 Authentication
auths.tips.oauth2.general.tip = When registering a new OAuth2 authentication, the callback/redirect URL should be:
auths.tip.oauth2_provider = OAuth2 Provider
auths.tip.bitbucket = Register a new OAuth consumer on https://bitbucket.org/account/user/<your username>/oauth-consumers/new and add the permission 'Account' - 'Read'
auths.tip.bitbucket = Register a new OAuth consumer on https://bitbucket.org/account/user/<your username>/oauth-consumers/new and add the permission "Account" - "Read"
auths.tip.nextcloud = Register a new OAuth consumer on your instance using the following menu "Settings -> Security -> OAuth 2.0 client"
auths.tip.dropbox = Create a new application at https://www.dropbox.com/developers/apps
auths.tip.facebook = Register a new application at https://developers.facebook.com/apps and add the product "Facebook Login"
@ -3153,7 +3154,7 @@ config.ssh_port = Port
config.ssh_listen_port = Listen Port
config.ssh_root_path = Root Path
config.ssh_key_test_path = Key Test Path
config.ssh_keygen_path = Keygen ('ssh-keygen') Path
config.ssh_keygen_path = Keygen ("ssh-keygen") Path
config.ssh_minimum_key_size_check = Minimum Key Size Check
config.ssh_minimum_key_sizes = Minimum Key Sizes
@ -3532,7 +3533,7 @@ settings.delete.description = Deleting a package is permanent and cannot be undo
settings.delete.notice = You are about to delete %s (%s). This operation is irreversible, are you sure?
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.title = Cargo registry index
owner.settings.cargo.initialize = Initialize Index
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
@ -3541,7 +3542,7 @@ owner.settings.cargo.rebuild = Rebuild Index
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.title = Manage cleanup rules
owner.settings.cleanuprules.add = Add Cleanup Rule
owner.settings.cleanuprules.edit = Edit Cleanup Rule
owner.settings.cleanuprules.none = There are no cleanup rules yet.
@ -3561,7 +3562,7 @@ owner.settings.cleanuprules.remove.days = Remove versions older than
owner.settings.cleanuprules.remove.pattern = Remove versions matching
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.title = Chef registry
owner.settings.chef.keypair = Generate key pair
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.
@ -3649,9 +3650,9 @@ runs.no_runs = The workflow has no runs yet.
runs.empty_commit_message = (empty commit message)
workflow.disable = Disable Workflow
workflow.disable_success = Workflow '%s' disabled successfully.
workflow.disable_success = Workflow "%s" disabled successfully.
workflow.enable = Enable Workflow
workflow.enable_success = Workflow '%s' enabled successfully.
workflow.enable_success = Workflow "%s" enabled successfully.
workflow.disabled = Workflow is disabled.
need_approval_desc = Need approval to run workflows for fork pull request.

View file

@ -73,7 +73,7 @@
</label>
</div>
<div class="required field">
<label for="repo_name_to_delete">{{ctx.Locale.Tr "repo.repo_name"}}</label>
<label for="repo_name_to_delete">{{ctx.Locale.Tr "repo.settings.confirmation_string"}}</label>
<input id="repo_name_to_delete" name="repo_name" required>
</div>

View file

@ -539,7 +539,7 @@
</label>
</div>
<div class="required field">
<label for="repo_name">{{ctx.Locale.Tr "repo.repo_name"}}</label>
<label for="repo_name">{{ctx.Locale.Tr "repo.settings.confirmation_string"}}</label>
<input id="repo_name" name="repo_name" required maxlength="100">
</div>
@ -570,7 +570,7 @@
</label>
</div>
<div class="required field">
<label for="repo_name">{{ctx.Locale.Tr "repo.repo_name"}}</label>
<label for="repo_name">{{ctx.Locale.Tr "repo.settings.confirmation_string"}}</label>
<input id="repo_name" name="repo_name" required>
</div>
@ -602,7 +602,7 @@
</label>
</div>
<div class="required field">
<label for="repo_name">{{ctx.Locale.Tr "repo.repo_name"}}</label>
<label for="repo_name">{{ctx.Locale.Tr "repo.settings.confirmation_string"}}</label>
<input id="repo_name" name="repo_name" required>
</div>
<div class="required field">
@ -640,7 +640,7 @@
</label>
</div>
<div class="required field">
<label for="repo_name_to_delete">{{ctx.Locale.Tr "repo.repo_name"}}</label>
<label for="repo_name_to_delete">{{ctx.Locale.Tr "repo.settings.confirmation_string"}}</label>
<input id="repo_name_to_delete" name="repo_name" required>
</div>
@ -672,7 +672,7 @@
</label>
</div>
<div class="required field">
<label for="repo_name">{{ctx.Locale.Tr "repo.repo_name"}}</label>
<label for="repo_name">{{ctx.Locale.Tr "repo.settings.confirmation_string"}}</label>
<input id="repo_name" name="repo_name" required>
</div>
@ -705,7 +705,7 @@
</label>
</div>
<div class="required field">
<label for="repo_name">{{ctx.Locale.Tr "repo.repo_name"}}</label>
<label for="repo_name">{{ctx.Locale.Tr "repo.settings.confirmation_string"}}</label>
<input id="repo_name" name="repo_name" required>
</div>

View file

@ -9,7 +9,7 @@
<html lang="{{ctx.Locale.Lang}}" data-theme="{{ThemeName .SignedUser}}">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Internal Server Error - {{AppName}}</title>
<title>{{ctx.Locale.Tr "error.server_internal"}} - {{AppName}}</title>
<link rel="icon" href="{{AssetUrlPrefix}}/img/favicon.svg" type="image/svg+xml">
<link rel="alternate icon" href="{{AssetUrlPrefix}}/img/favicon.png" type="image/png">
{{template "base/head_style" .}}
@ -35,7 +35,7 @@
</div>
<div class="ui container center">
<h1 class="gt-mt-5 error-code">500</h1>
<p>Internal Server Error</p>
<p>{{ctx.Locale.Tr "error.server_internal"}}</p>
</div>
<div class="divider"></div>
<div class="ui container gt-my-5">

View file

@ -125,5 +125,5 @@ func TestXSSReviewDismissed(t *testing.T) {
htmlDoc := NewHTMLParser(t, resp.Body)
htmlDoc.AssertElement(t, "script.evil", false)
assert.Contains(t, htmlDoc.Find("#issuecomment-1000 .dismissed-message").Text(), `dismissed Otto <script class='evil'>alert('Oh no!')</script>s review`)
assert.Contains(t, htmlDoc.Find("#issuecomment-1000 .dismissed-message").Text(), `dismissed Otto <script class='evil'>alert('Oh no!')</script>'s review`)
}