discourse/config/locales/server.en.yml
Alan Guo Xiang Tan bf3c4b634a
DEV: Support validations options for string and numeral types (#25719)
Why this change?

This commit updates `ThemeSettingsObjectValidator` to validate a
property's value against the validations listed in the schema.

For string types, `min_length`, `max_length` and `url` are supported.
For integer and float types, `min` and `max` are supported.
2024-02-20 09:17:27 +08:00

5477 lines
330 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

en:
dates:
# Use Moment.js format string: https://momentjs.com/docs/#/displaying/format/
short_date_no_year: "D MMM"
# Use Moment.js format string: https://momentjs.com/docs/#/displaying/format/
short_date: "D MMM, YYYY"
# Use Moment.js format string: https://momentjs.com/docs/#/displaying/format/
long_date: "MMMM D, YYYY h:mma"
datetime_formats: &datetime_formats
formats:
# Format directives: https://ruby-doc.org/core/Time.html#method-i-strftime
short: "%m-%d-%Y"
# Format directives: https://ruby-doc.org/core/Time.html#method-i-strftime
short_no_year: "%B %-d"
# Format directives: https://ruby-doc.org/core/Time.html#method-i-strftime
date_only: "%B %-d, %Y"
# Format directives: https://ruby-doc.org/core/Time.html#method-i-strftime
long: "%B %-d, %Y, %l:%M%P"
# Format directives: https://ruby-doc.org/core/Time.html#method-i-strftime
no_day: "%B %Y"
# Format directives: https://ruby-doc.org/core/Time.html#method-i-strftime
calendar_ics: "%Y%m%dT%H%M%SZ"
date:
# Do not remove the brackets and commas and do not translate the first month name. It should be "null".
month_names:
[
~,
January,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December,
]
<<: *datetime_formats
time:
<<: *datetime_formats
am: "am"
pm: "pm"
title: "Discourse"
topics: "Topics"
posts: "posts"
views: "views"
loading: "Loading"
powered_by_html: 'Powered by <a href="https://www.discourse.org">Discourse</a>, best viewed with JavaScript enabled'
sign_up: "Sign Up"
log_in: "Log In"
submit: "Submit"
purge_reason: "Automatically deleted as abandoned, deactivated account"
disable_remote_images_download_reason: "Remote images download was disabled because there wasn't enough disk space available."
anonymous: "Anonymous"
remove_posts_deleted_by_author: "Deleted by author"
redirect_warning: "We were unable to verify that the link you selected was actually posted to the forum. If you wish to proceed anyway, select the link below."
on_another_topic: "On another topic"
topic_category_changed: "From %{from} to %{to}"
topic_tag_changed:
added_and_removed: "Added %{added} and removed %{removed}"
added: "Added %{added}"
removed: "Removed %{removed}"
inline_oneboxer:
topic_page_title_post_number: "#%{post_number}"
topic_page_title_post_number_by_user: "#%{post_number} by %{username}"
components:
enabled_filter: "Enabled"
disabled_filter: "Disabled"
updates_available_filter: "Updates Available"
themes:
bad_color_scheme: "Can not update theme, invalid color palette"
other_error: "Something went wrong updating theme"
ember_selector_error: "Sorry using #ember or .ember-view CSS selectors is not permitted, because these names are dynamically generated at runtime and will change over time, eventually resulting in broken CSS. Try a different selector."
import_error:
generic: An error occurred while importing that theme
upload: "Error creating upload asset: %{name}. %{errors}"
about_json: "Import Error: about.json does not exist, or is invalid. Are you sure this is a Discourse Theme?"
about_json_too_big: "Import Error: about.json is bigger than the %{limit} limit."
about_json_values: "about.json contains invalid values: %{errors}"
modifier_values: "about.json modifiers contain invalid values: %{errors}"
asset_too_big: "Asset %{filename} is bigger than the %{limit} limit"
theme_too_big: "Theme is bigger than the %{limit} limit"
git: "Error cloning git repository, access is denied or repository is not found"
git_ref_not_found: "Unable to checkout git reference: %{ref}"
git_unsupported_scheme: "Unable to clone git repo: scheme unsupported"
unpack_failed: "Failed to unpack file"
file_too_big: "The uncompressed file is too big."
unknown_file_type: "The file you uploaded does not appear to be a valid Discourse theme."
not_allowed_theme: "`%{repo}` is not in the list of allowed themes (check `allowed_theme_repos` global setting)."
ssh_key_gone: "You waited too long to install the theme and SSH key expired. Please try again."
too_many_files: "The number of files (%{count}) in the theme has exceeded the maximum allowed number of files (%{limit})"
migrations:
invalid_filename: "Invalid filename for migration file: %{filename}. Filenames must begin with 4 digits followed by a hyphen and then a name that only contains alphanumeric characters with hyphens."
name_too_long:
one: "Migration name is too long. It shouldn't exceed %{count} character."
other: "Migration name is too long. It shouldn't exceed %{count} characters."
too_many_pending_migrations: "There are too many pending migrations in this theme. Themes are not allowed to introduce more than 100 migrations in a single update"
out_of_sequence: "Migration '%{name}' is out of sequence. The last migration for this theme had version number %{current} which is higher than the new migration"
syntax_error: "Failed to run migration '%{name}' because it has a syntax error: %{error}"
exceeded_memory_limit: "Migration '%{name}' failed because it exceeded the memory limit"
timed_out: "Migration '%{name}' timed out"
no_exported_function: "Migration '%{name}' doesn't export a function to perform the migration"
default_export_not_a_function: "Migration '%{name}' has a default export that's not a function. The default export must be the function that performs the migration"
no_returned_value: "Migration '%{name}' didn't return any value (or returned null or undefined). It must return a Map object"
wrong_return_type: "Migration '%{name}' returned an unknown data type. It must return a Map object"
runtime_error: "Migration '%{name}' encountered the following runtime error: %{error}"
unknown_setting_returned_by_migration: "Migrations '%{name}' returned a setting '%{setting_name}' which is not declared in the theme's settings.yml file"
errors:
component_no_user_selectable: "Theme components can't be user-selectable"
component_no_default: "Theme components can't be default theme"
component_no_color_scheme: "Theme components can't have color palettes"
no_multilevels_components: "Themes with child themes can't be child themes themselves"
optimized_link: Optimized image links are ephemeral and should not be included in theme source code.
settings_errors:
invalid_yaml: "Provided YAML is invalid."
data_type_inclusion: "Setting `%{name}` type is unsupported. Supported types are `integer`, `bool`, `list`, `enum` and `upload`"
name_too_long: "There is a setting with a too long name. Maximum length is 255"
default_value_missing: "Setting `%{name}` has no default value"
default_not_match_type: "Setting `%{name}` default value's type doesn't match with the setting type."
default_out_range: "Setting `%{name}` default value isn't in the specified range."
enum_value_not_valid: "Selected value isn't one of the enum choices."
number_value_not_valid: "New value isn't within the allowed range."
number_value_not_valid_min_max: "It must be between %{min} and %{max}."
number_value_not_valid_min: "It must be larger than or equal to %{min}."
number_value_not_valid_max: "It must be smaller than or equal to %{max}."
string_value_not_valid: "New value length isn't within the allowed range."
string_value_not_valid_min_max: "It must be between %{min} and %{max} characters long."
string_value_not_valid_min: "It must be at least %{min} characters long."
string_value_not_valid_max: "It must be at most %{max} characters long."
objects:
required: "must be present"
invalid_type: "%{type} is not a valid type"
not_valid_string_value: "must be a string"
not_valid_integer_value: "must be an integer"
not_valid_float_value: "must be a float"
not_valid_boolean_value: "must be a boolean"
not_valid_enum_value: "must be one of the following: %{choices}"
string_value_not_valid_min: "must be at least %{min} characters long"
string_value_not_valid_max: "must be at most %{max} characters long"
number_value_not_valid_min: "must be larger than or equal to %{min}"
number_value_not_valid_max: "must be smaller than or equal to %{max}"
string_value_not_valid_url: "must be a valid URL"
locale_errors:
top_level_locale: "The top level key in a locale file must match the locale name"
invalid_yaml: "Translation YAML invalid"
emails:
incoming:
default_subject: "This topic needs a title"
show_trimmed_content: "Show trimmed content"
maximum_staged_user_per_email_reached: "Reached maximum number of staged users created per email."
no_subject: "(no subject)"
no_body: "(no body)"
missing_attachment: "(Attachment %{filename} is missing)"
continuing_old_discussion:
one: "Continuing the discussion from [%{title}](%{url}), because it was created more than %{count} day ago."
other: "Continuing the discussion from [%{title}](%{url}), because it was created more than %{count} days ago."
errors:
empty_email_error: "Happens when the raw mail we received was blank."
no_message_id_error: "Happens when the mail has no 'Message-Id' header."
auto_generated_email_error: "Happens when the 'precedence' header is set to: list, junk, bulk or auto_reply, or when any other header contains: auto-submitted, auto-replied or auto-generated."
no_body_detected_error: "Happens when we couldn't extract a body and there were no attachments."
no_sender_detected_error: "Happens when we couldn't find a valid email address in the From header."
from_reply_by_address_error: "Happens when the From header matches the reply by email address."
inactive_user_error: "Happens when the sender is not active."
silenced_user_error: "Happens when the sender has been silenced."
bad_destination_address: "Happens when none of the email addresses in To/Cc fields matched a configured incoming email address."
strangers_not_allowed_error: "Happens when a user tried to create a new topic in a category they're not a member of."
insufficient_trust_level_error: "Happens when a user tried to create a new topic in a category they don't have the required trust level for."
reply_user_not_matching_error: "Happens when a reply came in from a different email address the notification was sent to."
topic_not_found_error: "Happens when a reply came in but the related topic has been deleted."
topic_closed_error: "Happens when a reply came in but the related topic has been closed."
bounced_email_error: "Email is a bounced email report."
screened_email_error: "Happens when the sender's email address was already screened."
unsubscribe_not_allowed: "Happens when unsubscribing via email is not allowed for this user."
email_not_allowed: "Happens when the email address is not on the allowlist or is on the blocklist."
unrecognized_error: "Unrecognized Error"
secure_uploads_placeholder: "Redacted: This site has secure uploads enabled, visit the topic or click View Media to see the attached uploads."
view_redacted_media: "View Media"
errors: &errors
format: ! "%{attribute} %{message}"
format_with_full_message: "<b>%{attribute}</b>: %{message}"
messages:
too_long_validation: "is limited to %{max} characters; you entered %{length}."
invalid_boolean: "Invalid boolean."
taken: "has already been taken"
accepted: must be accepted
blank: can't be blank
present: must be blank
confirmation: ! "doesn't match %{attribute}"
empty: can't be empty
equal_to: must be equal to %{count}
even: must be even
exclusion: is reserved
greater_than: must be greater than %{count}
greater_than_or_equal_to: must be greater than or equal to %{count}
has_already_been_used: "has already been used"
inclusion: is not included in the list
invalid: is invalid
is_invalid: "seems unclear, is it a complete sentence?"
is_invalid_meaningful: "seems unclear, most of the words contain the same letters over and over?"
is_invalid_unpretentious: "seems unclear, one or more words is very long?"
is_invalid_quiet: "seems unclear, did you mean to enter it in ALL CAPS?"
invalid_timezone: "'%{tz}' is not a valid timezone"
contains_censored_words: "contains the following censored words: %{censored_words}"
less_than: must be less than %{count}
less_than_or_equal_to: must be less than or equal to %{count}
not_a_number: is not a number
not_an_integer: must be an integer
odd: must be odd
record_invalid: ! "Validation failed: %{errors}"
max_emojis: "can't have more than %{max_emojis_count} emoji"
emojis_disabled: "can't have emoji"
ip_address_already_screened: "is already included in an existing rule"
restrict_dependent_destroy:
one: "Cannot delete record because a dependent %{record} exists"
other: "Cannot delete record because dependent %{record} exist"
too_long:
one: is too long (maximum is %{count} character)
other: is too long (maximum is %{count} characters)
too_short:
one: is too short (minimum is %{count} character)
other: is too short (minimum is %{count} characters)
wrong_length:
one: is the wrong length (should be %{count} character)
other: is the wrong length (should be %{count} characters)
other_than: "must be other than %{count}"
auth_overrides_username: "Username needs to be updated on authentication provider side, since `auth_overrides_username` setting is enabled."
template:
body: ! "There were problems with the following fields:"
header:
one: "%{count} error prohibited this %{model} from being saved"
other: ! "%{count} errors prohibited this %{model} from being saved"
embed:
load_from_remote: "There was an error loading that post."
site_settings:
invalid_site_setting: "No setting named '%{name}' exists"
invalid_category_id: "You specified a category that does not exist"
invalid_choice:
one: "'%{name}' is an invalid choice."
other: "'%{name}' are invalid choices."
default_categories_already_selected: "You cannot select a category used in another list."
default_tags_already_selected: "You cannot select a tag used in another list."
s3_upload_bucket_is_required: "You cannot enable uploads to S3 unless you've provided the 's3_upload_bucket'."
enable_s3_uploads_is_required: "You cannot enable usage of the S3 inventory unless you've enabled S3 uploads."
page_publishing_requirements: "Page publishing cannot be enabled if secure uploads is enabled."
s3_backup_requires_s3_settings: "You cannot use S3 as backup location unless you've provided the '%{setting_name}'."
s3_bucket_reused: "You cannot use the same bucket for 's3_upload_bucket' and 's3_backup_bucket'. Choose a different bucket or use a different path for each bucket."
secure_uploads_requirements: "S3 uploads and S3 ACLs must be enabled before enabling secure uploads."
s3_use_acls_requirements: "You must have S3 ACLs enabled when secure uploads are enabled."
share_quote_facebook_requirements: "You must set a Facebook app id to enable quote sharing for Facebook."
second_factor_cannot_enforce_with_socials: "You cannot enforce 2FA with social logins enabled. You must first disable login via: %{auth_provider_names}"
second_factor_cannot_be_enforced_with_disabled_local_login: "You cannot enforce 2FA if local logins are disabled."
second_factor_cannot_be_enforced_with_discourse_connect_enabled: "You cannot enforce 2FA if DiscourseConnect is enabled."
local_login_cannot_be_disabled_if_second_factor_enforced: "You cannot disable local login if 2FA is enforced. Disable enforced 2FA before disabling local logins."
cannot_enable_s3_uploads_when_s3_enabled_globally: "You cannot enable S3 uploads because S3 uploads are already globally enabled, and enabling this site-level could cause critical issues with uploads"
cors_origins_should_not_have_trailing_slash: "You should not add the trailing slash (/) to CORS origins."
slow_down_crawler_user_agent_must_be_at_least_3_characters: "User agents must be at least 3 characters long to avoid accidentally rate-limiting legitimate users."
slow_down_crawler_user_agent_cannot_be_popular_browsers: "You cannot add any of the following values to the setting: %{values}."
strip_image_metadata_cannot_be_disabled_if_composer_media_optimization_image_enabled: "You cannot disable strip image metadata if 'composer media optimization image enabled' is enabled. Disable 'composer media optimization image enabled' before disabling strip image metadata."
twitter_summary_large_image_no_svg: "Twitter summary images used for twitter:image metadata cannot be an .svg image."
conflicting_google_user_id: 'The Google Account ID for this account has changed; staff intervention is required for security reasons. Please contact staff and point them to <br><a href="https://meta.discourse.org/t/76575">https://meta.discourse.org/t/76575</a>'
onebox:
invalid_address: "Sorry, we were unable to generate a preview for this web page, because the server '%{hostname}' could not be found. Instead of a preview, only a link will appear in your post. :cry:"
error_response: "Sorry, we were unable to generate a preview for this web page, because the web server returned an error code of %{status_code}. Instead of a preview, only a link will appear in your post. :cry:"
missing_data:
one: "Sorry, we were unable to generate a preview for this web page, because the following oEmbed / OpenGraph tag could not be found: %{missing_attributes}"
other: "Sorry, we were unable to generate a preview for this web page, because the following oEmbed / OpenGraph tags could not be found: %{missing_attributes}"
word_connector:
# Connects words with a comma. Example: "foo, bar"
comma: ", "
activemodel:
errors:
<<: *errors
custom_fields:
validations:
max_items: "Maximum number of custom fields for this entity has been reached (%{max_items_number})"
max_value_length: "Maximum length for a custom field value has been reached (%{max_value_length})"
invite:
expired: "Your invite token has expired. Please <a href='%{base_url}/about'>contact staff</a>."
not_found: "Your invite token is invalid. Please <a href='%{base_url}/about'>contact staff</a>."
not_found_json: "Your invite token is invalid. Please contact staff."
not_matching_email: "Your email address and the email address associated with the invite token do not match. Please contact staff."
not_found_template: |
<p>Your invite to <a href="%{base_url}">%{site_name}</a> has already been redeemed.</p>
<p>If you remember your password you can <a href="%{base_url}/login">Log In</a>.</p>
<p>Otherwise please <a href="%{base_url}/password-reset">Reset Password</a>.</p>
not_found_template_link: |
<p>This invitation to <a href="%{base_url}">%{site_name}</a> can no longer be redeemed. Please ask the person who invited you to send you a new invitation.</p>
existing_user_cannot_redeem: "This invitation cannot be redeemed. Please ask the person who invited you to send you a new invitation."
existing_user_already_redemeed: "You have already redeemed this invite link."
user_exists: "There's no need to invite <b>%{email}</b>, they already have an account!"
invite_exists: "You already invited <b>%{email}</b>."
invalid_email: "%{email} isn't a valid email address."
generic_error_response: "There was a problem with your request."
rate_limit:
one: "You have already sent %{count} invite in the last 24 hours, please wait %{time_left} before trying again."
other: "You have already sent %{count} invites in the last 24 hours, please wait %{time_left} before trying again."
confirm_email: "<p>Youre almost done! We sent an activation mail to your email address. Please follow the instructions in the mail to activate your account.</p><p>If it doesnt arrive, check your spam folder.</p>"
cant_invite_to_group: "You are not allowed to invite users to specified group(s). Make sure you are owner of the group(s) you are trying to invite to."
disabled_errors:
discourse_connect_enabled: "Invites are disabled because DiscourseConnect is enabled."
invalid_access: "You are not permitted to view the requested resource."
requires_groups: "Invite was not saved because the specified topic is inaccessible. Add one of the following groups: %{groups}."
max_invite_emails_limit_exceeded: "Request failed because number of emails exceeded the maximum (%{max})."
domain_not_allowed: "Your email cannot be used to redeem this invite."
max_redemptions_allowed_one: "for email invites should be 1."
redemption_count_less_than_max: "should be less than %{max_redemptions_allowed}."
email_xor_domain: "Email and domain fields are not allowed at the same time"
existing_user_success: "Invite redeemed successfully"
bulk_invite:
file_should_be_csv: "The uploaded file should be of csv format."
max_rows: "First %{max_bulk_invites} invites has been sent. Try splitting the file in smaller parts."
error: "There was an error uploading that file. Please try again later."
invite_link:
email_taken: "This email is already in use. If you already have an account please log in or reset password."
max_redemptions_limit: "should be between 2 and %{max_limit}."
topic_invite:
failed_to_invite: "The user cannot be invited into this topic without a group membership in either one of the following groups: %{group_names}."
not_pm: "You can only invite to private messages."
user_exists: "Sorry, that user has already been invited. You may only invite a user to a topic once."
muted_topic: "Sorry, that user muted this topic."
receiver_does_not_allow_pm: "Sorry, that user does not allow you to send them private messages."
sender_does_not_allow_pm: "Sorry, you do not allow that user to send you private messages."
user_cannot_see_topic: "%{username} cannot see the topic."
backup:
operation_already_running: "An operation is currently running. Can't start a new job right now."
backup_file_should_be_tar_gz: "The backup file should be a .tar.gz archive."
not_enough_space_on_disk: "There is not enough space on disk to upload this backup."
invalid_filename: "The backup filename contains invalid characters. Valid characters are a-z 0-9 . - _."
file_exists: "The file you are trying to upload already exists."
invalid_params: "You supplied invalid parameters to the request: %{message}"
not_logged_in: "You need to be logged in to do that."
not_found: "The requested URL or resource could not be found."
invalid_access: "You are not permitted to view the requested resource."
authenticator_not_found: "Authentication method does not exist, or has been disabled."
authenticator_no_connect: "This authentication provider does not allow connection to an existing forum account."
invalid_api_credentials: "You are not permitted to view the requested resource. The API username or key is invalid."
provider_not_enabled: "You are not permitted to view the requested resource. The authentication provider is not enabled."
provider_not_found: "You are not permitted to view the requested resource. The authentication provider does not exist."
read_only_mode_enabled: "The site is in read only mode. Interactions are disabled."
invalid_grant_badge_reason_link: "External or invalid discourse link is not allowed in badge reason"
email_template_cant_be_modified: "This email template can't be modified"
invalid_whisper_access: "Either whispers are not enabled or you do not have access to create whisper posts"
not_in_group:
title_topic: "You need to request membership to the '%{group}' group to see this topic."
title_category: "You need to request membership to the '%{group}' group to see this category."
request_membership: "Request Membership"
join_group: "Join Group"
deleted_topic: "Oops! This topic has been deleted and is no longer available."
delete_topic_failed: "There was an error deleting that topic. Please contact the site's administrator."
reading_time: "Reading time"
likes: "Likes"
action_already_performed: "Oops! You already performed this action. Can you try refreshing the page?"
too_many_replies:
one: "We're sorry, but new users are temporarily limited to %{count} reply in the same topic."
other: "We're sorry, but new users are temporarily limited to %{count} replies in the same topic."
max_consecutive_replies:
one: "No consecutive replies are allowed. Please edit your previous reply, or wait for someone to reply to you."
other: "No more than %{count} consecutive replies are allowed. Please edit your previous reply, or wait for someone to reply to you."
embed:
start_discussion: "Start Discussion"
continue: "Continue Discussion"
error: "Error Embedding"
referer: "Referer:"
error_topics: "The `embed topics list` site setting was not enabled"
mismatch: "The referer was either not sent, or did not match any of the following hosts:"
no_hosts: "No hosts were set up for embedding."
configure: "Configure Embedding"
more_replies:
one: "%{count} more reply"
other: "%{count} more replies"
loading: "Loading Discussion…"
permalink: "Permalink"
imported_from: "This is a companion discussion topic for the original entry at %{link}"
in_reply_to: "▶ %{username}"
replies:
one: "%{count} reply"
other: "%{count} replies"
likes:
one: "%{count} like"
other: "%{count} likes"
last_reply: "Last reply"
created: "Created"
new_topic: "Create new topic"
no_mentions_allowed: "Sorry, you can't mention other users."
too_many_mentions:
one: "Sorry, you can only mention one other user in a post."
other: "Sorry, you can only mention %{count} users in a post."
no_mentions_allowed_newuser: "Sorry, new users can't mention other users."
too_many_mentions_newuser:
one: "Sorry, new users can only mention one other user in a post."
other: "Sorry, new users can only mention %{count} users in a post."
no_embedded_media_allowed_group: "Sorry, you can't embed media items in a post."
no_embedded_media_allowed: "Sorry, new users can't embed media items in posts."
too_many_embedded_media:
one: "Sorry, new users can only put one embedded media item in a post."
other: "Sorry, new users can only put %{count} embedded media items in a post."
no_attachments_allowed: "Sorry, new users can't put attachments in posts."
too_many_attachments:
one: "Sorry, new users can only put one attachment in a post."
other: "Sorry, new users can only put %{count} attachments in a post."
no_links_allowed: "Sorry, new users can't put links in posts."
links_require_trust: "Sorry, you can't include links in your posts."
too_many_links:
one: "Sorry, new users can only put one link in a post."
other: "Sorry, new users can only put %{count} links in a post."
contains_blocked_word: "Sorry, you can't post the word '%{word}'; it's not allowed."
contains_blocked_words: "Sorry, you can't post that. Not allowed: %{words}."
spamming_host: "Sorry you cannot post a link to that host."
user_is_suspended: "Suspended users are not allowed to post."
topic_not_found: "Something has gone wrong. Perhaps this topic was closed or deleted while you were looking at it?"
not_accepting_pms: "Sorry, %{username} is not accepting messages at the moment."
max_pm_recipients: "Sorry, you can send a message to maximum %{recipients_limit} recipients."
pm_reached_recipients_limit: "Sorry, you can't have more than %{recipients_limit} recipients in a message."
removed_direct_reply_full_quotes: "Automatically removed quote of whole previous post."
watched_words_auto_tag: "Automatically tagged topic"
secure_upload_not_allowed_in_public_topic: "Sorry, the following secure upload(s) cannot be used in a public topic: %{upload_filenames}."
create_pm_on_existing_topic: "Sorry, you can't create a PM on an existing topic."
slow_mode_enabled: "This topic is in slow mode."
just_posted_that: "is too similar to what you recently posted"
invalid_characters: "contains invalid characters"
is_invalid: "seems unclear, is it a complete sentence?"
next_page: "next page →"
prev_page: "← previous page"
page_num: "Page %{num}"
home_title: "Home"
topics_in_category: "Topics in the '%{category}' category"
rss_posts_in_topic: "RSS feed of '%{topic}'"
rss_topics_in_category: "RSS feed of topics in the '%{category}' category"
rss_num_posts:
one: "%{count} post"
other: "%{count} posts"
rss_num_participants:
one: "%{count} participant"
other: "%{count} participants"
read_full_topic: "Read full topic"
private_message_abbrev: "Msg"
rss_description:
latest: "Latest topics"
top: "Top topics"
top_all: "All time top topics"
top_yearly: "Yearly top topics"
top_quarterly: "Quarterly top topics"
top_monthly: "Monthly top topics"
top_weekly: "Weekly top topics"
top_daily: "Daily top topics"
posts: "Latest posts"
private_posts: "Latest personal messages"
group_posts: "Latest posts from %{group_name}"
group_mentions: "Latest mentions from %{group_name}"
user_posts: "Latest posts by @%{username}"
user_topics: "Latest topics by @%{username}"
tag: "Tagged topics"
badge: "%{display_name} badge on %{site_title}"
too_late_to_edit: "That post was created too long ago. It can no longer be edited or deleted."
edit_conflict: "That post was edited by another user and your changes can no longer be saved."
revert_version_same: "The current version is same as the version you are trying to revert to."
reverted_to_version: "reverted to version #%{version}"
cannot_edit_on_slow_mode: "This topic is in slow mode. To encourage thoughtful, considered discussion, editing old posts in this topic is not currently allowed during slow mode."
excerpt_image: "image"
bookmarks:
errors:
already_bookmarked_post: "You cannot bookmark the same post twice."
already_bookmarked: "You cannot bookmark the same %{type} twice."
too_many: "Sorry, you cannot add more than %{limit} bookmarks, visit <a href='%{user_bookmarks_url}'>%{user_bookmarks_url}</a> to remove some."
cannot_set_past_reminder: "You cannot set a bookmark reminder in the past."
cannot_set_reminder_in_distant_future: "You cannot set a bookmark reminder more than 10 years in the future."
time_must_be_provided: "Time must be provided for all reminders"
for_topic_must_use_first_post: "You can only use the first post to bookmark the topic."
bookmarkable_id_type_required: "The name and type of the record to bookmark is required."
invalid_bookmarkable: "A %{type} cannot be bookmarked."
reminders:
at_desktop: "Next time I'm at my desktop"
later_today: "Later today"
next_business_day: "Next business day"
tomorrow: "Tomorrow"
next_week: "Next week"
next_month: "Next month"
custom: "Custom date and time"
groups:
success:
bulk_add:
one: "%{count} user has been added to the group."
other: "%{count} users have been added to the group."
errors:
grant_trust_level_not_valid: "'%{trust_level}' is not a valid trust level."
can_not_modify_automatic: "You cannot modify an automatic group"
member_already_exist:
one: "'%{username}' is already a member of this group."
other: "The following users are already members of this group: %{username}"
invalid_domain: "'%{domain}' is not a valid domain."
invalid_incoming_email: "'%{email}' is not a valid email address."
email_already_used_in_group: "'%{email}' is already used by the group '%{group_name}'."
email_already_used_in_category: "'%{email}' is already used by the category '%{category_name}'."
cant_allow_membership_requests: "You cannot allow membership requests for a group without any owners."
already_requested_membership: "You have already requested membership for this group."
adding_too_many_users:
one: "Maximum %{count} user can be added at once"
other: "Maximum %{count} users can be added at once"
usernames_or_emails_required: "Usernames or emails must be present"
no_invites_with_discourse_connect: "You can invite only registered users when DiscourseConnect is enabled"
no_invites_without_local_logins: "You can invite only registered users when local logins are disabled"
default_names:
everyone: "everyone"
admins: "admins"
moderators: "moderators"
staff: "staff"
trust_level_0: "trust_level_0"
trust_level_1: "trust_level_1"
trust_level_2: "trust_level_2"
trust_level_3: "trust_level_3"
trust_level_4: "trust_level_4"
request_membership_pm:
title: "Membership Request for @%{group_name}"
request_accepted_pm:
title: "You've been accepted into @%{group_name}"
body: |
Your request to enter @%{group_name} has been accepted and you are now a member.
education:
until_posts:
one: "%{count} post"
other: "%{count} posts"
"new-topic": |
Welcome to %{site_name} &mdash; **thanks for starting a new conversation!**
- Does the title sound interesting if you read it out loud? Is it a good summary?
- Who would be interested in this? Why does it matter? What kind of responses do you want?
- Include commonly used words in your topic so others can *find* it. To group your topic with related topics, select a category (or tag).
For more, [see our community guidelines](%{base_path}/guidelines). This panel will only appear for your first %{education_posts_text}.
"new-reply": |
Welcome to %{site_name} &mdash; **thanks for contributing!**
- Be kind to your fellow community members.
- Does your reply improve the conversation?
- Constructive criticism is welcome, but criticize *ideas*, not people.
For more, [see our community guidelines](%{base_path}/guidelines). This panel will only appear for your first %{education_posts_text}.
avatar: |
### How about a picture for your account?
Youve posted a few topics and replies, but your profile picture isnt as unique as you are its just a letter.
Have you considered **[visiting your user profile](%{profile_path})** and uploading a picture that represents you?
Its easier to follow discussions and find interesting people in conversations when everyone has a unique profile picture!
sequential_replies: |
### Consider replying to several posts at once
Rather than several replies to a topic in a row, please consider a single reply that includes quotes from previous posts or @name references.
You can edit your previous reply to add a quote by highlighting text and selecting the <b>quote reply</b> button that appears.
Its easier for everyone to read topics that have fewer in-depth replies versus lots of small, individual replies.
dominating_topic: Youve posted a lot in this topic! Consider giving others an opportunity to reply here and discuss things with each other as well.
get_a_room: Youve replied to @%{reply_username} %{count} times, did you know you could send them a personal message instead?
dont_feed_the_trolls: This post has already been flagged for moderator attention. Are you sure you wish to reply to it? Replies to negative content tend to encourage more negative behavior.
too_many_replies: |
### You have reached the reply limit for this topic
Were sorry, but new users are temporarily limited to %{newuser_max_replies_per_topic} replies in the same topic.
Instead of adding another reply, please consider editing your previous replies, or visiting other topics.
reviving_old_topic: |
### Revive this topic?
The last reply to this topic was **%{time_ago}**. Your reply will bump the topic to the top of its list and notify anyone previously involved in the conversation.
Are you sure you want to continue this old conversation?
activerecord:
attributes:
category:
name: "Category Name"
topic:
title: "Title"
featured_link: "Featured Link"
category_id: "Category"
post:
raw: "Body"
user_profile:
bio_raw: "About Me"
user:
ip_address: ""
errors:
<<: *errors
models:
topic:
attributes:
base:
warning_requires_pm: "You can only attach warnings to personal messages."
too_many_users: "You can only send warnings to one user at a time."
cant_send_pm: "Sorry, you cannot send a personal message to that user."
no_user_selected: "You must select a valid user."
reply_by_email_disabled: "Reply by email has been disabled."
send_to_email_disabled: "Sorry, you cannot send personal messages to email."
target_user_not_found: "One of the users you are sending this message to could not be found."
unable_to_update: "There was an error updating that topic."
unable_to_tag: "There was an error tagging the topic."
unable_to_unlist: "Sorry, you cannot create an unlisted topic."
featured_link:
invalid: "is invalid. URL should include http:// or https://."
user:
attributes:
password:
common: "is one of the 10000 most common passwords. Please use a more secure password."
same_as_username: "is the same as your username. Please use a more secure password."
same_as_email: "is the same as your email. Please use a more secure password."
same_as_current: "is the same as your current password."
same_as_name: "is the same as your name."
unique_characters: "has too many repeated characters. Please use a more secure password."
username:
same_as_password: "is the same as your password."
name:
same_as_password: "is the same as your password."
ip_address:
blocked: "New registrations are not allowed from your IP address."
max_new_accounts_per_registration_ip: "New registrations are not allowed from your IP address (maximum limit reached). Contact a staff member."
user_profile:
attributes:
featured_topic_id:
invalid: "This topic cannot be featured on your profile."
user_email:
attributes:
user_id:
reassigning_primary_email: "Reassigning a primary email to another user is not allowed."
color_scheme_color:
attributes:
hex:
invalid: "is not a valid color"
post_reply:
base:
different_topic: "Post and reply must belong to the same topic."
web_hook:
attributes:
payload_url:
invalid: "URL is invalid. URL should includes http:// or https://. And no blank is allowed."
custom_emoji:
attributes:
name:
taken: is already in use by another emoji
topic_timer:
attributes:
execute_at:
in_the_past: "must be in the future."
duration_minutes:
cannot_be_zero: "must be greater than 0."
exceeds_maximum: "cannot be more than 20 years."
translation_overrides:
attributes:
value:
invalid_interpolation_keys:
one: "The following interpolation key is invalid: %{keys}"
other: "The following interpolation keys are invalid: %{keys}"
watched_word:
attributes:
word:
too_many: "Too many words for that action"
base:
invalid_url: "Replacement URL is invalid"
invalid_tag_list: "Replacement tag list is invalid"
sidebar_section_link:
attributes:
linkable_type:
invalid: "is not valid"
uncategorized_category_name: "Uncategorized"
general_category_name: "General"
general_category_description: "Create topics here that dont fit into any other existing category."
meta_category_name: "Site Feedback"
meta_category_description: "Discussion about this site, its organization, how it works, and how we can improve it."
staff_category_name: "Staff"
staff_category_description: "Private category for staff discussions. Topics are only visible to admins and moderators."
discourse_welcome_topic:
title: "Welcome to %{site_title}! :wave:"
body: |
We are so glad you joined us.
%{site_info_quote}
Here are some things you can do to get started:
:speaking_head: **Introduce yourself** by adding your picture and information about yourself and your interests to [your profile](%{base_path}/my/preferences/account). What is one thing youd like to be asked about?
:open_book: **Get to know the community** by [browsing discussions](%{base_path}/top) that are already happening here. When you find a post interesting, informative, or entertaining, use the :heart: to show your appreciation or support!
:handshake: **Contribute** by commenting, sharing your own perspective, asking questions, or offering feedback in the discussion. Before replying or starting new topics, please review the [Community Guidelines](%{base_path}/faq).
> If you need help or have a suggestion, feel free to ask in %{feedback_category} or [contact the admins](%{base_path}/about).
admin_quick_start_title: "Admin Guide: Getting Started"
category:
topic_prefix: "About the %{category} category"
replace_paragraph: "(Replace this first paragraph with a brief description of your new category. This guidance will appear in the category selection area, so try to keep it below 200 characters.)"
post_template: "%{replace_paragraph}\n\nUse the following paragraphs for a longer description, or to establish category guidelines or rules:\n\n- Why should people use this category? What is it for?\n\n- How exactly is this different than the other categories we already have?\n\n- What should topics in this category generally contain?\n\n- Do we need this category? Can we merge with another category, or subcategory?\n"
errors:
not_found: "Category not found!"
uncategorized_parent: "Uncategorized can't have a parent category"
self_parent: "A subcategory's parent cannot be itself"
depth: "You can't nest a subcategory under another"
invalid_email_in: "'%{email}' is not a valid email address."
email_already_used_in_group: "'%{email}' is already used by the group '%{group_name}'."
email_already_used_in_category: "'%{email}' is already used by the category '%{category_name}'."
description_incomplete: "The category description post must have at least one paragraph."
permission_conflict: "Any group that is allowed to access a subcategory must also be allowed to access the parent category. The following groups have access to one of the subcategories, but no access to parent category: %{group_names}."
disallowed_topic_tags: "This topic has tags not allowed by this category: '%{tags}'"
disallowed_tags_generic: "This topic has disallowed tags."
slug_contains_non_ascii_chars: "contains non-ascii characters"
is_already_in_use: "is already in use"
move_topic_to_category_disallowed: "You cannot move this topic to a category where you do not have permission to create new topics."
cannot_delete:
uncategorized: "This category is special. It is intended as a holding area for topics that have no category; it cannot be deleted."
has_subcategories: "Can't delete this category because it has sub-categories."
topic_exists:
one: "Can't delete this category because it has %{count} topic. Oldest topic is %{topic_link}."
other: "Can't delete this category because it has %{count} topics. Oldest topic is %{topic_link}."
topic_exists_no_oldest: "Can't delete this category because topic count is %{count}."
uncategorized_description: "Topics that don't need a category, or don't fit into any other existing category."
trust_levels:
admin: "Admin"
staff: "Staff"
change_failed_explanation: "You attempted to demote %{user_name} to '%{new_trust_level}'. However their trust level is already '%{current_trust_level}'. %{user_name} will remain at '%{current_trust_level}' - if you wish to demote user lock trust level first"
post:
image_placeholder:
broken: "This image is broken"
blocked_hotlinked_title: "Image hosted on another site. Click to open in a new tab."
blocked_hotlinked: "External Image"
media_placeholder:
blocked_hotlinked_title: "Media hosted on another site. Click to open in a new tab."
blocked_hotlinked: "External Media"
hidden_bidi_character: "Bidirectional control characters can change the order in which text is rendered. This could be used to obscure malicious code."
has_likes:
one: "%{count} Like"
other: "%{count} Likes"
cannot_permanently_delete:
many_posts: "This topic has undeleted posts. Please permanently delete them before permanently deleting the topic."
wait_or_different_admin: "You must wait %{time_left} before permanently deleting this post or a different administrator must do it."
rate_limiter:
slow_down: "Youve performed this action too many times, please try again later."
too_many_requests: "Youve performed this action too many times. Please wait %{time_left} before trying again."
by_type:
first_day_replies_per_day: "We appreciate your enthusiasm, keep it up! That said, for the safety of our community, youve reached the maximum number of replies a new user can create on their first day. Please wait %{time_left} and youll be able to create more replies."
first_day_topics_per_day: "We appreciate your enthusiasm! That said, for the safety of our community, youve reached the maximum number of topics a new user can create on their first day. Please wait %{time_left} and youll be able to create more new topics."
create_topic: "Youre creating topics a bit too quickly. Please wait %{time_left} before trying again."
create_post: "Youre replying a bit too quickly. Please wait %{time_left} before trying again."
delete_post: "Youre deleting posts a bit too quickly. Please wait %{time_left} before trying again."
public_group_membership: "Youre joining/leaving groups a bit too frequently. Please wait %{time_left} before trying again."
topics_per_day: "Youve reached the maximum new topics allowed per day. You can create more new topics in %{time_left}."
pms_per_day: "Youve reached the maximum messages allowed per day. You can create more new messages in %{time_left}."
create_like: "Wow! Youve been sharing a lot of love! Youve reached the maximum number of likes within a 24 hour period, but as you gain trust levels, youll earn more daily likes. Youll be able to like posts again in %{time_left}."
create_bookmark: "Youve reached the maximum number of daily bookmarks. You can create more bookmarks in %{time_left}."
edit_post: "Youve reached the maximum number of daily edits. You can submit more edits in %{time_left}."
live_post_counts: "Youre asking for live post counts too quickly. Please wait %{time_left} before trying again."
unsubscribe_via_email: "Youve reached the maximum number of unsubscribes via email. Please wait %{time_left} before trying again."
topic_invitations_per_day: "Youve reached the maximum number of topic invitations. You can send more invitations in %{time_left}."
hours:
one: "%{count} hour"
other: "%{count} hours"
minutes:
one: "%{count} minute"
other: "%{count} minutes"
seconds:
one: "%{count} second"
other: "%{count} seconds"
short_time: "a few seconds"
datetime:
distance_in_words:
half_a_minute: "< 1m"
less_than_x_seconds:
one: "< %{count}s"
other: "< %{count}s"
x_seconds:
one: "%{count}s"
other: "%{count}s"
less_than_x_minutes:
one: "< %{count}m"
other: "< %{count}m"
x_minutes:
one: "%{count}m"
other: "%{count}m"
about_x_hours:
one: "%{count}h"
other: "%{count}h"
x_days:
one: "%{count}d"
other: "%{count}d"
about_x_months:
one: "%{count}mon"
other: "%{count}mon"
x_months:
one: "%{count}mon"
other: "%{count}mon"
about_x_years:
one: "%{count}y"
other: "%{count}y"
over_x_years:
one: "> %{count}y"
other: "> %{count}y"
almost_x_years:
one: "%{count}y"
other: "%{count}y"
distance_in_words_verbose:
half_a_minute: "just now"
less_than_x_seconds: "just now"
x_seconds:
one: "%{count} second ago"
other: "%{count} seconds ago"
less_than_x_minutes:
one: "less than %{count} minute ago"
other: "less than %{count} minutes ago"
x_minutes:
one: "%{count} minute ago"
other: "%{count} minutes ago"
about_x_hours:
one: "%{count} hour ago"
other: "%{count} hours ago"
x_days:
one: "%{count} day ago"
other: "%{count} days ago"
about_x_months:
one: "about %{count} month ago"
other: "about %{count} months ago"
x_months:
one: "%{count} month ago"
other: "%{count} months ago"
about_x_years:
one: "about %{count} year ago"
other: "about %{count} years ago"
over_x_years:
one: "over %{count} year ago"
other: "over %{count} years ago"
almost_x_years:
one: "almost %{count} year ago"
other: "almost %{count} years ago"
password_reset:
no_token: 'Oops! The link you used no longer works. You can <a href="%{base_url}/login">Log In</a> now. If you forgot your password, you can <a href="%{base_url}/password-reset">request a link</a> to reset it.'
title: "Reset Password"
success: "You successfully changed your password and are now logged in."
success_unapproved: "You successfully changed your password."
email_login:
invalid_token: 'Oops! The link you used no longer works. You can <a href="%{base_url}/login">Log In</a> now. If you forgot your password, you can <a href="%{base_url}/password-reset">request a link</a> to reset it.'
title: "Email login"
user_auth_tokens:
browser:
chrome: "Google Chrome"
discoursehub: "DiscourseHub app"
edge: "Microsoft Edge"
firefox: "Firefox"
ie: "Internet Explorer"
opera: "Opera"
safari: "Safari"
unknown: "unknown browser"
device:
android: "Android Device"
chromebook: "Chrome OS"
ipad: "iPad"
iphone: "iPhone"
ipod: "iPod"
linux: "GNU/Linux Computer"
mac: "Mac"
mobile: "Mobile Device"
windows: "Windows Computer"
unknown: "unknown device"
os:
android: "Android"
chromeos: "Chrome OS"
ios: "iOS"
linux: "Linux"
macos: "macOS"
windows: "Microsoft Windows"
unknown: "unknown operating system"
change_email:
error: "There was an error changing your email address. Perhaps the address is already in use?"
doesnt_exist: "That email address is not associated with your account."
error_staged: "There was an error changing your email address. The address is already in use by a staged user."
already_done: "Sorry, this confirmation link is no longer valid. Perhaps your email was already changed?"
confirm: "Confirm"
max_secondary_emails_error: "You have reached the maximum allowed secondary emails limit."
associated_accounts:
revoke_failed: "Failed to revoke your account with %{provider_name}."
connected: "(connected)"
activation:
action: "Click here to activate your account"
already_done: "Sorry, this account confirmation link is no longer valid. Perhaps your account is already active?"
please_continue: "Your new account is confirmed; you will be redirected to the home page."
continue_button: "Continue to %{site_name}"
welcome_to: "Welcome to %{site_name}!"
approval_required: "A moderator must manually approve your new account before you can access this forum. You'll get an email when your account is approved!"
missing_session: "We cannot detect if your account was created, please ensure you have cookies enabled."
activated: "Sorry, this account has already been activated."
admin_confirm:
title: "Confirm Admin Account"
description: "Are you sure you want <b>%{target_username} (%{target_email})</b> to be an administrator?"
grant: "Grant Admin Access"
complete: "<b>%{target_username}</b> is now an administrator."
back_to: "Return to %{title}"
reviewable_score_types:
needs_approval:
title: "Needs Approval"
post_action_types:
off_topic:
title: "Off-Topic"
description: "This post is not relevant to the current discussion as defined by the title and first post, and should probably be moved elsewhere."
short_description: "Not relevant to the discussion"
spam:
title: "Spam"
description: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic."
short_description: "This is an advertisement or vandalism"
email_title: '"%{title}" was flagged as spam'
email_body: "%{link}\n\n%{message}"
inappropriate:
title: "Inappropriate"
description: 'This post contains content that a reasonable person would consider offensive, abusive, to be hateful conduct or a violation of <a href="%{base_path}/guidelines">our community guidelines</a>.'
short_description: 'A violation of <a href="%{base_path}/guidelines">our community guidelines</a>'
illegal:
title: "Illegal"
description: "This post requires staff attention because I believe it contains content that is illegal."
short_description: "This is illegal"
email_title: 'A post in "%{title}" requires staff attention'
email_body: "%{link}\n\n%{message}"
notify_user:
title: "Send @%{username} a message"
description: "I want to talk to this person directly and personally about their post."
short_description: "I want to talk to this person directly and personally about their post."
email_title: 'Your post in "%{title}"'
email_body: "%{link}\n\n%{message}"
notify_moderators:
title: "Something Else"
description: "This post requires staff attention for another reason not listed above."
short_description: "Requires staff attention for another reason"
email_title: 'A post in "%{title}" requires staff attention'
email_body: "%{link}\n\n%{message}"
bookmark:
title: "Bookmark"
description: "Bookmark this post"
short_description: "Bookmark this post"
like:
title: "Like"
description: "Like this post"
short_description: "Like this post"
draft:
sequence_conflict_error:
title: "draft error"
description: "Draft is being edited in another window. Please reload this page."
too_many_drafts:
title: "Too many drafts"
description: "You have reached the maximum number of allowed drafts. Please delete some of [your drafts](%{base_url}/my/activity/drafts) and try again."
draft_backup:
pm_title: "Backup Drafts from ongoing topics"
pm_body: "Topic containing backup drafts"
user_activity:
no_log_search_queries: "Search queries logs are currently disabled (an administrator can enable them in site settings)."
email_settings:
pop3_authentication_error: "There was an issue with the POP3 credentials provided, check the username and password and try again."
imap_authentication_error: "There was an issue with the IMAP credentials provided, check the username and password and try again."
imap_no_response_error: "An error occurred when communicating with the IMAP server. %{message}"
smtp_authentication_error: "There was an issue with the SMTP credentials provided, check the username and password and try again."
authentication_error_gmail_app_password: 'Application-specific password required. Learn more at <a target="_blank" href="https://support.google.com/accounts/answer/185833">this Google Help article</a>'
smtp_server_busy_error: "The SMTP server is currently busy, try again later."
smtp_unhandled_error: "There was an unhandled error when communicating with the SMTP server. %{message}"
imap_unhandled_error: "There was an unhandled error when communicating with the IMAP server. %{message}"
connection_error: "There was an issue connecting with the server, check the server name and port and try again."
timeout_error: "Connection to the server timed out, check the server name and port and try again."
unhandled_error: "Unhandled error when testing email settings. %{message}"
webauthn:
validation:
invalid_type_error: "The webauthn type provided was invalid. Valid types are webauthn.get and webauthn.create."
challenge_mismatch_error: "The provided challenge does not match the challenge generated by the authentication server."
invalid_origin_error: "The origin of the authentication request does not match the server origin."
malformed_attestation_error: "There was an error decoding the attestation data."
invalid_relying_party_id_error: "The Relying Party ID of the authentication request does not match the server Relying Party ID."
user_presence_error: "User presence is required."
user_verification_error: "User verification is required."
unsupported_public_key_algorithm_error: "The provided public key algorithm is not supported by the server."
unsupported_attestation_format_error: "The attestation format is not supported by the server."
credential_id_in_use_error: "The credential ID provided is already in use."
public_key_error: "The public key verification for the credential failed."
ownership_error: "The security key is not owned by the user."
not_found_error: "A security key with the provided credential ID could not be found."
unknown_cose_algorithm_error: "The algorithm used for the security key is not recognized."
malformed_public_key_credential_error: "The provided public key is invalid."
topic_flag_types:
spam:
title: "Spam"
description: "This topic is an advertisement. It is not useful or relevant to this site, but promotional in nature."
long_form: "flagged this as spam"
short_description: "This is an advertisement"
inappropriate:
title: "Inappropriate"
description: 'This topic contains content that a reasonable person would consider offensive, abusive, to be hateful conduct or a violation of <a href="%{base_path}/guidelines">our community guidelines</a>.'
long_form: "flagged this as inappropriate"
short_description: 'A violation of <a href="%{base_path}/guidelines">our community guidelines</a>'
notify_moderators:
title: "Something Else"
description: 'This topic requires general staff attention based on the <a href="%{base_path}/guidelines">guidelines</a>, <a href="%{tos_url}">TOS</a>, or for another reason not listed above.'
long_form: "flagged this for moderator attention"
short_description: "Requires staff attention for another reason"
email_title: 'The topic "%{title}" requires moderator attention'
email_body: "%{link}\n\n%{message}"
illegal:
title: "Illegal"
description: "This topic requires staff attention because I believe it contains content that is illegal."
short_description: "This is illegal"
email_title: 'A post in "%{title}" requires staff attention'
email_body: "%{link}\n\n%{message}"
flagging:
you_must_edit: '<p>Your post was flagged by the community. Please <a href="%{path}">see your messages</a>.</p>'
user_must_edit: "<p>This post was flagged by the community and is temporarily hidden.</p>"
ignored:
hidden_content: "<p>Ignored content</p>"
archetypes:
regular:
title: "Regular Topic"
banner:
title: "Banner Topic"
message:
make: "This topic is now a banner. It will appear at the top of every page until it is dismissed by the user."
remove: "This topic is no longer a banner. It will no longer appear at the top of every page."
unsubscribed:
title: "Email preferences updated!"
description: "Email preferences for <b>%{email}</b> were updated. To change your email settings <a href='%{url}'>visit your user preferences</a>."
topic_description: "To re-subscribe to %{link}, use the notification control at the bottom or right of the topic."
private_topic_description: "To re-subscribe, use the notification control at the bottom or right of the topic."
uploads:
marked_insecure_from_theme_component_reason: "upload used in theme component"
unsubscribe:
title: "Unsubscribe"
stop_watching_topic: "Stop watching this topic, %{link}"
mute_topic: "Mute all notifications for this topic, %{link}"
unwatch_category: "Stop watching all topics in %{category}"
mailing_list_mode: "Turn off mailing list mode"
all: "Dont send me any mail from %{sitename}"
different_user_description: "You are currently logged in as a different user than the one we emailed. Please log out, or enter anonymous mode, and try again."
not_found_description: "Sorry, we couldn't find that subscription. It's possible the link in your email is too old and has expired?"
user_not_found_description: "Sorry, we couldn't find a user for this subscription. You are probably attempting to unsubscribe an account that no longer exists."
log_out: "Log Out"
submit: "Save preferences"
digest_frequency:
title: "You are receiving summary emails %{frequency}"
never_title: "You are not receiving summary emails"
select_title: "Set summary emails frequency to:"
never: "never"
every_30_minutes: "every 30 minutes"
every_hour: "hourly"
daily: "daily"
weekly: "weekly"
every_month: "every month"
every_six_months: "every six months"
user_api_key:
title: "Authorize application access"
authorize: "Authorize"
read: "read"
read_write: "read/write"
description: '"%{application_name}" is requesting the following access to your account:'
instructions: 'We just generated a new user API key for you to use with "%{application_name}", please paste the following key into your application:'
otp_description: 'Would you like to allow "%{application_name}" to access this site?'
otp_confirmation:
confirm_title: Continue to %{site_name}
logging_in_as: Logging in as %{username}
confirm_button: Finish Login
no_trust_level: "Sorry, you do not have the required trust level to access the user API"
generic_error: "Sorry, we are unable to issue user API keys, this feature may be disabled by the site admin"
scopes:
message_bus: "Live updates"
notifications: "Read and clear notifications"
push: "Push notifications to external services"
session_info: "Read user session info"
read: "Read all"
write: "Write all"
one_time_password: "Create a one-time login token"
bookmarks_calendar: "Read bookmark reminders"
user_status: "Read and update user status"
invalid_public_key: "Sorry, the public key is invalid."
invalid_auth_redirect: "Sorry, this auth_redirect host is not allowed."
invalid_token: "Missing, invalid or expired token."
flags:
errors:
already_handled: "Flag was already handled"
reports:
default:
labels:
count: Count
percent: Percent
day: Day
post_edits:
title: "Post Edits"
labels:
edited_at: Date
post: Post
editor: Editor
author: Author
edit_reason: Reason
description: "Number of new post edits."
user_flagging_ratio:
title: "User Flagging Ratio"
labels:
user: User
agreed_flags: Agreed flags
disagreed_flags: Disagreed flags
ignored_flags: Ignored flags
score: Score
description: "List of users ordered by ratio of staff response to their flags (disagreed to agreed)."
moderators_activity:
title: "Moderator Activity"
labels:
moderator: Moderator
flag_count: Flags reviewed
time_read: Time reading
topic_count: Topics created
post_count: Posts created
pm_count: PMs created
revision_count: Revisions
description: List of moderator activity including flags reviewed, reading time, topics created, posts created, personal messages created, and revisions.
flags_status:
title: "Flags Status"
values:
agreed: Agreed
disagreed: Disagreed
deferred: Deferred
no_action: No action
labels:
flag: Type
assigned: Assigned
poster: Poster
flagger: Flagger
time_to_resolution: Resolution time
description: "List of flags' statuses including type of flag, poster, flagger, and time to resolution."
visits:
title: "User Visits"
xaxis: "Day"
yaxis: "Number of visits"
description: "Number of all user visits."
signups:
title: "Signups"
xaxis: "Day"
yaxis: "Number of signups"
description: "New account registrations for this period."
new_contributors:
title: "New Contributors"
xaxis: "Day"
yaxis: "Number of new contributors"
description: "Number of users who made their first post during this period."
trust_level_growth:
title: "Trust Level growth"
xaxis:
tl1_reached: "Reached TL1"
tl2_reached: "Reached TL2"
tl3_reached: "Reached TL3"
tl4_reached: "Reached TL4"
yaxis: "Day"
description: "Number of users who increased their Trust Level during this period."
consolidated_page_views:
title: "Consolidated Pageviews"
xaxis:
page_view_crawler: "Crawlers"
page_view_anon: "Anonymous users"
page_view_logged_in: "Logged in users"
yaxis: "Day"
description: "Pageviews for logged in users, anonymous users and crawlers."
labels:
post: Post
editor: Editor
author: Author
edit_reason: Reason
consolidated_api_requests:
title: "Consolidated API Requests"
xaxis:
api: "API"
user_api: "User API"
yaxis: "Day"
description: "API requests for regular API keys and user API keys."
dau_by_mau:
title: "DAU/MAU"
xaxis: "Day"
yaxis: "DAU/MAU"
description: "Number of members that logged in in the last day divided by number of members that logged in in the last month returns a % which indicates community 'stickiness'. Aim for >20%."
daily_engaged_users:
title: "Daily Engaged Users"
xaxis: "Day"
yaxis: "Engaged Users"
description: "Number of users that have liked or posted in the last day."
profile_views:
title: "User Profile Views"
xaxis: "Day"
yaxis: "Number of user profiles viewed"
description: "Total new views of user profiles."
topics:
title: "Topics"
xaxis: "Day"
yaxis: "Number of new topics"
description: "New topics created during this period."
posts:
title: "Posts"
xaxis: "Day"
yaxis: "Number of new posts"
description: "New posts created during this period"
likes:
title: "Likes"
xaxis: "Day"
yaxis: "Number of new likes"
description: "Number of new likes."
flags:
title: "Flags"
xaxis: "Day"
yaxis: "Number of flags"
description: "Number of new flags."
bookmarks:
title: "Bookmarks"
xaxis: "Day"
yaxis: "Number of new bookmarks"
description: "Number of new topics and posts bookmarked."
users_by_trust_level:
title: "Users per Trust Level"
xaxis: "Trust Level"
yaxis: "Number of Users"
labels:
level: Level
description: "Number of users grouped by trust level."
description_link: "https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/"
users_by_type:
title: "Users per Type"
xaxis: "Type"
yaxis: "Number of Users"
labels:
type: Type
xaxis_labels:
admin: Admin
moderator: Moderator
suspended: Suspended
silenced: Silenced
description: "Number of users grouped by admin, moderator, suspended, and silenced."
trending_search:
title: Trending Search Terms
labels:
term: Term
searches: Searches
click_through: CTR
description: "Most popular search terms with their click-through rates."
emails:
title: "Emails Sent"
xaxis: "Day"
yaxis: "Number of Emails"
description: "Number of new emails sent."
user_to_user_private_messages:
title: "User-to-User (excluding replies)"
xaxis: "Day"
yaxis: "Number of messages"
description: "Number of newly initiated personal messages."
user_to_user_private_messages_with_replies:
title: "User-to-User (with replies)"
xaxis: "Day"
yaxis: "Number of messages"
description: "Number of all new personal messages and responses."
system_private_messages:
title: "System"
xaxis: "Day"
yaxis: "Number of messages"
description: "Number of personal messages sent automatically by the System."
moderator_warning_private_messages:
title: "Moderator Warning"
xaxis: "Day"
yaxis: "Number of messages"
description: "Number of warnings sent by personal messages from moderators."
notify_moderators_private_messages:
title: "Notify Moderators"
xaxis: "Day"
yaxis: "Number of messages"
description: "Number of times moderators have been privately notified by a flag."
notify_user_private_messages:
title: "Notify User"
xaxis: "Day"
yaxis: "Number of messages"
description: "Number of times users have been privately notified by a flag."
top_referrers:
title: "Top Referrers"
xaxis: "User"
num_clicks: "Clicks"
num_topics: "Topics"
labels:
user: "User"
num_clicks: "Clicks"
num_topics: "Topics"
description: "Users listed by number of clicks on links they have shared."
top_traffic_sources:
title: "Top Traffic Sources"
xaxis: "Domain"
num_clicks: "Clicks"
num_topics: "Topics"
num_users: "Users"
labels:
domain: Domain
num_clicks: Clicks
num_topics: Topics
description: "External sources that have linked to this site the most."
top_referred_topics:
title: "Top Referred Topics"
labels:
num_clicks: "Clicks"
topic: "Topic"
description: "Topics that have received the most clicks from external sources."
page_view_anon_reqs:
title: "Anonymous"
xaxis: "Day"
yaxis: "Anonymous Pageviews"
description: "Number of new pageviews by visitors not logged in to an account."
page_view_logged_in_reqs:
title: "Logged In"
xaxis: "Day"
yaxis: "Logged In Pageviews"
description: "Number of new pageviews from logged in users."
page_view_crawler_reqs:
title: "Web Crawler Pageviews"
xaxis: "Day"
yaxis: "Web Crawler Pageviews"
description: "Total pageviews from web crawlers over time."
page_view_total_reqs:
title: "Pageviews"
xaxis: "Day"
yaxis: "Total Pageviews"
description: "Number of new pageviews from all visitors."
page_view_logged_in_mobile_reqs:
title: "Logged In Pageviews"
xaxis: "Day"
yaxis: "Mobile Logged In Pageviews"
description: "Number of new pageviews from users on mobile devices and logged in to an account."
page_view_anon_mobile_reqs:
title: "Anon Pageviews"
xaxis: "Day"
yaxis: "Mobile Anon Pageviews"
description: "Number of new pageviews from visitors on a mobile device who are not logged in."
http_background_reqs:
title: "Background"
xaxis: "Day"
yaxis: "Requests used for live update and tracking"
http_2xx_reqs:
title: "Status 2xx (OK)"
xaxis: "Day"
yaxis: "Successful requests (Status 2xx)"
http_3xx_reqs:
title: "HTTP 3xx (Redirect)"
xaxis: "Day"
yaxis: "Redirect requests (Status 3xx)"
http_4xx_reqs:
title: "HTTP 4xx (Client Error)"
xaxis: "Day"
yaxis: "Client Errors (Status 4xx)"
http_5xx_reqs:
title: "HTTP 5xx (Server Error)"
xaxis: "Day"
yaxis: "Server Errors (Status 5xx)"
http_total_reqs:
title: "Total"
xaxis: "Day"
yaxis: "Total requests"
time_to_first_response:
title: "Time to first response"
xaxis: "Day"
yaxis: "Average time (hours)"
description: "Average time (in hours) of the first response to new topics."
topics_with_no_response:
title: "Topics with no response"
xaxis: "Day"
yaxis: "Total"
description: "Number of new topics created that did not receive a response."
mobile_visits:
title: "User Visits (mobile)"
xaxis: "Day"
yaxis: "Number of visits"
description: "Number of unique users who visited using a mobile device."
web_crawlers:
title: "Web Crawler User Agents"
labels:
user_agent: "User Agent"
page_views: "Pageviews"
description: "List of web crawler user agents, sorted by pageviews."
suspicious_logins:
title: "Suspicious Logins"
labels:
user: User
client_ip: Client IP
location: Location
browser: Browser
device: Device
os: Operating System
login_time: Login Time
description: "Details of new logins that differ suspiciously from previous logins."
staff_logins:
title: "Admin Logins"
labels:
user: User
location: Location
login_at: Login at
description: "List of admin login times with locations."
top_uploads:
title: "Top Uploads"
labels:
filename: Filename
extension: Extension
author: Author
filesize: File size
description: "List all uploads by extension, filesize and author."
top_ignored_users:
title: "Top Ignored / Muted Users"
labels:
ignored_user: Ignored User
ignores_count: Ignores count
mutes_count: Mutes count
description: "Users who have been muted and/or ignored by many other users."
top_users_by_likes_received:
title: "Top Users by likes received"
labels:
user: User
qtt_like: Likes Received
description: "Top 10 users who have received likes."
top_users_by_likes_received_from_inferior_trust_level:
title: "Top Users by likes received from a user with a lower trust level"
labels:
user: User
trust_level: Trust level
qtt_like: Likes Received
description: "Top 10 users in a higher trust level being liked by people in a lower trust level."
top_users_by_likes_received_from_a_variety_of_people:
title: "Top Users by likes received from a variety of people"
labels:
user: User
qtt_like: Likes Received
description: "Top 10 users who have had likes from a wide range of people."
dashboard:
group_email_credentials_warning: 'There was an issue with the email credentials for the group <a href="%{base_path}/g/%{group_name}/manage/email">%{group_full_name}</a>. No emails will be sent from the group inbox until this problem is addressed. %{error}'
rails_env_warning: "Your server is running in %{env} mode."
host_names_warning: "Your config/database.yml file is using the default localhost hostname. Update it to use your site's hostname."
sidekiq_warning: 'Sidekiq is not running. Many tasks, like sending emails, are executed asynchronously by Sidekiq. Please ensure at least one Sidekiq process is running. <a href="https://github.com/mperham/sidekiq" target="_blank">Learn about Sidekiq here</a>.'
queue_size_warning: "The number of queued jobs is %{queue_size}, which is high. This could indicate a problem with the Sidekiq process(es), or you may need to add more Sidekiq workers."
memory_warning: "Your server is running with less than 1 GB of total memory. At least 1 GB of memory is recommended."
google_oauth2_config_warning: 'The server is configured to allow signup and login with Google OAuth2 (enable_google_oauth2_logins), but the client id and client secret values are not set. Go to <a href="%{base_path}/admin/site_settings">the Site Settings</a> and update the settings. <a href="https://meta.discourse.org/t/configuring-google-login-for-discourse/15858" target="_blank">See this guide to learn more</a>.'
facebook_config_warning: 'The server is configured to allow signup and login with Facebook (enable_facebook_logins), but the app id and app secret values are not set. Go to <a href="%{base_path}/admin/site_settings">the Site Settings</a> and update the settings. <a href="https://meta.discourse.org/t/configuring-facebook-login-for-discourse/13394" target="_blank">See this guide to learn more</a>.'
twitter_config_warning: 'The server is configured to allow signup and login with Twitter (enable_twitter_logins), but the key and secret values are not set. Go to <a href="%{base_path}/admin/site_settings">the Site Settings</a> and update the settings. <a href="https://meta.discourse.org/t/configuring-twitter-login-for-discourse/13395" target="_blank">See this guide to learn more</a>.'
github_config_warning: 'The server is configured to allow signup and login with GitHub (enable_github_logins), but the client id and secret values are not set. Go to <a href="%{base_path}/admin/site_settings">the Site Settings</a> and update the settings. <a href="https://meta.discourse.org/t/configuring-github-login-for-discourse/13745" target="_blank">See this guide to learn more</a>.'
s3_config_warning: 'The server is configured to upload files to S3, but at least one the following setting is not set: s3_access_key_id, s3_secret_access_key, s3_use_iam_profile, or s3_upload_bucket. Go to <a href="%{base_path}/admin/site_settings">the Site Settings</a> and update the settings. <a href="https://meta.discourse.org/t/how-to-set-up-image-uploads-to-s3/7229" target="_blank">See "How to set up image uploads to S3?" to learn more</a>.'
s3_backup_config_warning: 'The server is configured to upload backups to S3, but at least one the following setting is not set: s3_access_key_id, s3_secret_access_key, s3_use_iam_profile, or s3_backup_bucket. Go to <a href="%{base_path}/admin/site_settings">the Site Settings</a> and update the settings. <a href="https://meta.discourse.org/t/how-to-set-up-image-uploads-to-s3/7229" target="_blank">See "How to set up image uploads to S3?" to learn more</a>.'
s3_cdn_warning: 'The server is configured to upload files to S3, but there is no S3 CDN configured. This can lead to expensive S3 costs and slower site performance. <a href="https://meta.discourse.org/t/-/148916" target="_blank">See "Using Object Storage for Uploads" to learn more</a>.'
image_magick_warning: 'The server is configured to create thumbnails of large images, but ImageMagick is not installed. Install ImageMagick using your favorite package manager or <a href="https://www.imagemagick.org/script/download.php" target="_blank">download the latest release</a>.'
failing_emails_warning: 'There are %{num_failed_jobs} email jobs that failed. Check your app.yml and ensure that the mail server settings are correct. <a href="%{base_path}/sidekiq/retries" target="_blank">See the failed jobs in Sidekiq</a>.'
subfolder_ends_in_slash: "Your subfolder setup is incorrect; the DISCOURSE_RELATIVE_URL_ROOT ends in a slash."
outdated_translations_warning: "Some of your translation overrides are out of date. Please check your <a href='%{base_path}/admin/customize/site_texts?outdated=true'>text customizations</a>."
email_polling_errored_recently:
one: "Email polling has generated an error in the past 24 hours. Look at <a href='%{base_path}/logs' target='_blank'>the logs</a> for more details."
other: "Email polling has generated %{count} errors in the past 24 hours. Look at <a href='%{base_path}/logs' target='_blank'>the logs</a> for more details."
missing_mailgun_api_key: "The server is configured to send emails via Mailgun but you haven't provided an API key used to verify the webhook messages."
bad_favicon_url: "The favicon is failing to load. Check your favicon setting in <a href='%{base_path}/admin/site_settings'>Site Settings</a>."
poll_pop3_timeout: "Connection to the POP3 server is timing out. Incoming email could not be retrieved. Please check your <a href='%{base_path}/admin/site_settings/category/email'>POP3 settings</a> and service provider."
poll_pop3_auth_error: "Connection to the POP3 server is failing with an authentication error. Please check your <a href='%{base_path}/admin/site_settings/category/email'>POP3 settings</a>."
force_https_warning: "Your website is using SSL. But `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` is not yet enabled in your site settings."
out_of_date_themes: "Updates are available for the following themes:"
unreachable_themes: "We were unable to check for updates on the following themes:"
watched_word_regexp_error: "The regular expression for '%{action}' watched words is invalid. Please check your <a href='%{base_path}/admin/customize/watched_words'>Watched Word settings</a>, or disable the 'watched words regular expressions' site setting."
v3_analytics_deprecated: "Your Discourse is currently using Google Analytics 3, which will no longer be supported after July 2023. <a href='https://meta.discourse.org/t/260498'>Upgrade to Google Analytics 4</a> now to continue receiving valuable insights and analytics for your website's performance."
category_style_deprecated: "Your Discourse is currently using a deprecated category style which will be removed before the final beta release of Discourse 3.2. Please refer to <a href='https://meta.discourse.org/t/282441'>Moving to a Single Category Style Site Setting</a> for instructions on how to keep your selected category style."
ember_version_warning: "Your site is running with the unsupported EMBER_VERSION=3 configuration. This may lead to unexpected issues with themes/plugins. Please remove the EMBER_VERSION configuration from your app.yml file and rebuild. See <a href='https://meta.discourse.org/t/287211'>https://meta.discourse.org/t/287211</a> for more information."
back_from_logster_text: "Back to site"
site_settings:
allow_bulk_invite: "Allow bulk invites by uploading a CSV file"
disabled: "disabled"
display_local_time_in_user_card: "Display the local time based on a user's timezone when their user card is opened."
censored_words: "Words that will be automatically replaced with &#9632;&#9632;&#9632;&#9632;"
delete_old_hidden_posts: "Auto-delete any hidden posts that stay hidden for more than 30 days."
default_locale: "The default language of this Discourse instance. You can replace the text of system generated categories and topics at <a href='%{base_path}/admin/customize/site_texts' target='_blank'>Customize / Text</a>."
allow_user_locale: "Allow users to choose their own language interface preference"
set_locale_from_accept_language_header: "set interface language for anonymous users from their web browser's language headers"
support_mixed_text_direction: "Support mixed left-to-right and right-to-left text directions."
min_post_length: "Minimum allowed post length in characters (excluding personal messages)"
min_first_post_length: "Minimum allowed first post (topic body) length (excluding personal messages)"
min_personal_message_post_length: "Minimum allowed post length in characters for messages (both first post and replies)"
max_post_length: "Maximum allowed post length in characters"
topic_featured_link_enabled: "Enable posting a link with topics."
show_topic_featured_link_in_digest: "Show the topic featured link in the digest email."
min_topic_views_for_delete_confirm: "Minimum amount of views a topic must have for a confirmation popup to appear when it gets deleted"
min_topic_title_length: "Minimum allowed topic title length in characters"
max_topic_title_length: "Maximum allowed topic title length in characters"
min_personal_message_title_length: "Minimum allowed title length for a message in characters"
max_emojis_in_title: "Maximum allowed emojis in topic title"
min_search_term_length: "Minimum valid search term length in characters"
search_tokenize_chinese: "Force search to tokenize Chinese even on non Chinese sites"
search_tokenize_japanese: "Force search to tokenize Japanese even on non Japanese sites"
search_prefer_recent_posts: "If searching your large forum is slow, this option tries an index of more recent posts first"
search_recent_posts_size: "How many recent posts to keep in the index"
log_search_queries: "Log search queries performed by users"
search_query_log_max_size: "Maximum amount of search queries to keep"
search_query_log_max_retention_days: "Maximum amount of time to keep search queries, in days."
search_ignore_accents: "Ignore accents when searching for text."
search_default_sort_order: "Default sort order for full-page search"
category_search_priority_low_weight: "Weight applied to ranking for low category search priority."
category_search_priority_high_weight: "Weight applied to ranking for high category search priority."
default_composer_category: "The category used to pre-populate the category dropdown when creating a new topic."
allow_uncategorized_topics: "Allow topics to be created without a category. WARNING: If there are any uncategorized topics, you must recategorize them before turning this off."
allow_duplicate_topic_titles: "Allow topics with identical, duplicate titles."
allow_duplicate_topic_titles_category: "Allow topics with identical, duplicate titles if the category is different. allow_duplicate_topic_titles must be disabled."
unique_posts_mins: "How many minutes before a user can make a post with the same content again"
educate_until_posts: "When the user starts typing their first (n) new posts, show the pop-up new user education panel in the composer."
title: "The name of this site. Visible to all visitors including anonymous users."
site_description: "Describe this site in one sentence. Visible to all visitors including anonymous users."
short_site_description: "Short description in a few words. Visible to all visitors including anonymous users."
contact_email: "Email address of key contact responsible for this site. Used for critical notifications, and also displayed on <a href='%{base_path}/about' target='_blank'>/about</a>. Visible to anonymous users on public sites."
contact_url: "Contact URL for this site. When present, replaces email address on <a href='%{base_path}/about' target='_blank'>/about</a> and visible to anonymous users on public sites."
crawl_images: "Retrieve images from remote URLs to insert the correct width and height dimensions."
download_remote_images_to_local: "Convert remote (hotlinked) images to local images by downloading them; This preserves content even if the images are removed from the remote site in future."
download_remote_images_threshold: "Minimum disk space necessary to download remote images locally (in percent)"
disabled_image_download_domains: "Remote images will never be downloaded from these domains. Pipe-delimited list."
block_hotlinked_media: "Prevent users from introducing remote (hotlinked) media in their posts. Remote media which is not downloaded via 'download_remote_images_to_local' will be replaced with a placeholder link."
block_hotlinked_media_exceptions: "A list of base URLs which are exempt from the block_hotlinked_media setting. Include the protocol (e.g. https://example.com)."
editing_grace_period: "For (n) seconds after posting, editing will not create a new version in the post history."
editing_grace_period_max_diff: "Maximum number of character changes allowed in editing grace period, if more changed store another post revision (trust level 0 and 1)"
editing_grace_period_max_diff_high_trust: "Maximum number of character changes allowed in editing grace period, if more changed store another post revision (trust level 2 and up)"
staff_edit_locks_post: "Posts will be locked from editing if they are edited by staff members"
post_edit_time_limit: "A tl0 or tl1 author can edit their post for (n) minutes after posting. Set to 0 for forever."
tl2_post_edit_time_limit: "A tl2+ author can edit their post for (n) minutes after posting. Set to 0 for forever."
edit_history_visible_to_public: "Allow everyone to see previous versions of an edited post. When disabled, only staff members can view."
delete_removed_posts_after: "Posts removed by the author will be automatically deleted after (n) hours. If set to 0, posts will be deleted immediately."
notify_users_after_responses_deleted_on_flagged_post: "When a post is flagged and then removed, all users that responded to the post and had their responses removed will be notified."
max_image_width: "Maximum thumbnail width of images in a post. Images with a larger width will be resized and lightboxed."
max_image_height: "Maximum thumbnail height of images in a post. Images with a larger height will be resized and lightboxed."
responsive_post_image_sizes: "Resize lightbox preview images to allow for high DPI screens of the following pixel ratios. Remove all values to disable responsive images."
fixed_category_positions: "If checked, you will be able to arrange categories into a fixed order. If unchecked, categories are listed in order of activity."
fixed_category_positions_on_create: "If checked, category ordering will be maintained on topic creation dialog (requires fixed_category_positions)."
add_rel_nofollow_to_user_content: 'Add rel nofollow to all submitted user content, except for internal links (including parent domains). If you change this, you must rebake all posts with: "rake posts:rebake"'
exclude_rel_nofollow_domains: "A list of domains where nofollow should not be added to links. example.com will automatically allow sub.example.com as well. As a minimum, you should add the domain of this site to help web crawlers find all content. If other parts of your website are at other domains, add those too."
max_form_template_title_length: "Maximum allowed length for form template titles."
max_form_template_content_length: "Maximum allowed length for form template content."
post_excerpt_maxlength: "Maximum length of a post excerpt / summary."
topic_excerpt_maxlength: "Maximum length of a topic excerpt / summary, generated from the first post in a topic."
default_subcategory_on_read_only_category: "Enables 'New Topic' button and selects a default subcategory to post on categories where the user is not allowed to create a new topic."
show_pinned_excerpt_mobile: "Show excerpt on pinned topics in mobile view."
show_pinned_excerpt_desktop: "Show excerpt on pinned topics in desktop view."
post_onebox_maxlength: "Maximum length of a oneboxed Discourse post in characters."
blocked_onebox_domains: "A list of domains that will never be oneboxed e.g. wikipedia.org\n(Wildcard symbols * ? not supported)"
block_onebox_on_redirect: "Block onebox for URLs that redirect."
allowed_inline_onebox_domains: "A list of domains that will be oneboxed in miniature form if linked without a title"
enable_inline_onebox_on_all_domains: "Ignore allowed_inline_onebox_domains site setting and allow inline onebox on all domains."
force_custom_user_agent_hosts: "Hosts for which to use the custom onebox user agent on all requests. (Especially useful for hosts that limit access by user agent)."
max_oneboxes_per_post: "Maximum number of oneboxes in a post."
facebook_app_access_token: "A token generated from your Facebook app ID and secret. Used to generate Instagram oneboxes."
logo: "The logo image at the top left of your site. Use a wide rectangular image with a height of 120 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown."
logo_small: "The small logo image at the top left of your site, seen when scrolling down. Use a square 120 × 120 image. If left blank, a home glyph will be shown."
digest_logo: "The alternate logo image used at the top of your site's email summary. Use a wide rectangle image. Don't use an SVG image. If left blank, the image from the `logo` setting will be used."
mobile_logo: "The logo used on mobile version of your site. Use a wide rectangular image with a height of 120 and an aspect ratio greater than 3:1. If left blank, the image from the `logo` setting will be used."
logo_dark: "Dark scheme alternative for the 'logo' site setting."
logo_small_dark: "Dark scheme alternative for the 'logo small' site setting."
mobile_logo_dark: "Dark scheme alternative for the 'mobile logo' site setting."
large_icon: "Image used as the base for other metadata icons. Should ideally be larger than 512 x 512. If left blank, logo_small will be used."
manifest_icon: "Image used as logo/splash image on Android. Will be automatically resized to 512 × 512. If left blank, large_icon will be used."
manifest_screenshots: "Screenshots that showcase your instance features and functionality on its install prompt page. All images should be local uploads and of the same dimensions."
favicon: "A favicon for your site, see <a href='https://en.wikipedia.org/wiki/Favicon' target='_blank'>https://en.wikipedia.org/wiki/Favicon</a>. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, large_icon will be used."
apple_touch_icon: "Icon used for Apple touch devices. A transparent background is not reccomended. Will be automatically resized to 180x180. If left blank, large_icon will be used."
opengraph_image: "Default opengraph image, used when the page has no other suitable image. If left blank, large_icon will be used"
twitter_summary_large_image: "Twitter card 'summary large image' (should be at least 280 in width, and at least 150 in height, cannot be .svg). If left blank, regular card metadata is generated using the opengraph_image, as long as that is not also a .svg"
notification_email: "The from: email address used when sending all essential system emails. The domain specified here must have SPF, DKIM and reverse PTR records set correctly for email to arrive."
email_custom_headers: "A pipe-delimited list of custom email headers"
email_subject: "Customizable subject format for standard emails. See <a href='https://meta.discourse.org/t/customize-subject-format-for-standard-emails/20801' target='_blank'>https://meta.discourse.org/t/customize-subject-format-for-standard-emails/20801</a>"
detailed_404: "Provides more details to users about why they cant access a particular topic. Note: This is less secure because users will know if a URL links to a valid topic."
enforce_second_factor: "Require users to enable two-factor authentication before they can access the Discourse UI. Select 'all' to enforce it to all users. Select 'staff' to enforce it to staff users only. This setting does not affect API or 'DiscourseConnect provider' authentication."
force_https: "Force your site to use HTTPS only. WARNING: do NOT enable this until you verify HTTPS is fully set up and working absolutely everywhere! Did you check your CDN, all social logins, and any external logos / dependencies to make sure they are all HTTPS compatible, too?"
same_site_cookies: "Use same site cookies, they eliminate all Cross Site Request Forgery vectors on supported browsers (Lax or Strict). Warning: Strict will only work on sites that force login and use an external auth method."
summary_score_threshold: "The minimum score required for a post to be included in 'Summarize This Topic'"
summary_posts_required: "Minimum posts in a topic before 'Summarize This Topic' is enabled. Changes to this setting will be applied retroactively within a week."
summary_likes_required: "Minimum likes in a topic before 'Summarize This Topic' is enabled. Changes to this setting will be applied retroactively within a week."
summary_percent_filter: "When a user clicks 'Summarize This Topic', show the top % of posts"
summary_max_results: "Maximum posts returned by 'Summarize This Topic'"
summary_timeline_button: "Show a 'Summarize' button in the timeline"
summarization_strategy: "Additional ways to summarize content registered by plugins"
custom_summarization_allowed_groups: "Groups allowed to summarize contents using the `summarization_strategy`."
enable_personal_messages: "DEPRECATED, use the 'personal message enabled groups' setting instead. Allow trust level 1 (configurable via min trust to send messages) users to create messages and reply to messages. Note that staff can always send messages no matter what."
personal_message_enabled_groups: "Allow users within these groups to create messages and reply to messages. Trust level groups include all trust levels above that number, for example choosing trust_level_1 also allows trust_level_2, 3, 4 users to send PMs. Note that staff can always send messages no matter what."
enable_system_message_replies: "Allows users to reply to system messages, even if personal messages are disabled"
enable_chunked_encoding: "Enable chunked encoding responses by the server. This feature works on most setups however some proxies may buffer, causing responses to be delayed"
long_polling_base_url: "Base URL used for long polling (when a CDN is serving dynamic content, be sure to set this to origin pull) eg: http://origin.site.com"
polling_interval: "When not long polling, how often should logged on clients poll in milliseconds"
anon_polling_interval: "How often should anonymous clients poll in milliseconds"
background_polling_interval: "How often should the clients poll in milliseconds (when the window is in the background)"
hide_post_sensitivity: "The likelihood that a flagged post will be hidden"
silence_new_user_sensitivity: "The likelihood that a new user will be silenced based on spam flags"
auto_close_topic_sensitivity: "The likelihood that a flagged topic will be automatically closed"
cooldown_minutes_after_hiding_posts: "Number of minutes a user must wait before they can edit a post hidden via community flagging"
max_topics_in_first_day: "The maximum number of topics a user is allowed to create in the 24 hour period after creating their first post"
max_replies_in_first_day: "The maximum number of replies a user is allowed to create in the 24 hour period after creating their first post"
tl2_additional_likes_per_day_multiplier: "Increase limit of likes per day for tl2 (member) by multiplying with this number"
tl3_additional_likes_per_day_multiplier: "Increase limit of likes per day for tl3 (regular) by multiplying with this number"
tl4_additional_likes_per_day_multiplier: "Increase limit of likes per day for tl4 (leader) by multiplying with this number"
tl2_additional_edits_per_day_multiplier: "Increase limit of edits per day for tl2 (member) by multiplying with this number"
tl3_additional_edits_per_day_multiplier: "Increase limit of edits per day for tl3 (regular) by multiplying with this number"
tl4_additional_edits_per_day_multiplier: "Increase limit of edits per day for tl4 (leader) by multiplying with this number"
tl2_additional_flags_per_day_multiplier: "Increase limit of flags per day for tl2 (member) by multiplying with this number"
tl3_additional_flags_per_day_multiplier: "Increase limit of flags per day for tl3 (regular) by multiplying with this number"
tl4_additional_flags_per_day_multiplier: "Increase limit of flags per day for tl4 (leader) by multiplying with this number"
num_users_to_silence_new_user: "If a new user's posts exceed the hide_post_sensitivity setting, and has spam flags from this many different users, hide all their posts and prevent future posting. 0 to disable."
num_tl3_flags_to_silence_new_user: "If a new user's posts get this many flags from num_tl3_users_to_silence_new_user different trust level 3 users, hide all their posts and prevent future posting. 0 to disable."
num_tl3_users_to_silence_new_user: "If a new user's posts get num_tl3_flags_to_silence_new_user flags from this many different trust level 3 users, hide all their posts and prevent future posting. 0 to disable."
notify_mods_when_user_silenced: "If a user is automatically silenced, send a message to all moderators."
flag_sockpuppets: "If a new user replies to a topic from the same IP address as the user who started the topic, flag both of their posts as potential spam."
traditional_markdown_linebreaks: "Use traditional linebreaks in Markdown, which require two trailing spaces for a linebreak."
enable_markdown_typographer: "Use typography rules to improve readability of text: replace straight quotes ' with curly quotes , (c) (tm) with symbols, -- with emdash , etc"
enable_markdown_linkify: "Automatically treat text that looks like a link as a link: www.example.com and https://example.com will be automatically linked"
markdown_linkify_tlds: "List of top level domains that get automatically treated as links"
markdown_typographer_quotation_marks: "List of double and single quotes replacement pairs"
post_undo_action_window_mins: "Number of minutes users are allowed to undo recent actions on a post (like, flag, etc)."
must_approve_users: "Staff must approve all new user accounts before they are allowed to access the site."
invite_code: "User must type this code to be allowed account registration, ignored when empty (case-insensitive)"
approve_suspect_users: "Add suspicious users to the review queue. Suspicious users have entered a bio/website but have no reading activity."
review_every_post: "Send every new post to the review queue for moderation. Posts are still published immediately and are visible to all users. WARNING! Not recommended for high-traffic sites due to the potential volume of posts needing review."
pending_users_reminder_delay_minutes: "Notify moderators if new users have been waiting for approval for longer than this many minutes. Set to -1 to disable notifications."
persistent_sessions: "Users will remain logged in when the web browser is closed"
maximum_session_age: "User will remain logged in for n hours since last visit"
ga_version: "Version of Google Universal Analytics to use: v3 (analytics.js), v4 (gtag)"
ga_universal_tracking_code: "Google Universal Analytics tracking code ID, eg: UA-12345678-9; see <a href='https://google.com/analytics' target='_blank'>https://google.com/analytics</a>"
ga_universal_domain_name: "Google Universal Analytics domain name, eg: mysite.com; see <a href='https://google.com/analytics' target='_blank'>https://google.com/analytics</a>"
ga_universal_auto_link_domains: "Enable Google Universal Analytics cross-domain tracking. Outgoing links to these domains will have the client id added to them. See <a href='https://support.google.com/analytics/answer/1034342?hl=en' target='_blank'>Google's Cross-Domain Tracking guide.</a>"
gtm_container_id: "Google Tag Manager container id. eg: GTM-ABCD12E. <br/>Note: To use GTM when the Content Security Policy (CSP) is enabled, see the documentation on meta: <a href='https://meta.discourse.org/t/use-nonces-in-google-tag-manager-scripts/188296' target='_blank'>Use nonces in Google Tag Manager scripts</a>."
enable_escaped_fragments: "Fall back to Google's Ajax-Crawling API if no webcrawler is detected. See <a href='https://developers.google.com/webmasters/ajax-crawling/docs/learn-more' target='_blank'>https://developers.google.com/webmasters/ajax-crawling/docs/learn-more</a>"
moderators_manage_categories_and_groups: "Allow moderators to create and manage categories and groups"
moderators_change_post_ownership: "Allow moderators to change post ownership"
cors_origins: "Allowed origins for cross-origin requests (CORS). Each origin must include http:// or https://. The DISCOURSE_ENABLE_CORS env variable must be set to true to enable CORS."
use_admin_ip_allowlist: "Admins can only log in if they are at an IP address defined in the Screened IPs list (Admin > Logs > Screened Ips)."
blocked_ip_blocks: "A list of private IP blocks that should never be crawled by Discourse"
allowed_internal_hosts: "A list of internal hosts that discourse can safely crawl for oneboxing and other purposes"
allowed_onebox_iframes: "A list of iframe src domains which are allowed via Onebox embeds. `*` will allow all default Onebox engines."
allowed_iframes: "A list of iframe src domain prefixes that discourse can safely allow in posts"
allowed_crawler_user_agents: "User agents of web crawlers that should be allowed to access the site. WARNING! SETTING THIS WILL DISALLOW ALL CRAWLERS NOT LISTED HERE!"
blocked_crawler_user_agents: "Unique case insensitive word in the user agent string identifying web crawlers that should not be allowed to access the site. Does not apply if allowlist is defined."
slow_down_crawler_user_agents: 'User agents of web crawlers that should be rate limited as configured in the "slow down crawler rate" setting. Each value must be at least 3 characters long.'
slow_down_crawler_rate: "If slow_down_crawler_user_agents is specified this rate will apply to all the crawlers (number of seconds delay between requests)"
content_security_policy: "Enable Content-Security-Policy (CSP)"
content_security_policy_report_only: "Enable Content-Security-Policy-Report-Only (CSP)"
content_security_policy_collect_reports: "Enable CSP violation report collection at /csp_reports"
content_security_policy_frame_ancestors: "Restrict who can embed this site in iframes via CSP. Control allowed hosts on <a href='%{base_path}/admin/customize/embedding'>Embedding</a>"
content_security_policy_script_src: "Additional allowlisted script sources. The current host and CDN are included by default. See <a href='https://meta.discourse.org/t/mitigate-xss-attacks-with-content-security-policy/104243' target='_blank'>Mitigate XSS Attacks with Content Security Policy.</a> (CSP)"
content_security_policy_strict_dynamic: "EXPERIMENTAL: Use a strict-dynamic content security policy. This is more modern and more flexible than our default CSP configuration. This is fully functional, but not yet tested with all themes and plugins."
invalidate_inactive_admin_email_after_days: "Admin accounts that have not visited the site in this number of days will need to re-validate their email address before logging in. Set to 0 to disable."
include_secure_categories_in_tag_counts: "When enabled, count of topics for a tag will include topics that are in read restricted categories for all users. When disabled, normal users are only shown a count of topics for a tag where all the topics are in public categories."
display_personal_messages_tag_counts: "When enabled, count of personal messages tagged with a given tag will be displayed."
top_menu: "Determine which items appear in the homepage navigation, and in what order."
post_menu: "Determine which items appear on the post menu, and in what order."
post_menu_hidden_items: "The menu items to hide by default in the post menu unless an expansion ellipsis is clicked on."
share_links: "Determine which items appear on the share dialog, and in what order."
allow_username_in_share_links: "Allow usernames to be included in share links. This is useful to reward badges based on unique visitors."
site_contact_username: "A valid staff username to send all automated messages from. If left blank the default System account will be used."
site_contact_group_name: "A valid name of a group that gets invited to all automatically sent private messages."
send_welcome_message: "Send all new users a welcome message with a quick start guide."
send_tl1_welcome_message: "Send new trust level 1 users a welcome message."
send_tl2_promotion_message: "Send new trust level 2 users a message about promotion."
suppress_reply_directly_below: "Don't show the expandable reply count on a post when there is only a single reply directly below this post."
suppress_reply_directly_above: "Don't show the expandable in-reply-to on a post when there is only a single reply directly above this post."
remove_full_quote: "Automatically remove quotation if (a) it appears at the start of a post, (b) it is of an entire post, and (c) it is from the immediately preceding post. For details, see <a href='https://meta.discourse.org/t/removal-of-full-quotes-from-direct-replies/106857' target='_blank'>Removal of full quotes from direct replies</a>"
suppress_reply_when_quoting: "Don't show the expandable in-reply-to on a post when post quotes reply."
max_reply_history: "Maximum number of replies to expand when expanding in-reply-to"
topics_per_period_in_top_summary: "Number of top topics shown in the default top topics summary."
topics_per_period_in_top_page: "Number of top topics shown on the expanded 'Show More' top topics."
redirect_users_to_top_page: "Automatically redirect new and long absent users to the top page."
top_page_default_timeframe: "Default top page time period for anonymous users (automatically adjusts for logged in users based on their last visit)."
moderators_view_emails: "Allow moderators to view user emails"
prioritize_username_in_ux: "Show username first on user page, user card and posts (when disabled name is shown first)"
enable_rich_text_paste: "Enable automatic HTML to Markdown conversion when pasting text into the composer. (Experimental)"
send_old_credential_reminder_days: "Remind about old credentials after days"
email_token_valid_hours: "Forgot password / activate account tokens are valid for (n) hours."
enable_badges: "Enable the badge system"
max_favorite_badges: "Maximum number of badges that user can select"
whispers_allowed_groups: "Allow private communication within topics for members of specified groups."
hidden_post_visible_groups: "Allow members of these groups to view hidden posts. Staff users can always view hidden posts."
allow_index_in_robots_txt: "Specify in robots.txt that this site is allowed to be indexed by web search engines. In exceptional cases you can permanently <a href='%{base_path}/admin/customize/robots'>override robots.txt</a>."
blocked_email_domains: "A pipe-delimited list of email domains that users are not allowed to register accounts with. Subdomains are automatically handled for the specified domains. Wildcard symbols * and ? are not supported. Example: mailinator.com|trashmail.net"
allowed_email_domains: "A pipe-delimited list of email domains that users MUST register accounts with. Subdomains are automatically handled for the specified domains. Wildcard symbols * and ? are not supported. WARNING: Users with email domains other than those listed will not be allowed!"
normalize_emails: "Check if normalized email is unique. Normalized email removes all dots from the username and everything between + and @ symbols."
auto_approve_email_domains: "Users with email addresses from this list of domains will be automatically approved. Subdomains are automatically handled for the specified domains. Wildcard symbols * and ? are not supported."
hide_email_address_taken: "Don't inform users that an account exists with a given email address during signup or during forgot password flow. Require full email for 'forgotten password' requests."
log_out_strict: "When logging out, log out ALL sessions for the user on all devices"
version_checks: "Ping the Discourse Hub for version updates and show new version messages on the <a href='%{base_path}/admin' target='_blank'>/admin</a> dashboard"
new_version_emails: "Send an email to the contact_email address when a new version of Discourse is available."
include_in_discourse_discover: "Let CDCK, Inc. (“Discourse”) feature this community on the <a href='https://www.discourse.org/discover'>Discover page</a> and in Discourse marketing materials. By doing so, you will share community metadata and anonymized usage statistics with Discourse. Please note that the promotion of communities is at Discourses discretion."
invite_expiry_days: "How long user invitation keys are valid, in days"
invite_only: "All new users must be explicitly invited by trusted users or staff. Public registration is disabled."
login_required: "Require authentication to read content on this site, disallow anonymous access."
min_username_length: "Minimum username length in characters. WARNING: if any existing users or groups have names shorter than this, your site will break!"
max_username_length: "Maximum username length in characters. WARNING: if any existing users or groups have names longer than this, your site will break!"
unicode_usernames: "Allow usernames and group names to contain Unicode letters and numbers."
allowed_unicode_username_characters: "Regular expression to allow only some Unicode characters within usernames. ASCII letters and numbers will always be allowed and don't need to be included in the allowlist."
reserved_usernames: "Usernames for which signup is not allowed. Wildcard symbol * can be used to match any character zero or more times."
min_password_length: "Minimum password length."
min_admin_password_length: "Minimum password length for Admin."
password_unique_characters: "Minimum number of unique characters that a password must have."
block_common_passwords: "Don't allow passwords that are in the 10,000 most common passwords."
auth_skip_create_confirm: When signing up via external auth, skip the create account popup. Best used alongside auth_overrides_email, auth_overrides_username and auth_overrides_name.
auth_immediately: "Automatically redirect to the external login system without user interaction. This only takes effect when login_required is true, and there is only one external authentication method"
enable_discourse_connect: "Enable sign on via DiscourseConnect (formerly 'Discourse SSO') (WARNING: USERS' EMAIL ADDRESSES *MUST* BE VALIDATED BY THE EXTERNAL SITE!)"
verbose_discourse_connect_logging: "Log verbose DiscourseConnect related diagnostics to <a href='%{base_path}/logs' target='_blank'>/logs</a>"
enable_discourse_connect_provider: "Implement DiscourseConnect (formerly 'Discourse SSO') provider protocol at the /session/sso_provider endpoint, requires discourse_connect_provider_secrets to be set"
discourse_connect_url: "URL of DiscourseConnect endpoint (must include http:// or https://, and must not include a trailing slash)"
discourse_connect_secret: "Secret string used to cryptographically authenticate DiscourseConnect information, be sure it is 10 characters or longer"
discourse_connect_provider_secrets: "A list of domain-secret pairs that are using DiscourseConnect. Make sure DiscourseConnect secret is 10 characters or longer. Wildcard symbol * can be used to match any domain or only a part of it (e.g. *.example.com)."
discourse_connect_overrides_bio: "Overrides user bio in user profile and prevents user from changing it"
discourse_connect_overrides_groups: "Synchronize all manual group membership with groups specified in the groups attribute (WARNING: if you do not specify groups all manual group membership will be cleared for user)"
auth_overrides_email: "Overrides local email with external site email on every login, and prevent local changes. Applies to all authentication providers. (WARNING: discrepancies can occur due to normalization of local emails)"
auth_overrides_username: "Overrides local username with external site username on every login, and prevent local changes. Applies to all authentication providers. (WARNING: discrepancies can occur due to differences in username length/requirements)"
auth_overrides_name: "Overrides local full name with external site full name on every login, and prevent local changes. Applies to all authentication providers."
discourse_connect_overrides_avatar: "Overrides user avatar with value from DiscourseConnect payload. If enabled, users will not be allowed to upload avatars on Discourse."
discourse_connect_overrides_location: "Overrides user location with value from DiscourseConnect payload and prevent local changes."
discourse_connect_overrides_website: "Overrides user website with value from DiscourseConnect payload and prevent local changes."
discourse_connect_overrides_profile_background: "Overrides user profile background with value from DiscourseConnect payload."
discourse_connect_overrides_card_background: "Overrides user card background with value from DiscourseConnect payload."
discourse_connect_not_approved_url: "Redirect unapproved DiscourseConnect accounts to this URL"
discourse_connect_allowed_redirect_domains: "Restrict to these domains for return_paths provided by DiscourseConnect (by default return path must be on current site). Use * to allow any domain for return path. Subdomain wildcards (`*.foobar.com`) are not allowed."
enable_local_logins: "Enable local username and password login based accounts. WARNING: if disabled, you may be unable to log in if you have not previously configured at least one alternate login method."
enable_local_logins_via_email: "Allow users to request a one-click login link to be sent to them via email."
allow_new_registrations: "Allow new user registrations. Uncheck this to prevent anyone from creating a new account."
enable_signup_cta: "Show a notice to returning anonymous users prompting them to sign up for an account."
enable_google_oauth2_logins: "Enable Google Oauth2 authentication. This is the method of authentication that Google currently supports. Requires key and secret. See <a href='https://meta.discourse.org/t/15858' target='_blank'>Configuring Google login for Discourse</a>."
google_oauth2_client_id: "Client ID of your Google application."
google_oauth2_client_secret: "Client secret of your Google application."
google_oauth2_prompt: "An optional space-delimited list of string values that specifies whether the authorization server prompts the user for reauthentication and consent. See <a href='https://developers.google.com/identity/protocols/OpenIDConnect#prompt' target='_blank'>https://developers.google.com/identity/protocols/OpenIDConnect#prompt</a> for the possible values."
google_oauth2_hd: "An optional Google Apps Hosted domain that the sign-in will be limited to. See <a href='https://developers.google.com/identity/protocols/OpenIDConnect#hd-param' target='_blank'>https://developers.google.com/identity/protocols/OpenIDConnect#hd-param</a> for more details."
google_oauth2_hd_groups: "(experimental) Retrieve users' Google groups on the hosted domain on authentication. Retrieved Google groups can be used to grant automatic Discourse group membership (see group settings). For more information see https://meta.discourse.org/t/226850"
google_oauth2_hd_groups_service_account_admin_email: "An email address belonging to a Google Workspace administrator account. Will be used with the service account credentials to fetch group information."
google_oauth2_hd_groups_service_account_json: "JSON formatted key information for the Service Account. Will be used to fetch group information."
enable_twitter_logins: "Enable Twitter authentication, requires twitter_consumer_key and twitter_consumer_secret. See <a href='https://meta.discourse.org/t/13395' target='_blank'>Configuring Twitter login (and rich embeds) for Discourse</a>."
twitter_consumer_key: "Consumer key for Twitter authentication, registered at <a href='https://developer.twitter.com/apps' target='_blank'>https://developer.twitter.com/apps</a>"
twitter_consumer_secret: "Consumer secret for Twitter authentication, registered at <a href='https://developer.twitter.com/apps' target='_blank'>https://developer.twitter.com/apps</a>"
enable_facebook_logins: "Enable Facebook authentication, requires facebook_app_id and facebook_app_secret. See <a href='https://meta.discourse.org/t/13394' target='_blank'>Configuring Facebook login for Discourse</a>."
facebook_app_id: "App id for Facebook authentication and sharing, registered at <a href='https://developers.facebook.com/apps/' target='_blank'>https://developers.facebook.com/apps</a>"
facebook_app_secret: "App secret for Facebook authentication, registered at <a href='https://developers.facebook.com/apps/' target='_blank'>https://developers.facebook.com/apps</a>"
enable_github_logins: "Enable GitHub authentication, requires github_client_id and github_client_secret. See <a href='https://meta.discourse.org/t/13745' target='_blank'>Configuring GitHub login for Discourse</a>."
github_client_id: "Client id for GitHub authentication, registered at <a href='https://github.com/settings/developers/' target='_blank'>https://github.com/settings/developers</a>"
github_client_secret: "Client secret for GitHub authentication, registered at <a href='https://github.com/settings/developers/' target='_blank'>https://github.com/settings/developers</a>"
enable_discord_logins: "Allow users to authenticate using Discord?"
discord_client_id: 'Discord Client ID (need one? visit <a href="https://discordapp.com/developers/applications/me">the Discord developer portal</a>)'
discord_secret: "Discord Secret Key"
discord_trusted_guilds: 'Only allow members of these Discord guilds to log in via Discord. Use the numeric ID for the guild. For more information, check the instructions <a href="https://meta.discourse.org/t/configuring-discord-login-for-discourse/127129">here</a>. Leave blank to allow any guild.'
enable_backups: "Allow administrators to create backups of the forum"
allow_restore: "Allow restore, which can replace ALL site data! Leave disabled unless you plan to restore a backup"
maximum_backups: "The maximum amount of backups to keep. Older backups are automatically deleted"
remove_older_backups: "Remove backups older than the specified number of days. Leave blank to disable."
automatic_backups_enabled: "Run automatic backups as defined in backup frequency"
backup_frequency: "The number of days between backups."
s3_backup_bucket: "The remote bucket to hold backups. WARNING: Make sure it is a private bucket."
s3_endpoint: "The endpoint can be modified to backup to an S3 compatible service like DigitalOcean Spaces or Minio. WARNING: Leave blank if using AWS S3."
s3_configure_tombstone_policy: "Enable automatic deletion policy for tombstone uploads. IMPORTANT: If disabled, no space will be reclaimed after uploads are deleted."
s3_disable_cleanup: "Prevent removal of old backups from S3 when there are more backups than the maximum allowed."
enable_s3_inventory: "Generate reports and verify uploads using Amazon S3 inventory. IMPORTANT: requires valid S3 credentials (both access key id & secret access key)."
s3_use_acls: "AWS recommends not using ACLs on S3 buckets; if you are following this advice, uncheck this option. This must be enabled if you are using secure uploads."
backup_time_of_day: "Time of day UTC when the backup should occur."
backup_with_uploads: "Include uploads in scheduled backups. Disabling this will only backup the database."
backup_location: "Location where backups are stored. IMPORTANT: S3 requires valid S3 credentials entered in Files settings."
backup_gzip_compression_level_for_uploads: "Gzip compression level used for compressing uploads."
include_thumbnails_in_backups: "Include generated thumbnails in backups. Disabling this will make backups smaller, but requires a rebake of all posts after a restore."
active_user_rate_limit_secs: "How frequently we update the 'last_seen_at' field, in seconds"
verbose_localization: "Show extended localization tips in the UI"
previous_visit_timeout_hours: "How long a visit lasts before we consider it the 'previous' visit, in hours"
top_topics_formula_log_views_multiplier: "value of log views multiplier (n) in top topics formula: `log(views_count) * (n) + op_likes_count * 0.5 + LEAST(likes_count / posts_count, 3) + 10 + log(posts_count)`"
top_topics_formula_first_post_likes_multiplier: "value of first post likes multiplier (n) in top topics formula: `log(views_count) * 2 + op_likes_count * (n) + LEAST(likes_count / posts_count, 3) + 10 + log(posts_count)`"
top_topics_formula_least_likes_per_post_multiplier: "value of least likes per post multiplier (n) in top topics formula: `log(views_count) * 2 + op_likes_count * 0.5 + LEAST(likes_count / posts_count, (n)) + 10 + log(posts_count)`"
enable_safe_mode: "Allow users to enter safe mode to debug plugins."
rate_limit_create_topic: "After creating a topic, users must wait (n) seconds before creating another topic."
rate_limit_create_post: "After posting, users must wait (n) seconds before creating another post."
rate_limit_new_user_create_post: "After posting, new users must wait (n) seconds before creating another post."
max_likes_per_day: "Maximum number of likes per user per day."
max_flags_per_day: "Maximum number of flags per user per day."
max_bookmarks_per_day: "Maximum number of bookmarks per user per day."
max_edits_per_day: "Maximum number of edits per user per day."
max_topics_per_day: "Maximum number of topics a user can create per day."
max_personal_messages_per_day: "Maximum number of new personal message topics a user can create per day."
max_invites_per_day: "Maximum number of invites a user can send per day."
max_topic_invitations_per_day: "Maximum number of topic invitations a user can send per day."
max_topic_invitations_per_minute: "Maximum number of topic invitations a user can send per minute."
max_logins_per_ip_per_hour: "Maximum number of logins allowed per IP address per hour"
max_logins_per_ip_per_minute: "Maximum number of logins allowed per IP address per minute"
max_post_deletions_per_minute: "Maximum number of posts a user can delete per minute. Set to 0 to disable post deletions."
max_post_deletions_per_day: "Maximum number of posts a user can delete per day. Set to 0 to disable post deletions."
invite_link_max_redemptions_limit: "Maximum redemptions allowed for invite links can't be more than this value."
invite_link_max_redemptions_limit_users: "Maximum redemptions allowed for invite links generated by regular users can't be more than this value."
alert_admins_if_errors_per_minute: "Number of errors per minute in order to trigger an admin alert. A value of 0 disables this feature. NOTE: requires restart."
alert_admins_if_errors_per_hour: "Number of errors per hour in order to trigger an admin alert. A value of 0 disables this feature. NOTE: requires restart."
categories_topics: "Number of topics to show in /categories page. If set to 0, it will automatically try to find a value to keep the two columns symmetrical (categories and topics)."
suggested_topics: "Number of suggested topics shown at the bottom of a topic."
limit_suggested_to_category: "Only show topics from the current category in suggested topics."
suggested_topics_max_days_old: "Suggested topics should not be more than n days old."
suggested_topics_unread_max_days_old: "Suggested unread topics should not be more than n days old."
clean_up_uploads: "Remove orphan unreferenced uploads to prevent illegal hosting. WARNING: you may want to back up of your /uploads directory before enabling this setting."
clean_orphan_uploads_grace_period_hours: "Grace period (in hours) before an orphan upload is removed."
purge_deleted_uploads_grace_period_days: "Grace period (in days) before a deleted upload is erased."
purge_unactivated_users_grace_period_days: "Grace period (in days) before a user who has not activated their account is deleted. Set to 0 to never purge unactivated users."
enable_s3_uploads: "Place uploads on Amazon S3 storage. IMPORTANT: requires valid S3 credentials (both access key id & secret access key)."
s3_use_iam_profile: 'Use an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html">AWS EC2 instance profile</a> to grant access to the S3 bucket. NOTE: enabling this requires Discourse to be running in an appropriately-configured EC2 instance, and overrides the "s3 access key id" and "s3 secret access key" settings.'
s3_upload_bucket: "The Amazon S3 bucket name that files will be uploaded into. WARNING: must be lowercase, no periods, no underscores."
s3_access_key_id: "The Amazon S3 access key id that will be used to upload images, attachments, and backups."
s3_secret_access_key: "The Amazon S3 secret access key that will be used to upload images, attachments, and backups."
s3_region: "The Amazon S3 region name that will be used to upload images and backups."
s3_cdn_url: "The CDN URL to use for all s3 assets (for example: https://cdn.somewhere.com). WARNING: after changing this setting you must rebake all old posts."
s3_use_cdn_url_for_all_uploads: "Use CDN URL for all the files uploaded to s3 instead of only for images."
avatar_sizes: "List of automatically generated avatar sizes."
external_system_avatars_enabled: "Use external system avatars service."
external_system_avatars_url: "URL of the external system avatars service. Allowed substitutions are {username} {first_letter} {color} {size}"
external_emoji_url: "URL of the external service for emoji images. Leave blank to disable."
use_site_small_logo_as_system_avatar: "Use the site's small logo instead of the system user's avatar. Requires the logo to be present."
restrict_letter_avatar_colors: "A list of 6-digit hexadecimal color values to be used for letter avatar background."
enable_listing_suspended_users_on_search: "Enable regular users to find suspended users."
selectable_avatars_mode: "Allow users to select an avatar from the selectable_avatars list and limit custom avatar uploads to the selected trust level."
selectable_avatars: "List of avatars users can choose from."
allow_all_attachments_for_group_messages: "Allow all email attachments for group messages."
png_to_jpg_quality: "Quality of the converted JPG file (1 is lowest quality, 99 is best quality, 100 to disable)."
recompress_original_jpg_quality: "Quality of uploaded image files (1 is lowest quality, 99 is best quality, 100 to disable)."
image_preview_jpg_quality: "Quality of resized image files (1 is lowest quality, 99 is best quality, 100 to disable)."
allow_staff_to_upload_any_file_in_pm: "Allow staff members to upload any files in PM."
strip_image_metadata: "Strip image metadata."
composer_media_optimization_image_enabled: "Enables client-side media optimization of uploaded image files."
composer_media_optimization_image_bytes_optimization_threshold: "Minimum image file size to trigger client-side optimization"
composer_media_optimization_image_resize_dimensions_threshold: "Minimum image width to trigger client-side resize"
composer_media_optimization_image_resize_width_target: "Images with widths larger than `composer_media_optimization_image_dimensions_resize_threshold` will be resized to this width. Must be >= than `composer_media_optimization_image_dimensions_resize_threshold`."
composer_media_optimization_image_encode_quality: "JPG encode quality used in the re-encode process."
min_ratio_to_crop: "Ratio used to crop tall images. Enter the result of width / height."
simultaneous_uploads: "Maximum number of files that can be dragged & dropped in the composer"
default_invitee_trust_level: "Default trust level (0-4) for invited users."
default_trust_level: "Default trust level (0-4) for all new users. WARNING! Changing this will put you at serious risk for spam."
tl1_requires_topics_entered: "How many topics a new user must enter before promotion to trust level 1."
tl1_requires_read_posts: "How many posts a new user must read before promotion to trust level 1."
tl1_requires_time_spent_mins: "How many minutes a new user must read posts before promotion to trust level 1."
tl2_requires_topics_entered: "How many topics a user must enter before promotion to trust level 2."
tl2_requires_read_posts: "How many posts a user must read before promotion to trust level 2."
tl2_requires_time_spent_mins: "How many minutes a user must read posts before promotion to trust level 2."
tl2_requires_days_visited: "How many days a user must visit the site before promotion to trust level 2."
tl2_requires_likes_received: "How many likes a user must receive before promotion to trust level 2."
tl2_requires_likes_given: "How many likes a user must cast before promotion to trust level 2."
tl2_requires_topic_reply_count: "How many topics user must reply to before promotion to trust level 2."
tl3_time_period: "Trust Level 3 requirements time period (in days)"
tl3_requires_days_visited: "Minimum number of days that a user needs to have visited the site in the last (tl3 time period) days to qualify for promotion to trust level 3. Set higher than tl3 time period to disable promotions to tl3. (0 or higher)"
tl3_requires_topics_replied_to: "Minimum number of topics a user needs to have replied to in the last (tl3 time period) days to qualify for promotion to trust level 3. (0 or higher)"
tl3_requires_topics_viewed: "The percentage of topics created in the last (tl3 time period) days that a user needs to have viewed to qualify for promotion to trust level 3. (0 to 100)"
tl3_requires_topics_viewed_cap: "The maximum required number of topics viewed in the last (tl3 time period) days."
tl3_requires_posts_read: "The percentage of posts created in the last (tl3 time period) days that a user needs to have viewed to qualify for promotion to trust level 3. (0 to 100)"
tl3_requires_posts_read_cap: "The maximum required number of posts read in the last (tl3 time period) days."
tl3_requires_topics_viewed_all_time: "The minimum total number of topics a user must have viewed to qualify for trust level 3."
tl3_requires_posts_read_all_time: "The minimum total number of posts a user must have read to qualify for trust level 3."
tl3_requires_max_flagged: "User must not have had more than x posts flagged by x different users in the last (tl3 time period) days to qualify for promotion to trust level 3, where x is this setting's value. (0 or higher)"
tl3_promotion_min_duration: "The minimum number of days that a promotion to trust level 3 lasts before a user can be demoted back to trust level 2."
tl3_requires_likes_given: "The minimum number of likes that must be given in the last (tl3 time period) days to qualify for promotion to trust level 3."
tl3_requires_likes_received: "The minimum number of likes that must be received in the last (tl3 time period) days to qualify for promotion to trust level 3."
tl3_links_no_follow: "Do not remove rel=nofollow from links posted by trust level 3 users."
tl4_delete_posts_and_topics: "Allow TL4 users to delete posts and topics created by other users. TL4 users will also be able to see deleted topics and posts."
delete_all_posts_and_topics_allowed_groups: "Groups allowed to delete posts and topics created by other users. These groups will also be able to see deleted topics and posts."
edit_all_topic_groups: "Allow users in this group to edit other users' topic titles, tags, and categories"
edit_all_post_groups: "Allow users in this group to edit other users' posts"
min_trust_to_create_topic: "The minimum trust level required to create a new topic."
create_topic_allowed_groups: "Groups that are allowed to create new topics."
allow_flagging_staff: "If enabled, users can flag posts from staff accounts."
min_trust_to_edit_wiki_post: "The minimum trust level required to edit post marked as wiki."
edit_wiki_post_allowed_groups: "Groups that are allowed to edit posts marked as wiki."
min_trust_to_edit_post: "The minimum trust level required to edit posts."
edit_post_allowed_groups: "Groups that are allowed to edit posts."
min_trust_to_allow_self_wiki: "The minimum trust level required to make user's own post wiki."
self_wiki_allowed_groups: "Groups where users can make their own post wiki."
min_trust_to_send_messages: "DEPRECATED, use the 'personal message enabled groups' setting instead. The minimum trust level required to create new personal messages."
min_trust_to_send_email_messages: "The minimum trust level required to send personal messages via email."
send_email_messages_allowed_groups: "Groups that are allowed to send personal messages via email."
min_trust_to_flag_posts: "The minimum trust level required to flag posts"
flag_post_allowed_groups: "Groups that are allowed to flag posts."
min_trust_to_post_links: "The minimum trust level required to include links in posts"
post_links_allowed_groups: "Groups that are allowed to include links in posts. Admins and moderators are always allowed to post links."
min_trust_to_post_embedded_media: "The minimum trust level required to embed media items in a post"
embedded_media_post_allowed_groups: "The users in these groups are allowed to embed media items in a post"
min_trust_level_to_allow_profile_background: "The minimum trust level required to upload a profile background"
profile_background_allowed_groups: "Groups that are allowed to upload a profile background."
min_trust_level_to_allow_user_card_background: "The minimum trust level required to upload a user card background"
user_card_background_allowed_groups: "Groups that are allowed to upload a user card background."
min_trust_level_to_allow_invite: "The minimum trust level required to invite users"
invite_allowed_groups: "Groups that are allowed to invite users."
min_trust_level_to_allow_ignore: "The minimum trust level required to ignore users"
ignore_allowed_groups: "Groups that are allowed to ignore other users."
allowed_link_domains: "Domains that users may link to even if they don't have the appropriate trust level to post links"
newuser_max_links: "How many links a new user can add to a post."
newuser_max_embedded_media: "How many embedded media items a new user can add to a post."
newuser_max_attachments: "How many attachments a new user can add to a post."
newuser_max_mentions_per_post: "Maximum number of @name notifications a new user can use in a post."
newuser_max_replies_per_topic: "Maximum number of replies a new user can make in a single topic until someone replies to them."
max_mentions_per_post: "Maximum number of @name notifications anyone can use in a post."
max_users_notified_per_group_mention: "Maximum number of users that may receive a notification if a group is mentioned (if threshold is met no notifications will be raised)"
enable_mentions: "Allow users to mention other users."
here_mention: "Name used for a @mention to allow privileged users to notify up to 'max_here_mentioned' people participating in the topic. Must not be an existing username."
max_here_mentioned: "Maximum number of mentioned people by @here."
min_trust_level_for_here_mention: "The minimum trust level allowed to mention @here."
here_mention_allowed_groups: "Groups that are allowed to mention @here."
create_thumbnails: "Create thumbnails and lightbox images that are too large to fit in a post."
email_time_window_mins: "Wait (n) minutes before sending any notification emails, to give users a chance to edit and finalize their posts."
personal_email_time_window_seconds: "Wait (n) seconds before sending any personal message notification emails, to give users a chance to edit and finalize their messages."
email_posts_context: "How many prior replies to include as context in notification emails."
flush_timings_secs: "How frequently we flush timing data to the server, in seconds."
title_max_word_length: "The maximum allowed word length, in characters, in a topic title."
title_min_entropy: "The minimum entropy (unique characters, non-english count for more) required for a topic title."
body_min_entropy: "The minimum entropy (unique characters, non-english count for more) required for a post body."
allow_uppercase_posts: "Allow all caps in a topic title or a post body."
max_consecutive_replies: "Number of posts in a row a user can make in a topic before being prevented from adding another reply. This limit does not apply to the topic owner, site staff, or category moderators."
enable_filtered_replies_view: '"(n) replies" button collapses all other posts and only shows the current post and its replies.'
title_fancy_entities: "Convert common ASCII characters to fancy HTML entities in topic titles, ala SmartyPants <a href='https://daringfireball.net/projects/smartypants/' target='_blank'>https://daringfireball.net/projects/smartypants/</a>"
min_title_similar_length: "The minimum length of a title before it will be checked for similar topics."
desktop_category_page_style: "Visual style for the /categories page."
category_colors: "A list of hexadecimal color values allowed for categories."
default_dark_mode_color_scheme_id: "The color scheme used when in dark mode."
dark_mode_none: "None"
max_image_size_kb: "The maximum image upload size. This must be configured in nginx (client_max_body_size) / apache or proxy as well. Images larger than this and smaller than client_max_body_size will be resized to fit on upload."
max_attachment_size_kb: "The maximum attachment files upload size. This must be configured in nginx (client_max_body_size) / apache or proxy as well."
authorized_extensions: "A list of file extensions allowed for upload"
authorized_extensions_for_staff: "A list of file extensions allowed for upload for staff users in addition to the list defined in the `authorized_extensions` site setting."
theme_authorized_extensions: "A list of file extensions allowed for theme uploads"
max_similar_results: "How many similar topics to show above the editor when composing a new topic. Comparison is based on title and body."
max_image_megapixels: "Maximum number of megapixels allowed for an image. Images with a higher number of megapixels will be rejected."
title_prettify: "Prevent common title typos and errors, including all caps, lowercase first character, multiple ! and ?, extra . at end, etc."
title_remove_extraneous_space: "Remove leading whitespaces in front of the end punctuation."
automatic_topic_heat_values: 'Automatically update the "topic views heat" and "topic post like heat" settings based on site activity.'
topic_views_heat_low: "After this many views, the views field is slightly highlighted."
topic_views_heat_medium: "After this many views, the views field is moderately highlighted."
topic_views_heat_high: "After this many views, the views field is strongly highlighted."
cold_age_days_low: "After this many days of conversation, the last activity date is slightly dimmed."
cold_age_days_medium: "After this many days of conversation, the last activity date is moderately dimmed."
cold_age_days_high: "After this many days of conversation, the last activity date is strongly dimmed."
history_hours_low: "A post edited within this many hours has the edit indicator slightly highlighted"
history_hours_medium: "A post edited within this many hours has the edit indicator moderately highlighted."
history_hours_high: "A post edited within this many hours has the edit indicator strongly highlighted."
topic_post_like_heat_low: "After the likes:post ratio exceeds this ratio, the post count field is slightly highlighted."
topic_post_like_heat_medium: "After the likes:post ratio exceeds this ratio, the post count field is moderately highlighted."
topic_post_like_heat_high: "After the likes:post ratio exceeds this ratio, the post count field is strongly highlighted."
faq_url: "If you have a FAQ hosted elsewhere that you want to use, provide the full URL here."
tos_url: "If you have a Terms of Service document hosted elsewhere that you want to use, provide the full URL here."
privacy_policy_url: "If you have a Privacy Policy document hosted elsewhere that you want to use, provide the full URL here."
log_anonymizer_details: "Whether to keep a user's details in the log after being anonymized."
newuser_spam_host_threshold: "How many times a new user can post a link to the same host within their `newuser_spam_host_threshold` posts before being considered spam."
allowed_spam_host_domains: "A list of domains excluded from spam host testing. New users will never be restricted from creating posts with links to these domains."
staff_like_weight: "How much weight to give staff likes (non-staff likes have a weight of 1.)"
topic_view_duration_hours: "Count a new topic view once per IP/User every N hours"
user_profile_view_duration_hours: "Count a new user profile view once per IP/User every N hours"
levenshtein_distance_spammer_emails: "When matching spammer emails, number of characters difference that will still allow a fuzzy match."
max_new_accounts_per_registration_ip: "If there are already (n) trust level 0 accounts from this IP (and none is a staff member or at TL2 or higher), stop accepting new signups from that IP. Set to 0 to disable the limit."
min_ban_entries_for_roll_up: "When clicking the Roll up button, will create a new subnet ban entry if there are at least (N) entries."
max_age_unmatched_emails: "Delete unmatched screened email entries after (N) days."
max_age_unmatched_ips: "Delete unmatched screened IP entries after (N) days."
num_flaggers_to_close_topic: "Minimum number of unique flaggers that is required to automatically pause a topic for intervention"
num_hours_to_close_topic: "Number of hours to pause a topic for intervention."
auto_respond_to_flag_actions: "Enable automatic reply when disposing a flag."
min_first_post_typing_time: "Minimum amount of time in milliseconds a user must type during first post, if threshold is not met post will automatically enter the needs approval queue. Set to 0 to disable (not recommended)"
auto_silence_fast_typers_on_first_post: "Automatically silence users that do not meet min_first_post_typing_time"
auto_silence_fast_typers_max_trust_level: "Maximum trust level to auto silence fast typers"
auto_silence_first_post_regex: "Case insensitive regex that if passed will cause first post by user to be silenced and sent to approval queue. Example: raging|a[bc]a , will cause all posts containing raging or aba or aca to be silenced on first. Only applies to first post. DEPRECATED: Use Silence Watched Words instead."
reviewable_claiming: "Does reviewable content need to be claimed before it can be acted upon?"
reviewable_default_topics: "Show reviewable content grouped by topic by default"
reviewable_default_visibility: "Don't show reviewable items unless they meet this priority"
reviewable_low_priority_threshold: "The priority filter hides reviewable items that don't meet this score unless the '(any)' filter is used."
high_trust_flaggers_auto_hide_posts: "New user posts are automatically hidden after being flagged as spam by a TL3+ user"
cooldown_hours_until_reflag: "How much time users will have to wait until they are able to reflag a post"
slow_mode_prevents_editing: "Does 'Slow Mode' prevent editing, after editing_grace_period?"
reply_by_email_enabled: "Enable replying to topics via email."
reply_by_email_address: "Template for reply by email incoming email address, for example: %%{reply_key}@reply.example.com or replies+%%{reply_key}@example.com"
alternative_reply_by_email_addresses: "List of alternative templates for reply by email incoming email addresses. Example: %%{reply_key}@reply.example.com|replies+%%{reply_key}@example.com"
incoming_email_prefer_html: "Use HTML instead of text for incoming email."
strip_incoming_email_lines: "Remove leading and trailing whitespaces from each line of incoming emails."
disable_emails: "Prevent Discourse from sending any kind of emails. Select 'yes' to disable emails for all users. Select 'non-staff' to disable emails for non-staff users only."
strip_images_from_short_emails: "Strip images from emails having size less than 2800 Bytes"
short_email_length: "Short email length in Bytes"
display_name_on_email_from: "Display full names on email from fields"
unsubscribe_via_email: "Allow users to unsubscribe from emails by sending an email with 'unsubscribe' in the subject or body"
unsubscribe_via_email_footer: "Attach an unsubscribe via email mailto: link to the footer of sent emails"
delete_email_logs_after_days: "Delete email logs after (N) days. 0 to keep indefinitely"
disallow_reply_by_email_after_days: "Disallow reply by email after (N) days. 0 to keep indefinitely"
max_emails_per_day_per_user: "Maximum number of emails to send users per day. 0 to disable the limit"
enable_staged_users: "Automatically create staged users when processing incoming emails."
maximum_staged_users_per_email: "Maximum number of staged users created when processing an incoming email."
maximum_recipients_per_new_group_email: "Block incoming emails with too many recipients."
auto_generated_allowlist: "List of email addresses that won't be checked for auto-generated content. Example: foo@bar.com|discourse@bar.com"
block_auto_generated_emails: "Block incoming emails identified as being auto generated."
ignore_by_title: "Ignore incoming emails based on their title."
mailgun_api_key: "Mailgun Secret API key used to verify webhook messages."
sendgrid_verification_key: "Sendgrid verification key used to verify webhook messages."
mailjet_webhook_token: "Token used to verify webhook payload. It must be passed as the 't' query parameter of the webhook, for example: https://example.com/webhook/mailjet?t=supersecret"
mandrill_authentication_key: "Mandrill authentication key used to verify webhook messages."
postmark_webhook_token: "Token used to verify webhook payload. It must be passed as the 't' query parameter of the webhook, for example: https://example.com/webhook/postmark?t=supersecret"
sparkpost_webhook_token: "Token used to verify webhook payload. It must be passed as the 't' query parameter of the webhook, for example: https://example.com/webhook/sparkpost?t=supersecret"
soft_bounce_score: "Bounce score added to the user when a temporary bounce happens."
hard_bounce_score: "Bounce score added to the user when a permanent bounce happens."
bounce_score_threshold: "Max bounce score before we will stop emailing a user."
reset_bounce_score_after_days: "Automatically reset bounce score after X days."
blocked_attachment_content_types: "List of keywords used to blocklist attachments based on the content type."
blocked_attachment_filenames: "List of keywords used to blocklist attachments based on the filename."
forwarded_emails_behaviour: "How to treat a forwarded email to Discourse"
always_show_trimmed_content: "Always show trimmed part of incoming emails. WARNING: might reveal email addresses."
trim_incoming_emails: "Trim part of the incoming emails that isn't relevant."
private_email: "Don't include content from posts or topics in email title or email body. NOTE: also disables digest emails."
email_total_attachment_size_limit_kb: "Max total size of files attached to outgoing emails. Set to 0 to disable sending of attachments."
post_excerpts_in_emails: "In notification emails, always send excerpts instead of full posts"
raw_email_max_length: "How many characters should be stored for incoming email."
raw_rejected_email_max_length: "How many characters should be stored for rejected incoming email."
delete_rejected_email_after_days: "Delete rejected emails older than (n) days."
require_change_email_confirmation: "Require non-staff users to confirm their old email address before changing it. Does not apply to staff users, they always need to confirm their old email address."
manual_polling_enabled: "Push emails using the API for email replies."
pop3_polling_enabled: "Poll via POP3 for email replies."
pop3_polling_ssl: "Use SSL while connecting to the POP3 server. (Recommended)"
pop3_polling_openssl_verify: "Verify TLS server certificate (Default: enabled)"
pop3_polling_period_mins: "The period in minutes between checking the POP3 account for email. NOTE: requires restart."
pop3_polling_port: "The port to poll a POP3 account on."
pop3_polling_host: "The host to poll for email via POP3."
pop3_polling_username: "The username for the POP3 account to poll for email."
pop3_polling_password: "The password for the POP3 account to poll for email."
pop3_polling_delete_from_server: "Delete emails from server. NOTE: If you disable this you should manually clean your mail inbox"
log_mail_processing_failures: "Log all email processing failures to <a href='%{base_path}/logs' target='_blank'>/logs</a>"
email_in: "Allow users to post new topics via email. After enabling this setting, you will be able to configure incoming email addresses for groups and categories."
email_in_min_trust: "The minimum trust level a user needs to have to be allowed to post new topics via email."
email_in_allowed_groups: "Groups that are allowed to post new topics via email."
email_in_authserv_id: "The identifier of the service doing authentication checks on incoming emails. See <a href='https://meta.discourse.org/t/134358'>https://meta.discourse.org/t/134358</a> for instructions on how to configure this."
email_in_spam_header: "The email header to detect spam."
enable_imap: "Enable IMAP for synchronizing group messages."
enable_imap_write: "Enable two-way IMAP synchronization. If disabled, all write-operations on IMAP accounts are disabled."
enable_imap_idle: "Use IMAP IDLE mechanism to wait for new emails."
enable_smtp: "Enable SMTP for sending notifications for group messages."
imap_polling_period_mins: "The period in minutes between checking the IMAP accounts for emails."
imap_polling_old_emails: "The maximum number of old emails (processed) to be updated every time an IMAP box is polled (0 for all)."
imap_polling_new_emails: "The maximum number of new emails (unprocessed) to be updated every time an IMAP box is polled ."
imap_batch_import_email: "The minimum number of new emails that trigger import mode (disables notifications for imported posts)."
email_prefix: "The [label] used in the subject of emails. It will default to 'title' if not set."
email_site_title: "The title of the site used as the sender of emails from the site. Default to 'title' if not set. If your 'title' contains characters that are not allowed in email sender strings, use this setting."
find_related_post_with_key: "Only use the 'reply key' to find the replied-to post. WARNING: disabling this allows user impersonation based on email address."
minimum_topics_similar: "How many topics need to exist before similar topics are presented when composing new topics."
relative_date_duration: "Number of days after posting where post dates will be shown as relative (7d) instead of absolute (20 Feb)."
delete_user_max_post_age: "Don't allow deleting users whose first post is older than (x) days."
delete_all_posts_max: "The maximum number of posts that can be deleted at once with the Delete All Posts button. If a user has more than this many posts, the posts cannot all be deleted at once and the user can't be deleted."
delete_user_self_max_post_count: "The maximum number of posts a user can have while allowing self-service account deletion. Set to -1 to disable self-service account deletion."
username_change_period: "The maximum number of days after registration that accounts can change their username (0 to disallow username change)."
email_editable: "Allow users to change their e-mail address after registration."
logout_redirect: "Location to redirect browser to after logout (eg: https://example.com/logout)"
allow_uploaded_avatars: "Allow users to upload custom profile pictures."
uploaded_avatars_allowed_groups: "Specify groups allowed to upload custom profile pictures."
default_avatars: "URLs to avatars that will be used by default for new users until they change them."
automatically_download_gravatars: "Download Gravatars for users upon account creation or email change."
digest_topics: "The maximum number of popular topics to display in the email summary."
digest_posts: "The maximum number of popular posts to display in the email summary."
digest_other_topics: "The maximum number of topics to show in the 'New in topics and categories you follow' section of the email summary."
digest_min_excerpt_length: "Minimum post excerpt in the email summary, in characters."
suppress_digest_email_after_days: "Suppress summary emails for users not seen on the site for more than (n) days."
digest_suppress_categories: "Suppress these categories from summary emails."
digest_suppress_tags: "Suppress these tags from summary emails."
disable_digest_emails: "Disable summary emails for all users."
apply_custom_styles_to_digest: "Custom email template and css are applied to summary emails."
email_accent_bg_color: "The accent color to be used as the background of some elements in HTML emails. Enter a color name ('red') or hex value ('#FF0000')."
email_accent_fg_color: "The color of text rendered on the email bg color in HTML emails. Enter a color name ('white') or hex value ('#FFFFFF')."
email_link_color: "The color of links in HTML emails. Enter a color name ('blue') or hex value ('#0000FF')."
detect_custom_avatars: "Whether or not to check that users have uploaded custom profile pictures."
max_daily_gravatar_crawls: "Maximum number of times Discourse will check Gravatar for custom avatars in a day"
public_user_custom_fields: "A list of user custom fields that can be retrieved with the API."
staff_user_custom_fields: "A list of user custom fields that can be retrieved for staff members with the API."
enable_user_directory: "Provide a directory of users for browsing"
enable_group_directory: "Provide a directory of groups for browsing"
enable_category_group_moderation: "Allow groups to moderate content in specific categories"
group_in_subject: "Set %%{optional_pm} in email subject to name of first group in PM, see: <a href='https://meta.discourse.org/t/customize-specific-email-templates/88323' target='_blank'>Customize subject format for standard emails</a>"
allow_anonymous_posting: "Allow users to switch to anonymous mode"
allow_anonymous_likes: "Allow anonymous users to like posts"
anonymous_posting_min_trust_level: "Minimum trust level required to enable anonymous posting"
anonymous_posting_allowed_groups: "Groups that are allowed to enable anonymous posting"
anonymous_account_duration_minutes: "To protect anonymity create a new anonymous account every N minutes for each user. Example: if set to 600, as soon as 600 minutes elapse from last post AND user switches to anon, a new anonymous account is created."
hide_user_profiles_from_public: "Disable user cards, user profiles and user directory for anonymous users."
allow_users_to_hide_profile: "Allow users to hide their profile and presence"
hide_user_activity_tab: "Hide the activity tab on user profiles except for Admin and self."
allow_featured_topic_on_user_profiles: "Allow users to feature a link to a topic on their user card and profile."
show_inactive_accounts: "Allow logged in users to browse profiles of inactive accounts."
hide_suspension_reasons: "Don't display suspension reasons publically on user profiles."
log_personal_messages_views: "Log personal message views by Admin for other users/groups."
ignored_users_count_message_threshold: "Notify moderators if a particular user is ignored by this many other users."
ignored_users_message_gap_days: "How long to wait before notifying moderators again about a user who has been ignored by many others."
clean_up_inactive_users_after_days: "Number of days before an inactive user (trust level 0 without any posts) is removed. To disable clean up set to 0."
clean_up_unused_staged_users_after_days: "Number of days before an unused staged user (without any posts) is removed. To disable clean up set to 0."
user_selected_primary_groups: "Allow users to set their own primary group"
max_notifications_per_user: "Maximum amount of notifications per user, if this number is exceeded old notifications will be deleted. Enforced weekly. Set to 0 to disable"
allowed_user_website_domains: "User website will be verified against these domains. Pipe-delimited list."
allow_profile_backgrounds: "Allow users to upload profile backgrounds."
sequential_replies_threshold: "Number of posts a user has to make in a row in a topic before being reminded about too many sequential replies."
get_a_room_threshold: "Number of posts a user has to make to the same person in the same topic before being warned."
dont_feed_the_trolls_threshold: "Number of flags from other users before being warned."
enable_mobile_theme: "Mobile devices use a mobile-friendly theme, with the ability to switch to the full site. Disable this if you want to use a custom stylesheet that is fully responsive."
dominating_topic_minimum_percent: "What percentage of posts a user has to make in a topic before being reminded about overly dominating a topic."
disable_avatar_education_message: "Disable education message for changing avatar."
pm_warn_user_last_seen_months_ago: "When creating a new PM warn users when target recepient has not been seen more than n months ago."
suppress_uncategorized_badge: "Don't show the badge for uncategorized topics in topic lists."
header_dropdown_category_count: "How many categories can be displayed in the header dropdown menu."
permalink_normalizations: "Apply the following regex before matching permalinks, for example: /(topic.*)\\?.*/\\1 will strip query strings from topic routes. Format is regex+string use \\1 etc. to access captures"
global_notice: "Display an URGENT, EMERGENCY, non-dismissible global banner notice to all visitors, change to blank to hide it (HTML allowed)."
disable_system_edit_notifications: "Disables edit notifications by the system user when 'download_remote_images_to_local' is active."
disable_category_edit_notifications: "Disable notifications for topic category edits. This includes topics which are 'published' (e.g. shared drafts)."
disable_tags_edit_notifications: "Disable notifications for topic tag edits. This includes topics which are 'published' (e.g. shared drafts)."
notification_consolidation_threshold: "Number of liked or membership request notifications received before the notifications are consolidated into a single one. Set to 0 to disable."
likes_notification_consolidation_window_mins: "Duration in minutes where liked notifications are consolidated into a single notification once the threshold has been reached. The threshold can be configured via `SiteSetting.notification_consolidation_threshold`."
automatically_unpin_topics: "Automatically unpin topics when the user reaches the bottom."
read_time_word_count: "Word count per minute for calculating estimated reading time."
topic_page_title_includes_category: "Topic page <a href='https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title' target='_blank'>title tag</a> includes the category name."
native_app_install_banner_ios: "Displays DiscourseHub app banner on iOS devices to basic users (trust level 1) and up."
native_app_install_banner_android: "Displays DiscourseHub app banner on Android devices to basic users (trust level 1) and up."
app_association_android: "Contents of <a href='%{base_path}/.well-known/assetlinks.json'>.well-known/assetlinks.json</a> endpoint, used for Google's Digital Asset Links API."
app_association_ios: "Contents of <a href='%{base_path}/apple-app-site-association'>apple-app-site-association</a> endpoint, used to create Universal Links between this site and iOS apps."
share_anonymized_statistics: "Share anonymized usage statistics."
auto_handle_queued_age: "Automatically handle records that are waiting to be reviewed after this many days. Flags will be ignored. Queued posts and users will be rejected. Set to 0 to disable this feature."
penalty_step_hours: "Default penalties for silencing or suspending users in hours. First offense defaults to the first value, second offense defaults to the second value, etc."
svg_icon_subset: "Add additional FontAwesome 5 icons that you would like to include in your assets. Use prefix 'fa-' for solid icons, 'far-' for regular icons and 'fab-' for brand icons."
max_prints_per_hour_per_user: "Maximum number of /print page impressions (set to 0 to disable printing)"
full_name_required: "Full name is a required field of a user's profile."
enable_names: "Show the user's full name on their profile, user card, and emails. Disable to hide full name everywhere."
display_name_on_posts: "Show a user's full name on their posts in addition to their @username."
show_time_gap_days: "If two posts are made this many days apart, display the time gap in the topic."
short_progress_text_threshold: "After the number of posts in a topic goes above this number, the progress bar will only show the current post number. If you change the progress bar's width, you may need to change this value."
default_code_lang: "Default programming language syntax highlighting applied to markdown code blocks (auto, text, ruby, python etc.). This value must also be present in the `highlighted languages` site setting."
warn_reviving_old_topic_age: "When someone starts replying to a topic where the last reply is older than this many days, a warning will be displayed. Disable by setting to 0."
autohighlight_all_code: "Apply syntax highlighting to HTML-authored &lt;code&gt; blocks, even if they didn't specify a language. To configure markdown-authored code blocks, use the 'default code lang' setting."
highlighted_languages: "Included syntax highlighting rules. (Warning: including too many languages may impact performance) see: <a href='https://highlightjs.org/static/demo/' target='_blank'>https://highlightjs.org/static/demo</a> for a demo"
show_copy_button_on_codeblocks: "Add a button to codeblocks to copy the block contents to the user's clipboard."
embed_any_origin: "Allow embeddable content regardless of origin. This is required for mobile apps with static HTML."
embed_topics_list: "Support HTML embedding of topics lists"
embed_set_canonical_url: "Set the canonical URL for embedded topics to the embedded content's URL."
embed_truncate: "Truncate the embedded posts."
embed_unlisted: "Embedded topics will be unlisted until a user replies."
embed_support_markdown: "Support Markdown formatting for embedded posts."
allowed_embed_selectors: "A comma separated list of CSS elements that are allowed in embeds."
allowed_href_schemes: "Schemes allowed in links in addition to http and https."
embed_post_limit: "Maximum number of posts to embed."
embed_username_required: "The username for topic creation is required."
notify_about_reviewable_item_after: "If there are reviewable items that havent been handled after this many hours, send a personal message to moderators. Set to 0 to disable."
delete_drafts_older_than_n_days: "Delete drafts older than (n) days."
delete_merged_stub_topics_after_days: "Number of days to wait before automatically deleting fully merged stub topics. Set to 0 to never delete stub topics."
bootstrap_mode_min_users: "Minimum number of users required to disable bootstrap mode (set to 0 to disable, can take up to 24 hours)"
prevent_anons_from_downloading_files: "Prevent anonymous users from downloading attachments."
secure_uploads: 'Limits access to ALL uploads (images, video, audio, text, pdfs, zips, and others). If "login required” is enabled, only logged-in users can access uploads. Otherwise, access will be limited only for media uploads in private messages and private categories. WARNING: This setting is complex and requires deep administrative understanding. See <a target="_blank" href="https://meta.discourse.org/t/-/140017">the secure uploads topic on Meta</a> for details.'
secure_uploads_allow_embed_images_in_emails: "Allows embedding secure images that would normally be redacted in emails, if their size is smaller than the 'secure uploads max email embed image size kb' setting."
secure_uploads_max_email_embed_image_size_kb: "The size cutoff for secure images that will be embedded in emails if the 'secure uploads allow embed in emails' setting is enabled. Without that setting enabled, this setting has no effect."
slug_generation_method: "Choose a slug generation method. 'encoded' will generate percent encoding string. 'none' will disable slug at all."
enable_emoji: "Enable emoji"
enable_emoji_shortcuts: "Common smiley text such as :) :p :( will be converted to emojis"
emoji_set: "How would you like your emoji?"
emoji_autocomplete_min_chars: "Minimum number of characters required to trigger autocomplete emoji popup"
enable_inline_emoji_translation: "Enables translation for inline emojis (without any space or punctuation before)"
emoji_deny_list: "These emoji will not be available to use in menus or shortcodes."
approve_post_count: "The amount of posts from a new or basic user that must be approved"
approve_unless_trust_level: "Posts created by users below this trust level must be approved"
approve_unless_allowed_groups: "Posts created by users not in these groups must be approved"
approve_new_topics_unless_trust_level: "New topics created by users below this trust level must be approved"
approve_new_topics_unless_allowed_groups: "New topics created by users not in these groups must be approved"
approve_unless_staged: "New topics and posts created by staged users must be approved"
notify_about_queued_posts_after: "If there are posts that have been waiting to be reviewed for more than this many hours, send a notification to all moderators. Set to 0 to disable these notifications."
reviewable_revision_reasons: "List of reasons that can be selected when rejecting a reviewable queued post with a revision. Other is always available as well, which allows for a custom reason to be entered."
auto_close_messages_post_count: "Maximum number of posts allowed in a message before it is automatically closed (0 to disable)"
auto_close_topics_post_count: "Maximum number of posts allowed in a topic before it is automatically closed (0 to disable)"
auto_close_topics_create_linked_topic: "Create a new linked topic when a topic is auto-closed based on 'auto close topics post count' setting"
code_formatting_style: "Code button in composer will default to this code formatting style"
max_allowed_message_recipients: "Maximum recipients allowed in a message."
disable_watched_word_checking_in_user_fields: "disable watched word checking in user fields"
watched_words_regular_expressions: "Watched words are regular expressions."
enable_diffhtml_preview: "Experimental feature which uses diffHTML to sync preview instead of full re-render"
enable_fast_edit: "Adds a button to the post selection menu to edit a small selection inline."
enable_quote_copy: "Adds a button to post selection menu to copy the selection to clipboard as a markdown quote."
old_post_notice_days: "Days before post notice becomes old"
new_user_notice_tl: "Minimum trust level required to see new user post notices."
returning_user_notice_tl: "Minimum trust level required to see returning user post notices."
returning_users_days: "How many days should pass before a user is considered to be returning."
review_media_unless_trust_level: "Staff will review posts of users with lower trust levels if they contain embedded media."
skip_review_media_groups: "Users who are not in any of these groups will have their posts sent to staff for review if the post contains embedded media."
blur_tl0_flagged_posts_media: "Blur flagged posts images to hide potentially NSFW content."
enable_page_publishing: "Allow staff members to publish topics to new URLs with their own styling."
show_published_pages_login_required: "Anonymous users can see published pages, even when login is required."
skip_auto_delete_reply_likes: "When automatically deleting old replies, skip deleting posts with this number of likes or more."
default_email_digest_frequency: "How often users receive summary emails by default."
default_include_tl0_in_digests: "Include posts from new users in summary emails by default. Users can change this in their preferences."
default_email_level: "Set default email notification level for regular topics."
default_email_messages_level: "Set default email notification level when someone messages user."
default_email_mailing_list_mode: "Send an email for every new post by default."
default_email_mailing_list_mode_frequency: "Users who enable mailing list mode will receive emails this often by default."
disable_mailing_list_mode: "Disallow users from enabling mailing list mode (prevents any mailing list emails from being sent.)"
default_email_previous_replies: "Include previous replies in emails by default."
default_email_in_reply_to: "Include excerpt of replied to post in emails by default."
default_hide_profile_and_presence: "Hide user public profile and presence features by default."
default_other_new_topic_duration_minutes: "Global default condition for which a topic is considered new."
default_other_auto_track_topics_after_msecs: "Global default time before a topic is automatically tracked."
default_other_notification_level_when_replying: "Global default notification level when the user replies to a topic."
default_other_external_links_in_new_tab: "Open external links in a new tab by default."
default_other_enable_quoting: "Enable quote reply for highlighted text by default."
default_other_enable_defer: "Enable defer topic functionality by default."
default_other_dynamic_favicon: "Show new/updated topic count on browser icon by default."
default_other_skip_new_user_tips: "Skip new user onboarding tips and badges."
default_other_like_notification_frequency: "Notify users on likes by default"
default_topics_automatic_unpin: "Automatically unpin topics when the user reaches the bottom by default."
default_categories_watching: "List of categories that are watched by default."
default_categories_tracking: "List of categories that are tracked by default."
default_categories_muted: "List of categories that are muted by default."
default_categories_watching_first_post: "List of categories in which first post in each new topic will be watched by default."
default_categories_normal: "List of categories that are not muted by default. Useful when `mute_all_categories_by_default` site setting is enabled."
mute_all_categories_by_default: "Set the default notification level of all the categories to muted. Require users opt-in to categories for them to appear in 'latest' and 'categories' pages. If you wish to amend the defaults for anonymous users set 'default_categories_' settings."
default_tags_watching: "List of tags that are watched by default."
default_tags_tracking: "List of tags that are tracked by default."
default_tags_muted: "List of tags that are muted by default."
default_tags_watching_first_post: "List of tags in which first post in each new topic will be watched by default."
default_text_size: "Text size which is selected by default"
default_title_count_mode: "Default mode for the page title counter"
enable_offline_indicator: "Display a message to users when it is detected that they have no network connection"
default_sidebar_link_to_filtered_list: "Make navigation menu links link to filtered list by default."
default_sidebar_show_count_of_new_items: "Make navigation menu links show count of new items instead of badges by default."
default_sidebar_switch_panel_position: "Position of sidebar switch panel buttons"
retain_web_hook_events_period_days: "Number of days to retain web hook event records."
retry_web_hook_events: "Automatically retry failed web hook events for 4 times. Time gaps between the retries are 1, 5, 25 and 125 minutes."
revoke_api_keys_unused_days: "Number of days since an API key was last used before it is automatically revoked (0 for never)"
revoke_api_keys_maxlife_days: "Number of days before an API key is automatically revoked (0 for never)"
allow_user_api_key_scopes: "List of scopes allowed for user API keys"
min_trust_level_for_user_api_key: |
Trust level required for generation of user API keys.<br>
<b>WARNING</b>: Changing the trust level will prevent users with a lower trust level from logging in via Discourse Hub
user_api_key_allowed_groups: |
Group membership required for generation of user API keys.<br>
<b>WARNING</b>: Changing the trust level will prevent users with a lower trust level from logging in via Discourse Hub
allowed_user_api_auth_redirects: "Allowed URL for authentication redirect for user API keys. Wildcard symbol * can be used to match any part of it (e.g. www.example.com/*)."
allowed_user_api_push_urls: "Allowed URLs for server push to user API"
revoke_user_api_keys_unused_days: "Number of days since a user API key was last used before it is automatically revoked (0 for never)"
revoke_user_api_keys_maxlife_days: "Number of days before a user API key is automatically revoked (0 for never)"
tagging_enabled: "Enable tags on topics?"
min_trust_to_create_tag: "The minimum trust level required to create a tag."
create_tag_allowed_groups: "Groups that are allowed to create tags."
max_tags_per_topic: "The maximum tags that can be applied to a topic."
enable_max_tags_per_email_subject: "Use max_tags_per_email_subject when generating the subject of an email"
max_tags_per_email_subject: "The maximum tags that can be in the subject of an email"
max_tag_length: "The maximum amount of characters that can be used in a tag."
max_tag_search_results: "When searching for tags, the maximum number of results to show."
max_tags_in_filter_list: "Maximum number of tags to show in the filter dropdown. The most used tags will be shown."
tags_sort_alphabetically: "Show tags in alphabetical order. Default is to show in order of popularity."
tags_listed_by_group: "List tags by tag group on the <a href='%{base_path}/tags' target='_blank'>Tags page</a>."
tag_style: "Visual style for tag badges."
pm_tags_allowed_for_groups: "Allow members of included group(s) to tag any personal message"
min_trust_level_to_tag_topics: "Minimum trust level required to tag topics"
tag_topic_allowed_groups: "Groups that are allowed to tag topics."
suppress_overlapping_tags_in_list: "If tags match exact words in topic titles, don't show the tag"
remove_muted_tags_from_latest: "Don't show topics tagged only with muted tags in the latest topic list."
force_lowercase_tags: "Force all new tags to be entirely lowercase."
create_post_for_category_and_tag_changes: "Create a small action post when a topic's category or tags change"
automatically_clean_unused_tags: "Automatically delete tags that are not being used on any topics or private messages on a daily basis."
watched_precedence_over_muted: "Notify me about topics in categories or tags Im watching that also belong to one I have muted"
company_name: "Name of your company or organization. If left blank, no boilerplate Terms of Service or Privacy Notice will be provided."
governing_law: "Governing Law"
city_for_disputes: "City for Disputes"
shared_drafts_category: "Enable the Shared Drafts feature by designating a category for topic drafts. Topics in this category will be suppressed from topic lists for staff users."
shared_drafts_min_trust_level: "Allow users to see and edit Shared Drafts."
shared_drafts_allowed_groups: "Allow users in these groups to see and edit Shared Drafts."
push_notifications_prompt: "Display user consent prompt."
push_notifications_icon: "The badge icon that appears in the notification corner. A 96×96 monochromatic PNG with transparency is recommended."
enable_desktop_push_notifications: "Enable desktop push notifications"
push_notification_time_window_mins: "Wait (n) minutes before sending push notification. Helps prevent push notifications from being sent to an active online user."
base_font: "Base font to use for most text on the site. Themes can override via the `--font-family` CSS custom property."
heading_font: "Font to use for headings on the site. Themes can override via the `--heading-font-family` CSS custom property."
enable_sitemap: "Generate a sitemap for your site and include it in the robots.txt file."
sitemap_page_size: "Number of URLs to include in each sitemap page. Max 50.000"
enable_user_status: "(experimental) Allow users to set custom status message (emoji + description)."
enable_user_tips: "Enable new user tips that describe key features to users"
short_title: "The short title will be used on the user's home screen, launcher, or other places where space may be limited. It should be limited to 12 characters."
dashboard_hidden_reports: "Allow to hide the specified reports from the dashboard."
dashboard_visible_tabs: "Choose which dashboard tabs are visible."
dashboard_general_tab_activity_metrics: "Choose reports to be displayed as activity metrics on the general tab."
gravatar_name: "Name of the Gravatar provider"
gravatar_base_url: "Url of the Gravatar provider's API base"
gravatar_login_url: "Url relative to gravatar_base_url, which provides the user with the login to the Gravatar service"
share_quote_buttons: "Determine which items appear in the quote sharing widget, and in what order."
share_quote_visibility: "Determine when to show quote sharing buttons: never, to anonymous users only or all users. "
create_revision_on_bulk_topic_moves: "Create revision for first posts when topics are moved into a new category in bulk."
allow_changing_staged_user_tracking: "Allow a staged user's category and tag notification preferences to be changed by an admin user."
use_email_for_username_and_name_suggestions: "Use the first part of email addresses for username and name suggestions. Note that this makes it easier for the public to guess full user email addresses (because a large proportion of people share common services like `gmail.com`)."
use_name_for_username_suggestions: "Use a user's full name when suggesting usernames."
suggest_weekends_in_date_pickers: "Include weekends (Saturday and Sunday) in date picker suggestions (disable this if you use Discourse only on weekdays, Monday through Friday)."
splash_screen: "Displays a temporary loading screen while site assets load"
navigation_menu: "Determine which navigation menu to use."
default_navigation_menu_categories: "Selected categories will be displayed under Navigation Menu's Categories section by default."
default_navigation_menu_tags: "Selected tags will be displayed under Navigation Menu's Tags section by default."
experimental_new_new_view_groups: 'EXPERIMENTAL: Enable a new topics list that combines unread and new topics and make the "Everything" link in the sidebar link to it.'
enable_custom_sidebar_sections: "EXPERIMENTAL: Enable custom sidebar sections"
experimental_topics_filter: "EXPERIMENTAL: Enables the experimental topics filter route at /filter"
enable_experimental_lightbox: "EXPERIMENTAL: Replace the default image lightbox with the revamped design."
experimental_form_templates: "EXPERIMENTAL: Enable the form templates feature. <b>After enabled,</b> manage the templates at <a href='%{base_path}/admin/customize/form-templates'>Customize / Templates</a>."
admin_sidebar_enabled_groups: "EXPERIMENTAL: Enable sidebar navigation for the admin UI for the specified groups, which replaces the top-level admin navigation buttons."
lazy_load_categories_groups: "EXPERIMENTAL: Lazy load category information only for users of these groups. This improves performance on sites with many categories."
page_loading_indicator: "Configure the loading indicator which appears during page navigations within Discourse. 'Spinner' is a full page indicator. 'Slider' shows a narrow bar at the top of the screen."
show_user_menu_avatars: "Show user avatars in the user menu"
errors:
invalid_css_color: "Invalid color. Enter a color name or hex value."
invalid_email: "Invalid email address."
invalid_username: "There's no user with that username."
valid_username: "There's a user with that username."
invalid_group: "There's no group with that name."
invalid_integer_min_max: "Value must be between %{min} and %{max}."
invalid_integer_min: "Value must be %{min} or greater."
invalid_integer_max: "Value cannot be higher than %{max}."
invalid_integer: "Value must be an integer."
regex_mismatch: "Value doesn't match the required format."
must_include_latest: "Top menu must include the 'latest' tab."
invalid_string: "Invalid value."
invalid_string_min_max: "Must be between %{min} and %{max} characters."
invalid_string_min: "Must be at least %{min} characters."
invalid_string_max: "Must be no more than %{max} characters."
invalid_json: "Invalid JSON."
invalid_reply_by_email_address: "Value must contain '%{reply_key}' and be different from the notification email."
invalid_alternative_reply_by_email_addresses: "All values must contain '%{reply_key}' and be different from the notification email."
invalid_domain_hostname: "Must not include * or ? characters."
pop3_polling_host_is_empty: "You must set a 'pop3 polling host' before enabling POP3 polling."
pop3_polling_username_is_empty: "You must set a 'pop3 polling username' before enabling POP3 polling."
pop3_polling_password_is_empty: "You must set a 'pop3 polling password' before enabling POP3 polling."
pop3_polling_authentication_failed: "POP3 authentication failed. Please verify your pop3 credentials."
reply_by_email_address_is_empty: "You must set a 'reply by email address' before enabling reply by email."
email_polling_disabled: "You must enable either manual, POP3 polling or have a custom mail poller enabled before enabling reply by email."
user_locale_not_enabled: "You must first enable 'allow user locale' before enabling this setting."
at_least_one_group_required: "You must specify at least one group for this setting."
invalid_regex: "Regex is invalid or not allowed."
invalid_regex_with_message: "The regex '%{regex}' has an error: %{message}"
email_editable_enabled: "You must disable 'email editable' before enabling this setting."
staged_users_disabled: "You must first enable 'staged users' before enabling this setting."
reply_by_email_disabled: "You must first enable 'reply by email' before enabling this setting."
discourse_connect_url_is_empty: "You must set a 'discourse connect url' before enabling this setting."
enable_local_logins_disabled: "You must first enable 'enable local logins' before enabling this setting."
min_username_length_exists: "You cannot set the minimum username length above the shortest username (%{username})."
min_username_length_range: "You cannot set the minimum above the maximum."
max_username_length_exists: "You cannot set the maximum username length below the longest username (%{username})."
max_username_length_range: "You cannot set the maximum below the minimum."
invalid_hex_value: "Color values have to be 6-digit hexadecimal codes."
empty_selectable_avatars: "You must first upload at least two selectable avatars before enabling this setting."
category_search_priority:
low_weight_invalid: "You cannot set the weight to be greater or equal to 1."
high_weight_invalid: "You cannot set the weight to be smaller or equal to 1."
allowed_unicode_usernames:
regex_invalid: "The regular expression is invalid: %{error}"
leading_trailing_slash: "The regular expression must not start and end with a slash."
unicode_usernames_avatars: "The internal system avatars do not support Unicode usernames."
list_value_count: "The list must contain exactly %{count} values."
markdown_linkify_tlds: "You cannot include a value of '*'."
google_oauth2_hd_groups: "You must configure all 'google oauth2 hd' settings before enabling this setting."
search_tokenize_chinese_enabled: "You must disable 'search_tokenize_chinese' before enabling this setting."
search_tokenize_japanese_enabled: "You must disable 'search_tokenize_japanese' before enabling this setting."
discourse_connect_cannot_be_enabled_if_second_factor_enforced: "You cannot enable DiscourseConnect if 2FA is enforced."
delete_rejected_email_after_days: "This setting cannot be set lower than the delete_email_logs_after_days setting or greater than %{max}"
invalid_uncategorized_category_setting: 'The "Uncategorized" category cannot be selected if ''allow uncategorized topics'' is not enabled.'
invalid_search_ranking_weights: "Value is invalid for search_ranking_weights site setting. Example: '{0.1,0.2,0.3,1.0}'. Note that maximum value for each weight is 1.0."
keywords:
anonymous_posting_allowed_groups: "anonymous_posting_min_trust_level"
here_mention_allowed_groups: "min_trust_level_for_here_mention"
shared_drafts_allowed_groups: "shared_drafts_min_trust_level"
approve_unless_allowed_groups: "approve_unless_trust_level"
approve_new_topics_unless_allowed_groups: "approve_new_topics_unless_trust_level"
email_in_allowed_groups: "email_in_min_trust"
edit_wiki_post_allowed_groups: "min_trust_to_edit_wiki_post"
uploaded_avatars_allowed_groups: "allow_uploaded_avatars"
create_topic_allowed_groups: "min_trust_to_create_topic"
edit_post_allowed_groups: "min_trust_to_edit_post"
flag_post_allowed_groups: "min_trust_to_flag_posts"
delete_all_posts_and_topics_allowed_groups: "tl4_delete_posts_and_topics"
user_card_background_allowed_groups: "min_trust_level_to_allow_user_card_background"
invite_allowed_groups: "min_trust_level_to_allow_invite"
ignore_allowed_groups: "min_trust_level_to_allow_ignore"
self_wiki_allowed_groups: "min_trust_to_allow_self_wiki"
create_tag_allowed_groups: "min_trust_to_create_tag"
send_email_messages_allowed_groups: "min_trust_to_send_email_messages"
skip_review_media_groups: "review_media_unless_trust_level"
embedded_media_allowed_groups: "min_trust_to_post_embedded_media"
post_links_allowed_groups: "min_trust_to_post_links"
user_api_key_allowed_groups: "min_trust_level_for_user_api_key"
tag_topic_allowed_groups: "min_trust_level_to_tag_topics"
profile_background_allowed_groups: "min_trust_level_to_allow_profile_background"
placeholder:
discourse_connect_provider_secrets:
key: "www.example.com"
value: "DiscourseConnect secret"
search:
extreme_load_error: "Site is under extreme load, search is disabled, try again later"
within_post: "#%{post_number} by %{username}"
types:
category: "Categories"
topic: "Results"
user: "Users"
results_page: "Search results for '%{term}'"
audio: "[audio]"
video: "[video]"
discourse_connect:
login_error: "Login Error"
not_found: "Your account couldn't be found. Please contact the site's administrator."
account_not_approved: "Your account is pending approval. You will receive an email notification when you are approved."
unknown_error: "There is a problem with your account. Please contact the site's administrator."
timeout_expired: "Account login timed out, please try logging in again."
no_email: "No email address was provided. Please contact the site's administrator."
blank_id_error: "The `external_id` is required but was blank"
email_error: "An account could not be registered with the email address <b>%{email}</b>. Please contact the site's administrator."
missing_secret: "Authentication failed due to missing secret. Contact the site administrators to fix this problem."
invite_redeem_failed: "Invite redemption failed. Please contact the site's administrator."
invalid_parameter_value: "Authentication failed due to invalid value for `%{param}` parameter. Contact the site administrators to fix this problem."
original_poster: "Original Poster"
most_recent_poster: "Most Recent Poster"
frequent_poster: "Frequent Poster"
# Example: "Original Poster, Most Recent Poster"
poster_description_joiner: ", "
redirected_to_top_reasons:
new_user: "Welcome to our community! These are the most popular recent topics."
not_seen_in_a_month: "Welcome back! We haven't seen you in a while. These are the most popular topics since you've been away."
merge_posts:
edit_reason:
one: "A post was merged in by %{username}"
other: "%{count} posts were merged in by %{username}"
errors:
different_topics: "Posts belonging to different topics cannot be merged."
different_users: "Posts belonging to different users cannot be merged."
max_post_length: "Posts cannot be merged because the combined post length is more than allowed."
move_posts:
new_topic_moderator_post:
one: "A post was split to a new topic: %{topic_link}"
other: "%{count} posts were split to a new topic: %{topic_link}"
new_message_moderator_post:
one: "A post was split to a new message: %{topic_link}"
other: "%{count} posts were split to a new message: %{topic_link}"
existing_topic_moderator_post:
one: "A post was merged into an existing topic: %{topic_link}"
other: "%{count} posts were merged into an existing topic: %{topic_link}"
existing_message_moderator_post:
one: "A post was merged into an existing message: %{topic_link}"
other: "%{count} posts were merged into an existing message: %{topic_link}"
change_owner:
post_revision_text: "Ownership transferred"
publish_page:
slug_errors:
blank: "can't be blank"
unavailable: "is unavailable"
invalid: "contains invalid characters"
topic_statuses:
autoclosed_message_max_posts:
one: "This message was automatically closed after reaching the maximum limit of %{count} reply."
other: "This message was automatically closed after reaching the maximum limit of %{count} replies."
autoclosed_topic_max_posts:
one: "This topic was automatically closed after reaching the maximum limit of %{count} reply."
other: "This topic was automatically closed after reaching the maximum limit of %{count} replies."
autoclosed_enabled_days:
one: "This topic was automatically closed after %{count} day. New replies are no longer allowed."
other: "This topic was automatically closed after %{count} days. New replies are no longer allowed."
autoclosed_enabled_hours:
one: "This topic was automatically closed after %{count} hour. New replies are no longer allowed."
other: "This topic was automatically closed after %{count} hours. New replies are no longer allowed."
autoclosed_enabled_minutes:
one: "This topic was automatically closed after %{count} minute. New replies are no longer allowed."
other: "This topic was automatically closed after %{count} minutes. New replies are no longer allowed."
autoclosed_enabled_lastpost_days:
one: "This topic was automatically closed %{count} day after the last reply. New replies are no longer allowed."
other: "This topic was automatically closed %{count} days after the last reply. New replies are no longer allowed."
autoclosed_enabled_lastpost_hours:
one: "This topic was automatically closed %{count} hour after the last reply. New replies are no longer allowed."
other: "This topic was automatically closed %{count} hours after the last reply. New replies are no longer allowed."
autoclosed_enabled_lastpost_minutes:
one: "This topic was automatically closed %{count} minute after the last reply. New replies are no longer allowed."
other: "This topic was automatically closed %{count} minutes after the last reply. New replies are no longer allowed."
autoclosed_disabled_days:
one: "This topic was automatically opened after %{count} day."
other: "This topic was automatically opened after %{count} days."
autoclosed_disabled_hours:
one: "This topic was automatically opened after %{count} hour."
other: "This topic was automatically opened after %{count} hours."
autoclosed_disabled_minutes:
one: "This topic was automatically opened after %{count} minute."
other: "This topic was automatically opened after %{count} minutes."
autoclosed_disabled_lastpost_days:
one: "This topic was automatically opened %{count} day after the last reply."
other: "This topic was automatically opened %{count} days after the last reply."
autoclosed_disabled_lastpost_hours:
one: "This topic was automatically opened %{count} hour after the last reply."
other: "This topic was automatically opened %{count} hours after the last reply."
autoclosed_disabled_lastpost_minutes:
one: "This topic was automatically opened %{count} minute after the last reply."
other: "This topic was automatically opened %{count} minutes after the last reply."
autoclosed_disabled: "This topic is now opened. New replies are allowed."
autoclosed_disabled_lastpost: "This topic is now opened. New replies are allowed."
auto_deleted_by_timer: "Automatically deleted by timer."
login:
invalid_second_factor_method: "The selected two-factor method is invalid."
not_enabled_second_factor_method: "The selected two-factor method is not enabled for your account."
security_key_description: "When you have your physical security key prepared press the Authenticate with Security Key button below."
security_key_alternative: "Try another way"
security_key_authenticate: "Authenticate with Security Key"
security_key_not_allowed_error: "The security key authentication process either timed out or was cancelled."
security_key_no_matching_credential_error: "No matching credentials could be found in the provided security key."
security_key_support_missing_error: "Your current device or browser does not support the use of security keys. Please use a different method."
security_key_invalid: "There was an error validating the security key."
not_approved: "Your account hasn't been approved yet. You will be notified by email when you are ready to log in."
incorrect_username_email_or_password: "Incorrect username, email or password"
incorrect_password: "Incorrect password"
incorrect_password_or_passkey: "Incorrect password or passkey"
wait_approval: "Thanks for signing up. We will notify you when your account has been approved."
active: "Your account is activated and ready to use."
activate_email: "<p>Youre almost done! We sent an activation mail to <b>%{email}</b>. Please follow the instructions in the mail to activate your account.</p><p>If it doesnt arrive, check your spam folder.</p>"
not_activated: "You can't log in yet. We sent an activation email to you. Please follow the instructions in the email to activate your account."
not_allowed_from_ip_address: "You can't log in as %{username} from that IP address."
admin_not_allowed_from_ip_address: "You can't log in as admin from that IP address."
reset_not_allowed_from_ip_address: "You can't request a password reset from that IP address."
suspended: "You can't log in until %{date}."
suspended_with_reason: "Account suspended until %{date}: %{reason}"
suspended_with_reason_forever: "Account suspended: %{reason}"
errors: "%{errors}"
not_available: "Not available. Try %{suggestion}?"
something_already_taken: "Something went wrong, perhaps the username or email is already registered. Try the forgot password link."
omniauth_error:
generic: "Sorry, there was an error authorizing your account. Please try again."
csrf_detected: "Authorization timed out, or you have switched browsers. Please try again."
request_error: "An error occurred when starting authorization. Please try again."
invalid_iat: "Unable to verify authorization token due to server clock differences. Please try again."
omniauth_error_unknown: "Something went wrong processing your login, please try again."
omniauth_confirm_title: "Log in using %{provider}"
omniauth_confirm_button: "Continue"
authenticator_error_no_valid_email: "No email addresses associated with %{account} are allowed. You may need to configure your account with a different email address."
new_registrations_disabled: "New account registrations are not allowed at this time."
password_too_long: "Passwords are limited to 200 characters."
email_too_long: "The email you provided is too long. Mailbox names must be no more than 254 characters, and domain names must be no more than 253 characters."
wrong_invite_code: "The invite code you entered was incorrect."
reserved_username: "That username is not allowed."
missing_user_field: "You have not completed all the user fields"
auth_complete: "Authentication is complete."
click_to_continue: "Click here to continue."
already_logged_in: "Sorry! This invitation is intended for new users, who do not already have an existing account."
second_factor_title: "Two-Factor Authentication"
second_factor_description: "Please enter the required authentication code from your app:"
second_factor_backup_description: "Please enter one of your backup codes:"
second_factor_backup_title: "Two-Factor Backup Code"
invalid_second_factor_code: "Invalid authentication code. Each code can only be used once."
invalid_security_key: "Invalid security key."
missing_second_factor_name: "Please provide a name."
missing_second_factor_code: "Please provide a code."
too_many_authenticators: "Sorry, you can't have more than 50 authenticators. Please remove an existing one and try again."
too_many_security_keys: "Sorry, you can't have more than 50 security keys. Please remove an existing one and try again."
second_factor_toggle:
totp: "Use an authenticator app or security key instead"
backup_code: "Use a backup code instead"
second_factor_auth:
challenge_not_found: "Couldn't find a 2FA challenge in your current session."
challenge_expired: "Too much time has passed since the 2FA challenge was staged and it's no longer valid. Please try again."
challenge_not_completed: "You've not completed the 2FA challenge to perform this action. Please complete the 2FA challenge and try again."
actions:
grant_admin:
description: "For additional security measures, you need to confirm your 2FA before %{username} is granted admin access."
discourse_connect_provider:
description: "%{hostname} has requested that you confirm your 2FA. You'll be redirected back to the site once you confirm your 2FA."
admin:
email:
sent_test: "sent!"
user:
merge_user:
updating_username: "Updating username…"
changing_post_ownership: "Changing post ownership…"
merging_given_daily_likes: "Merging given daily likes…"
merging_post_timings: "Merging post timings…"
merging_user_visits: "Merging user visits…"
updating_site_settings: "Updating site settings…"
updating_user_stats: "Updating user stats…"
merging_user_attributes: "Merging user attributes…"
updating_user_ids: "Updating user ids…"
deleting_source_user: "Deleting source user…"
user:
deactivated: "Was deactivated due to too many bounced emails to '%{email}'."
deactivated_by_staff: "Deactivated by staff"
deactivated_by_inactivity:
one: "Automatically deactivated after %{count} day of inactivity"
other: "Automatically deactivated after %{count} days of inactivity"
activated_by_staff: "Activated by staff"
new_user_typed_too_fast: "New user typed too fast"
content_matches_auto_silence_regex: "Content matches auto silence regex"
username:
short: "must be at least %{min} characters"
long: "must be no more than %{max} characters"
too_long: "is too long"
characters: "must only include numbers, letters, dashes, dots, and underscores"
unique: "must be unique"
blank: "must be present"
must_begin_with_alphanumeric_or_underscore: "must begin with a letter, a number or an underscore"
must_end_with_alphanumeric: "must end with a letter or a number"
must_not_contain_two_special_chars_in_seq: "must not contain a sequence of 2 or more special chars (.-_)"
must_not_end_with_confusing_suffix: "must not end with a confusing suffix like .json or .png etc."
email:
blank: "can't be blank."
invalid: "is invalid."
not_allowed: "is not allowed from that email provider. Please use another email address."
blocked: "is not allowed."
revoked: "Won't be sending emails to '%{email}' until %{date}."
does_not_exist: "N/A"
website:
domain_not_allowed: "Website is invalid. Allowed domains are: %{domains}"
auto_rejected: "Rejected automatically due to age. See auto_handle_queued_age site setting."
destroy_reasons:
unused_staged_user: "Unused staged user"
fixed_primary_email: "Fixed primary email for staged user"
same_ip_address: "Same IP address (%{ip_address}) as other users"
inactive_user: "Inactive user"
reviewable_reject_auto: "Auto handle queued reviewables"
reviewable_reject: "Reviewable user rejected"
email_in_spam_header: "User's first email was flagged as spam"
already_silenced: "User was already silenced by %{staff} %{time_ago}."
already_suspended: "User was already suspended by %{staff} %{time_ago}."
cannot_delete_has_posts:
one: "User %{username} has %{count} post in a public topic or personal message, so they can't be deleted."
other: "User %{username} has %{count} posts in public topics or personal messages, so they can't be deleted."
unsubscribe_mailer:
title: "Unsubscribe Mailer"
subject_template: "Confirm you no longer want to receive email updates from %{site_title}"
text_body_template: |
Someone (possibly you?) requested to no longer send email updates from %{site_domain_name} to this address.
If you wish to confirm this, please click this link:
%{confirm_unsubscribe_link}
If you want to continue receiving email updates, you may ignore this email.
invite_mailer:
title: "Invite Mailer"
subject_template: "%{inviter_name} invited you to '%{topic_title}' on %{site_domain_name}"
text_body_template: |
%{inviter_name} invited you to a discussion
> **%{topic_title}**
>
> %{topic_excerpt}
at
> %{site_title} -- %{site_description}
If you're interested, click the link below:
%{invite_link}
custom_invite_mailer:
title: "Custom Invite Mailer"
subject_template: "%{inviter_name} invited you to '%{topic_title}' on %{site_domain_name}"
text_body_template: |
%{inviter_name} invited you to a discussion
> **%{topic_title}**
>
> %{topic_excerpt}
at
> %{site_title} -- %{site_description}
With this note
> %{user_custom_message}
If you're interested, click the link below:
%{invite_link}
invite_forum_mailer:
title: "Invite Forum Mailer"
subject_template: "%{inviter_name} invited you to join %{site_domain_name}"
text_body_template: |
%{inviter_name} invited you to join
> **%{site_title}**
>
> %{site_description}
If you're interested, click the link below:
%{invite_link}
custom_invite_forum_mailer:
title: "Custom Invite Forum Mailer"
subject_template: "%{inviter_name} invited you to join %{site_domain_name}"
text_body_template: |
%{inviter_name} invited you to join
> **%{site_title}**
>
> %{site_description}
With this note
> %{user_custom_message}
If you're interested, click the link below:
%{invite_link}
invite_password_instructions:
title: "Invite Password Instructions"
subject_template: "Set password for your %{site_name} account"
text_body_template: |
Thanks for accepting your invitation to %{site_name} -- welcome!
Click this link to choose a password now:
%{base_url}/u/password-reset/%{email_token}
(If the link above has expired, choose "I forgot my password" when logging in with your email address.)
download_backup_mailer:
title: "Download Backup Mailer"
subject_template: "[%{email_prefix}] Site Backup Download"
text_body_template: |
Here's the [site backup download](%{backup_file_path}) you requested.
We sent this download link to your validated email address for security reasons.
(If you *didn't* request this download, you should be seriously concerned -- someone has admin access to your site.)
no_token: |
Sorry, this backup download link has already been used or has expired.
admin_confirmation_mailer:
title: "Admin Confirmation"
subject_template: "[%{email_prefix}] Confirm new Admin Account"
text_body_template: |
Please confirm that you'd like to add **%{target_username} (%{target_email})** as an administrator for your forum.
[Confirm Administrator Account](%{admin_confirm_url})
test_mailer:
title: "Test Mailer"
subject_template: "[%{email_prefix}] Email Deliverability Test"
text_body_template: |
This is a test email from
[**%{base_url}**][0]
We hope you received this email deliverability test OK!
Here is a [handy checklist for verifying email delivery configuration][1].
Good luck,
Your friends at [Discourse](https://www.discourse.org)
[0]: %{base_url}
[1]: https://meta.discourse.org/t/email-delivery-configuration-checklist/209839
new_version_mailer:
title: "New Version Mailer"
subject_template: "[%{email_prefix}] New Discourse version, update available"
text_body_template: |
Hooray, a new version of [Discourse](https://www.discourse.org) is available!
Your version: %{installed_version}
New version: **%{new_version}**
- Upgrade using our easy **[one-click browser upgrade](%{base_url}/admin/upgrade)**
- See what's new in the [release notes](https://meta.discourse.org/tag/release-notes) or view the [raw GitHub changelog](https://github.com/discourse/discourse/commits/main)
- Visit [meta.discourse.org](https://meta.discourse.org) for news, discussion, and support for Discourse
new_version_mailer_with_notes:
title: "New Version Mailer with Notes"
subject_template: "[%{email_prefix}] update available"
text_body_template: |
Hooray, a new version of [Discourse](https://www.discourse.org) is available!
Your version: %{installed_version}
New version: **%{new_version}**
- Upgrade using our easy **[one-click browser upgrade](%{base_url}/admin/upgrade)**
- See what's new in the [release notes](https://meta.discourse.org/tag/release-notes) or view the [raw GitHub changelog](https://github.com/discourse/discourse/commits/main)
- Visit [meta.discourse.org](https://meta.discourse.org) for news, discussion, and support for Discourse
### Release notes
%{notes}
flag_reasons:
off_topic: "Your post was flagged as **off-topic**: the community feels it is not a good fit for the topic, as currently defined by the title and the first post."
inappropriate: "Your post was flagged as **inappropriate**: the community feels it is offensive, abusive, to be hateful conduct or a violation of [our community guidelines](%{base_path}/guidelines)."
illegal: "Your post was flagged as **illegal**: the community thinks it might be breaking the law."
spam: "Your post was flagged as **spam**: the community feels it is an advertisement, something that is overly promotional in nature instead of being useful or relevant to the topic as expected."
notify_moderators: "Your post was flagged **for moderator attention**: the community feels something about the post requires manual intervention by a staff member."
responder:
off_topic: "The post was flagged as **off-topic**: the community feels it is not a good fit for the topic, as currently defined by the title and the first post."
inappropriate: "The post was flagged as **inappropriate**: the community feels it is offensive, abusive, to be hateful conduct or a violation of [our community guidelines](%{base_path}/guidelines)."
spam: "The post was flagged as **spam**: the community feels it is an advertisement, something that is overly promotional in nature instead of being useful or relevant to the topic as expected."
notify_moderators: "The post was flagged **for moderator attention**: the community feels something about the post requires manual intervention by a staff member."
flags_dispositions:
agreed: "Thanks for letting us know. We agree there is an issue and we're looking into it."
agreed_and_deleted: "Thanks for letting us know. We agree there is an issue and we've removed the post."
disagreed: "Thanks for letting us know. We're looking into it."
ignored: "Thanks for letting us know. We're looking into it."
ignored_and_deleted: "Thanks for letting us know. We've removed the post."
temporarily_closed_due_to_flags:
one: "This topic is temporarily closed for at least %{count} hour due to a large number of community flags."
other: "This topic is temporarily closed for at least %{count} hours due to a large number of community flags."
system_messages:
reviewables_reminder:
subject_template: "There are items in the review queue that need reviewing"
text_body_template:
one: "%{mentions} Items were submitted over %{count} hour ago. [Please review them](%{base_url}/review)."
other: "%{mentions} Items were submitted over %{count} hours ago. [Please review them](%{base_url}/review)."
private_topic_title: "Topic #%{id}"
contents_hidden: "Please visit the post to see its contents."
post_hidden:
title: "Post Hidden"
subject_template: "Post hidden by community flags"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that your post was hidden.
<%{base_url}%{url}>
%{flag_reason}
This post was hidden due to flags from the community, so please consider how you might revise your post to reflect their feedback. **You can edit your post after %{edit_delay} minutes, and it will be automatically unhidden.**
However, if the post is hidden by the community a second time, it will remain hidden until handled by staff.
For additional guidance, please refer to our [community guidelines](%{base_url}/guidelines).
reviewable_queued_post_revise_and_reject:
title: "Feedback on your post"
subject_template: "Feedback on your post in %{topic_title}"
text_body_template: |
Hi %{username},
We've reviewed your post in [%{topic_title}](%{topic_url}) and have some feedback for you.
Reason: %{reason}
Feedback: %{feedback}
You can edit your original post below and re-submit to make the suggested changes, or reply to this message if you have any questions.
--------
%{original_post}
--------
Thanks,
%{site_name} Moderators
reviewable_queued_post_revise_and_reject_new_topic:
title: "Feedback on your topic"
subject_template: 'Feedback on new topic titled "%{topic_title}"'
text_body_template: |
Hi %{username},
We've reviewed your new topic titled "%{topic_title}" and have some feedback for you.
Reason: %{reason}
Feedback: %{feedback}
You can edit your topic's original post below and re-submit to make the suggested changes, or reply to this message if you have any questions.
--------
%{original_post}
--------
Thanks,
%{site_name} Moderators
post_hidden_again:
title: "Post Hidden again"
subject_template: "Post hidden by community flags, staff notified"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that your post was hidden again.
<%{base_url}%{url}>
%{flag_reason}
The community flagged this post and now it is hidden. **Because this post has been hidden more than once, your post will now remain hidden until it is handled by a staff member.**
For additional guidance, please refer to our [community guidelines](%{base_url}/guidelines).
queued_by_staff:
title: "Post Needs Approval"
subject_template: "Post hidden by staff, awaiting approval"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that your post was hidden.
<%{base_url}%{url}>
Your post will remain hidden until a staff member reviews it.
For additional guidance, please refer to our [community guidelines](%{base_url}/guidelines).
flags_disagreed:
title: "Flagged post restored by staff"
subject_template: "Flagged post restored by staff"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that [your post](%{base_url}%{url}) was restored.
This post was flagged by the community and a staff member opted to restore it.
[details="Click to expand restored post"]
``` markdown
%{flagged_post_raw_content}
```
[/details]
flags_agreed_and_post_deleted:
title: "Flagged post removed by staff"
subject_template: "Flagged post removed by staff"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that [your post](%{base_url}%{url}) was removed.
%{flag_reason}
This post was flagged by the community and a staff member opted to remove it.
``` markdown
%{flagged_post_raw_content}
```
Please review our [community guidelines](%{base_url}/guidelines) for details.
flags_agreed_and_post_deleted_for_responders:
title: "Reply removed from flagged post by staff"
subject_template: "Reply removed from flagged post by staff"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that a [post](%{base_url}%{url}) you replied to was removed.
%{flag_reason}
This post was flagged by the community and a staff member opted to remove it.
``` markdown
%{flagged_post_raw_content}
```
To which you responded
``` markdown
%{flagged_post_response_raw_content}
```
For more details on the reason for removal, please review our [community guidelines](%{base_url}/guidelines).
usage_tips:
text_body_template: |
For a few quick tips on getting started as a new user, [check out this blog post](https://blog.discourse.org/2016/12/discourse-new-user-tips-and-tricks/).
As you participate here, well get to know you, and temporary new user limitations will be lifted. Over time youll gain [trust levels](https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/) that include special abilities to help us manage our community together.
welcome_user:
title: "Welcome User"
subject_template: "Welcome to %{site_name}!"
text_body_template: |
Thanks for joining %{site_name}, and welcome!
%{new_user_tips}
We believe in [civilized community behavior](%{base_url}/guidelines) at all times.
Enjoy your stay!
welcome_tl1_user:
title: "Welcome TL1 User"
subject_template: "Thanks for spending time with us"
text_body_template: |
Hey there. We see youve been busy reading, which is fantastic, so weve promoted you up a [trust level!](https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/)
Were really glad youre spending time with us and wed love to know more about you. Take a moment to [fill out your profile](%{base_url}/my/preferences/profile), or feel free to [start a new topic](%{base_url}/categories).
welcome_staff:
title: "Welcome Staff"
subject_template: "Congratulations, youve been granted %{role} status!"
text_body_template: |
Youve been granted %{role} status by a fellow staff member.
As a %{role}, you now have access to the <a href='%{base_url}/admin' target='_blank'>admin interface</a>.
With great power comes great responsibility. If youre new to moderating, please refer to the [Moderation Guide](https://meta.discourse.org/t/discourse-moderation-guide/63116).
welcome_invite:
title: "Welcome Invite"
subject_template: "Welcome to %{site_name}!"
text_body_template: |
Thanks for accepting your invitation to %{site_name} -- welcome!
- We've created this new account **%{username}** for you. Change your name or password by visiting [your user profile][prefs].
- When you log in, please **use the same email address from your original invitation** — otherwise we won't be able to tell it's you!
%{new_user_tips}
We believe in [civilized community behavior](%{base_url}/guidelines) at all times.
Enjoy your stay!
[prefs]: %{user_preferences_url}
tl2_promotion_message:
subject_template: "Congratulations on your trust level promotion!"
text_body_template: |
Weve promoted you up another [trust level](https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/)!
Achieving Trust Level 2 means that you have read and actively participated enough to be considered a member of this community.
As an experienced user, you might appreciate [this list of handy tips and tricks](https://blog.discourse.org/2016/12/discourse-new-user-tips-and-tricks/).
We invite you to keep getting involved we enjoy having you around.
backup_succeeded:
title: "Backup Succeeded"
subject_template: "Backup completed successfully"
text_body_template: |
The backup was successful.
Visit the [admin > backup section](%{base_url}/admin/backups) to download your new backup.
Here's the log:
%{logs}
backup_failed:
title: "Backup Failed"
subject_template: "Backup failed"
text_body_template: |
The backup has failed.
Here's the log:
%{logs}
restore_succeeded:
title: "Restore Succeeded"
subject_template: "Restore completed successfully"
text_body_template: |
The restore was successful.
Here's the log:
%{logs}
restore_failed:
title: "Restore Failed"
subject_template: "Restore failed"
text_body_template: |
The restore has failed.
Here's the log:
%{logs}
bulk_invite_succeeded:
title: "Bulk Invite Succeeded"
subject_template: "Bulk user invite processed successfully"
text_body_template: |
Your bulk user invite file was processed, %{sent} invites mailed, %{skipped} skipped and %{warnings} warning(s).
``` text
%{logs}
```
bulk_invite_failed:
title: "Bulk Invite Failed"
subject_template: "Bulk user invite processed with errors"
text_body_template: |
Your bulk user invite file was processed, %{sent} invites mailed, %{skipped} skipped, %{warnings} warning(s) and %{failed} error(s).
Here's the log:
``` text
%{logs}
```
user_added_to_group_as_owner:
title: "Added to Group as Owner"
subject_template: "You have been added as an owner of the %{group_name} group"
text_body_template: |
You have been added as an owner of the [%{group_name}](%{base_url}%{group_path}) group.
user_added_to_group_as_member:
title: "Added to Group as Member"
subject_template: "You have been added as a member of the %{group_name} group"
text_body_template: |
You have been added as a member of the [%{group_name}](%{base_url}%{group_path}) group.
csv_export_succeeded:
title: "CSV Export Succeeded"
subject_template: "[%{export_title}] Data export complete"
text_body_template: |
Your data export was successful! :dvd:
%{download_link}
The above download link will be valid for 48 hours.
The data is compressed as a zip archive. If the archive does not extract itself when you open it, use the tool recommended here: https://www.7-zip.org/
csv_export_failed:
title: "CSV Export Failed"
subject_template: "Data export failed"
text_body_template: "We're sorry, but your data export failed. Please check the logs or [contact a staff member](%{base_url}/about)."
email_reject_insufficient_trust_level:
title: "Email Reject insufficient Trust Level"
subject_template: "[%{email_prefix}] Email issue -- Insufficient Trust Level"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your account does not have the required trust level to post new topics to this email address. If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_user_not_found:
title: "Email Reject User Not Found"
subject_template: "[%{email_prefix}] Email issue -- User Not Found"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your reply was sent from an unknown email address. Try sending from another email address, or [contact a staff member](%{base_url}/about).
email_reject_screened_email:
title: "Email Reject Screened Email"
subject_template: "[%{email_prefix}] Email issue -- Blocked Email"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your reply was sent from a blocked email address. Try sending from another email address, or [contact a staff member](%{base_url}/about).
email_reject_not_allowed_email:
title: "Email Reject Not Allowed Email"
subject_template: "[%{email_prefix}] Email issue -- Blocked Email"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your reply was sent from a blocked email address. Try sending from another email address, or [contact a staff member](%{base_url}/about).
email_reject_inactive_user:
title: "Email Reject Inactive User"
subject_template: "[%{email_prefix}] Email issue -- Inactive User"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your account associated with this email address is not activated. Please activate your account before sending emails in.
email_reject_silenced_user:
title: "Email Reject Silenced User"
subject_template: "[%{email_prefix}] Email issue -- Silenced User"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your account associated with this email address has been silenced.
email_reject_reply_user_not_matching:
title: "Email Reject User Not Matching"
subject_template: "[%{email_prefix}] Email issue -- Unexpected Reply Address"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your reply was sent from a different email address than the one we expected, so we're not sure if this is the same person. Try sending from another email address, or [contact a staff member](%{base_url}/about).
email_reject_empty:
title: "Email Reject Empty"
subject_template: "[%{email_prefix}] Email issue -- No Content"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
We couldn't find any reply content in your email.
If you're getting this and you _did_ include a reply, try again with simpler formatting.
email_reject_parsing:
title: "Email Reject Parsing"
subject_template: "[%{email_prefix}] Email issue -- Content Unrecognized"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
We couldn't find your reply in the email. **Make sure your reply is at the top of the email** -- we can't process inline replies.
email_reject_invalid_access:
title: "Email Reject Invalid Access"
subject_template: "[%{email_prefix}] Email issue -- Invalid Access"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your account does not have the privileges to post new topics in that category. If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_strangers_not_allowed:
title: "Email Reject Strangers Not Allowed"
subject_template: "[%{email_prefix}] Email issue -- Invalid Access"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
The category you sent this email to only allows replies from users with valid accounts and known email addresses. If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_invalid_post:
title: "Email Reject Invalid Post"
subject_template: "[%{email_prefix}] Email issue -- Posting error"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Some possible causes are: complex formatting, message too large, message too small. Please try again, or post via the website if this continues.
email_reject_invalid_post_specified:
title: "Email Reject Invalid Post Specified"
subject_template: "[%{email_prefix}] Email issue -- Posting error"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Reason:
%{post_error}
If you can correct the problem, please try again.
date_invalid: "No post creation date found. Is the e-mail missing a Date: header?"
email_reject_post_too_short:
title: "Email Reject Post Too Short"
subject_template: "[%{email_prefix}] Email issue -- Post too short"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
To promote more in depth conversations, very short replies are not allowed. Can you please reply with at least %{count} characters? Alternatively, you can like a post via email by replying with "+1".
email_reject_invalid_post_action:
title: "Email Reject Invalid Post Action"
subject_template: "[%{email_prefix}] Email issue -- Invalid Post Action"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
The Post Action was not recognized. Please try again, or post via the website if this continues.
email_reject_reply_key:
title: "Email Reject Reply Key"
subject_template: "[%{email_prefix}] Email issue -- Unknown Reply Key"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
The reply key in the email is invalid or unknown, so we can't figure out what this email is in reply to. [Contact a staff member](%{base_url}/about).
email_reject_bad_destination_address:
title: "Email Reject Bad Destination Address"
subject_template: "[%{email_prefix}] Email issue -- Unknown To: Address"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Here are some things to check:
- Do you use more than one email address? Did you reply from a different email address than the one you originally used? Email replies require that you use the same email address when replying.
- Did your email software properly use the Reply-To: email address when replying? Unfortunately, some email software incorrectly sends replies to the From: address, which wont work.
- Was the Message-ID header in the email modified? The Message-ID must be consistent and unchanged.
Need more help? Reach out to us via the Contact Us details at %{base_url}/about
email_reject_old_destination:
title: "Email Reject Old Destination"
subject_template: "[%{email_prefix}] Email issue -- You are trying to reply to an old notification"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
We only accept replies to original notifications for %{number_of_days} days. Please [visit the topic](%{short_url}) to continue the conversation.
email_reject_topic_not_found:
title: "Email Reject Topic Not Found"
subject_template: "[%{email_prefix}] Email issue -- Topic Not Found"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
The topic you are replying to no longer exists -- perhaps it was deleted? If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_topic_closed:
title: "Email Reject Topic Closed"
subject_template: "[%{email_prefix}] Email issue -- Topic Closed"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
The topic you are replying to is currently closed and no longer accepting replies. If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_auto_generated:
title: "Email Reject Auto Generated"
subject_template: "[%{email_prefix}] Email issue -- Auto Generated Reply"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
Your email was marked as "auto generated", which means it was automatically created by a computer instead of being typed by a human; we can't accept those kinds of emails. If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_unrecognized_error:
title: "Email Reject Unrecognized Error"
subject_template: "[%{email_prefix}] Email issue -- Unrecognized Error"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
There was an unrecognized error while processing your email and it wasn't posted. You should try again, or [contact a staff member](%{base_url}/about).
email_reject_attachment:
title: "Email Attachment Rejected"
subject_template: "[%{email_prefix}] Email issue -- Attachment Rejected"
text_body_template: |
Unfortunately some attachments in your email message to %{destination} (titled %{former_title}) were rejected.
Details:
%{rejected_errors}
If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_reply_not_allowed:
title: "Email Reject Reply Not Allowed"
subject_template: "[%{email_prefix}] Email issue -- Reply Not Allowed"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
You don't have permissions to reply to the topic. If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_reply_to_digest:
title: "Email Reject Reply To Summary"
subject_template: "[%{email_prefix}] Email issue -- Reply to Summary"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
You replied to a Summary email, which is not accepted.
If you believe this is an error, [contact a staff member](%{base_url}/about).
email_reject_too_many_recipients:
title: "Email Reject Too Many Recipients"
subject_template: "[%{email_prefix}] Email issue -- Too Many Recipients"
text_body_template: |
We're sorry, but your email message to %{destination} (titled %{former_title}) didn't work.
You attempted to email more than %{max_recipients_count} people and our system automatically tagged your email as spam.
If you believe this is an error, [contact a staff member](%{base_url}/about).
email_error_notification:
title: "Email Error Notification"
subject_template: "[%{email_prefix}] Email issue -- POP authentication error"
text_body_template: |
Unfortunately, there was an authentication error while polling mails from the POP server.
Please make sure you have properly configured the POP credentials in [the site settings](%{base_url}/admin/site_settings/category/email).
If there is a web UI for the POP email account, you may need to log in on the web and check your settings there.
email_revoked:
title: "Email Revoked"
subject_template: "Is your email address correct?"
text_body_template: |
Were sorry, but were having trouble reaching you via email. Our last few emails to you have all bounced back as undeliverable.
Can you make sure [your email address](%{base_url}/my/preferences/email) is valid and working? You may also wish to add our email address to your address book / contact list to improve deliverability.
email_bounced: |
The message to %{email} bounced.
### Details
``` text
%{raw}
```
ignored_users_summary:
title: "Ignored User passed threshold"
subject_template: "A user is being ignored by many other users"
text_body_template: |
Hello,
This is an automated message from %{site_name} to inform you that @%{username} has been ignored by %{ignores_threshold} users. This could indicate a problem is developing in your community.
You might want to [review recent posts](%{base_url}/u/%{username}/summary) from this user, and potentially other users in the [ignored and muted user report](%{base_url}/admin/reports/top_ignored_users).
For additional guidance, please refer to our [community guidelines](%{base_url}/guidelines).
too_many_spam_flags:
title: "Too Many Spam Flags"
subject_template: "New account on hold"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that your posts have been temporarily hidden because they were flagged by the community.
As a precautionary measure, your new account has been silenced and will be unable to create replies or topics until a staff member can review your account. We apologize for the inconvenience.
For additional guidance, please refer to our [community guidelines](%{base_url}/guidelines).
too_many_tl3_flags:
title: "Too Many TL3 Flags"
subject_template: "New account on hold"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know you that your account has been placed on hold due to a large number of community flags.
As a precautionary measure, your new account has been silenced from creating new replies or topics until a staff member can review your account. We apologize for the inconvenience.
For additional guidance, please refer to our [community guidelines](%{base_url}/guidelines).
silenced_by_staff:
title: "Silenced by Staff"
subject_template: "Account temporarily on hold"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that your account has been temporarily placed on hold as a precautionary measure.
Please do continue to browse, but you won't be able to reply or create topics until a [staff member](%{base_url}/about) reviews your most recent posts. We apologize for the inconvenience.
For additional guidance, refer to our [community guidelines](%{base_url}/guidelines).
user_automatically_silenced:
title: "User Automatically Silenced"
subject_template: "New user %{username} silenced by community flags"
text_body_template: |
This is an automated message.
The new user [%{username}](%{user_url}) was automatically silenced because multiple users flagged %{username}'s post(s).
Please [review the flags](%{base_url}/review). If %{username} was incorrectly silenced from posting, click the unsilence button on [the admin page for this user](%{user_url}).
This threshold can be changed via the `silence_new_user` site settings.
spam_post_blocked:
title: "Spam Post Blocked"
subject_template: "New user %{username} posts blocked due to repeated links"
text_body_template: |
This is an automated message.
The new user [%{username}](%{user_url}) tried to create multiple posts with links to %{domains}, but those posts were blocked to avoid spam. The user is still able to create new posts that do not link to %{domains}.
Please [review the user](%{user_url}).
This can be modified via the `newuser_spam_host_threshold` and `allowed_spam_host_domains` site settings. Consider adding %{domains} to the allowlist if they should be exempt.
unsilenced:
title: "Unsilenced"
subject_template: "Account no longer on hold"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that your account is no longer on hold after staff review.
You can now create new replies and topics again. Thank you for your patience.
pending_users_reminder:
title: "Pending Users Reminder"
subject_template:
one: "%{count} user waiting for approval"
other: "%{count} users waiting for approval"
text_body_template: |
There are new user signups waiting to be approved (or rejected) before they can access this forum.
[Please review them](%{base_url}/review).
download_remote_images_disabled:
title: "Download Remote Images Disabled"
subject_template: "Downloading remote images disabled"
text_body_template: "The `download_remote_images_to_local` setting was disabled because the disk space limit at `download_remote_images_threshold` was reached."
new_user_of_the_month:
title: "You're a New User of the Month!"
subject_template: "You're a New User of the Month!"
text_body_template: |
Congratulations, you've earned the **New User of the Month award for %{month_year}**. :trophy:
This award is only granted to two new users per month, and it will be permanently visible on [the badges page](%{url}).
You've quickly become a valuable member of our community. Thanks for joining, and keep up the great work!
queued_posts_reminder:
title: "Queued Posts Reminder"
subject_template:
one: "%{count} post waiting to be reviewed"
other: "%{count} posts waiting to be reviewed"
text_body_template: |
Hello,
Posts from new users were held for moderation and are currently waiting to be reviewed. [Approve or reject them here](%{base_url}/review?type=ReviewableQueuedPost).
unsubscribe_link: |
To unsubscribe from these emails, [click here](%{unsubscribe_url}).
unsubscribe_link_and_mail: |
To unsubscribe from these emails, [click here](%{unsubscribe_url}).
unsubscribe_mailing_list: |
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click here](%{unsubscribe_url}).
subject_re: "Re: "
subject_pm: "[PM] "
email_from: "%{user_name} via %{site_name}"
email_from_without_site: "%{group_name}"
user_notifications:
previous_discussion: "Previous Replies"
reached_limit:
one: "Heads up: We send a maximum of %{count} daily email. Check the site to see the ones that might be held back."
other: "Heads up: We send a maximum of %{count} daily emails. Check the site to see the ones that might be held back. PS thanks for being popular!"
in_reply_to: "In Reply To"
header_instructions: ""
reply_by_email: "[Visit Topic](%{base_url}%{url}) or reply to this email to respond."
reply_by_email_pm: "[Visit Message](%{base_url}%{url}) or reply to this email to respond to %{participants}."
only_reply_by_email: "Reply to this email to respond."
only_reply_by_email_pm: "Reply to this email to respond to %{participants}."
visit_link_to_respond: "[Visit Topic](%{base_url}%{url}) to respond."
visit_link_to_respond_pm: "[Visit Message](%{base_url}%{url}) to respond to %{participants}."
reply_above_line: "## Please type your reply above this line. ##"
posted_by: "Posted by %{username} on %{post_date}"
pm_participants: "Participants: %{participants}"
more_pm_participants:
one: "%{participants} and %{count} other"
other: "%{participants} and %{count} others"
invited_group_to_private_message_body: |
%{username} invited @%{group_name} to a message
> **[%{topic_title}](%{topic_url})**
>
> %{topic_excerpt}
at
> %{site_title} -- %{site_description}
To join the message, click the link below:
%{topic_url}
invited_to_private_message_body: |
%{username} invited you to a message
> **[%{topic_title}](%{topic_url})**
>
> %{topic_excerpt}
at
> %{site_title} -- %{site_description}
To join the message, click the link below:
%{topic_url}
invited_to_topic_body: |
%{username} invited you to a discussion
> **[%{topic_title}](%{topic_url})**
>
> %{topic_excerpt}
at
> %{site_title} -- %{site_description}
To join the discussion, click the link below:
%{topic_url}
user_invited_to_private_message_pm_group:
title: "User Invited Group to PM"
subject_template: "[%{email_prefix}] %{username} invited @%{group_name} to a message '%{topic_title}'"
text_body_template: |
%{header_instructions}
%{message}
%{respond_instructions}
user_invited_to_private_message_pm:
title: "User Invited to PM"
subject_template: "[%{email_prefix}] %{username} invited you to a message '%{topic_title}'"
text_body_template: |
%{header_instructions}
%{message}
%{respond_instructions}
user_invited_to_private_message_pm_staged:
title: "User Invited to PM Staged"
subject_template: "[%{email_prefix}] %{username} invited you to a message '%{topic_title}'"
text_body_template: |
%{header_instructions}
%{message}
%{respond_instructions}
user_invited_to_topic:
title: "User Invited to Topic"
subject_template: "[%{email_prefix}] %{username} invited you to '%{topic_title}'"
text_body_template: |
%{header_instructions}
%{message}
%{respond_instructions}
user_replied:
title: "User Replied"
subject_template: "[%{email_prefix}] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_replied_pm:
title: "User Replied PM"
subject_template: "[%{email_prefix}] [PM] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_quoted:
title: "User Quoted"
subject_template: "[%{email_prefix}] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_linked:
title: "User Linked"
subject_template: "[%{email_prefix}] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_mentioned:
title: "User Mentioned"
subject_template: "[%{email_prefix}] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_mentioned_pm:
title: "User Mentioned PM"
subject_template: "[%{email_prefix}] [PM] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_group_mentioned:
title: "User Group Mentioned"
subject_template: "[%{email_prefix}] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_group_mentioned_pm:
title: "User Group Mentioned PM"
subject_template: "[%{email_prefix}] [PM] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_group_mentioned_pm_group:
title: "User Group Mentioned PM"
subject_template: "[%{email_prefix}] [PM] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_posted:
title: "User Posted"
subject_template: "[%{email_prefix}] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_watching_category_or_tag:
title: "User Watching Category or Tag"
subject_template: "[%{email_prefix}] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_watching_first_post:
title: "User Watching First Post"
subject_template: "[%{email_prefix}] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_posted_pm:
title: "User Posted PM"
subject_template: "[%{email_prefix}] [PM] %{topic_title}"
text_body_template: |
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
user_posted_pm_staged:
title: "User Posted PM Staged"
subject_template: "%{optional_re}%{topic_title}"
text_body_template: |
%{message}
account_suspended:
title: "Account Suspended"
subject_template: "[%{email_prefix}] Your account has been suspended"
text_body_template: |
You have been suspended from the forum until %{suspended_till}.
Reason - %{reason}
account_suspended_forever:
title: "Account Suspended"
subject_template: "[%{email_prefix}] Your account has been suspended"
text_body_template: |
You have been suspended from the forum.
Reason - %{reason}
account_silenced:
title: "Account Silenced"
subject_template: "[%{email_prefix}] Your account has been silenced"
text_body_template: |
You have been silenced from the forum until %{silenced_till}.
Reason - %{reason}
account_silenced_forever:
title: "Account Silenced"
subject_template: "[%{email_prefix}] Your account has been silenced"
text_body_template: |
You have been silenced from the forum.
Reason - %{reason}
account_exists:
title: "Account already exists"
subject_template: "[%{email_prefix}] Account already exists"
text_body_template: |
You just tried to create an account at %{site_name}, or tried to change the email of an account to %{email}. However, an account already exists for %{email}.
If you forgot your password, [reset it now](%{base_url}/password-reset).
If you didnt try to create an account for %{email} or change your email address, dont worry you can safely ignore this message.
If you have any questions, [contact our friendly staff](%{base_url}/about).
account_second_factor_disabled:
title: "Two-Factor Authentication disabled"
subject_template: "[%{email_prefix}] Two-Factor Authentication disabled"
text_body_template: |
Two-factor authentication has been disabled on your account at %{site_name}. You can now log in with only your password; an additional authentication code is no longer required.
If you did not choose to disable two-factor authentication, someone may have compromised your account.
If you have any questions, [contact our friendly staff](%{base_url}/about).
digest:
why: "A brief summary of %{site_link} since your last visit on %{last_seen_at}"
since_last_visit: "Since your last visit"
new_topics: "New Topics"
unread_notifications: "Unread Notifications"
unread_high_priority: "Unread High Priority Notifications"
liked_received: "Likes Received"
new_users: "New Users"
popular_topics: "Popular Topics"
join_the_discussion: "Read More"
popular_posts: "Popular Posts"
more_new: "New for you"
subject_template: "[%{email_prefix}] Summary"
unsubscribe: "This summary is sent from %{site_link} when we haven't seen you in a while. Change %{email_preferences_link}, or %{unsubscribe_link} to unsubscribe."
your_email_settings: "your email settings"
click_here: "click here"
from: "%{site_name}"
preheader: "A brief summary since your last visit on %{last_seen_at}"
custom:
html:
header: ""
below_post_1: ""
below_post_2: ""
below_post_3: ""
below_post_4: ""
below_post_5: ""
above_popular_topics: ""
below_popular_topics: ""
above_footer: ""
below_footer: ""
text:
below_post_1: ""
below_post_2: ""
below_post_3: ""
below_post_4: ""
below_post_5: ""
above_popular_topics: ""
below_popular_topics: ""
above_footer: ""
below_footer: ""
forgot_password:
title: "Forgot Password"
subject_template: "[%{email_prefix}] Password reset"
text_body_template: |
Somebody asked to reset your password on [%{site_name}](%{base_url}).
If it was not you, you can safely ignore this email.
Click the following link to choose a new password:
%{base_url}/u/password-reset/%{email_token}
email_login:
title: "Log in via link"
subject_template: "[%{email_prefix}] Log in via link"
text_body_template: |
Here's your link to log in at [%{site_name}](%{base_url}).
If you did not request this link, you can safely ignore this email.
Click the following link to log in:
%{base_url}/session/email-login/%{email_token}
set_password:
title: "Set Password"
subject_template: "[%{email_prefix}] Set Password"
text_body_template: |
Somebody asked to add a password to your account on [%{site_name}](%{base_url}). Alternatively, you can log in using any supported online service (Google, Facebook, etc) that is associated with this validated email address.
If you did not make this request, you can safely ignore this email.
Click the following link to choose a password:
%{base_url}/u/password-reset/%{email_token}
admin_login:
title: "Admin Login"
subject_template: "[%{email_prefix}] Login"
text_body_template: |
Somebody asked to log in to your account on [%{site_name}](%{base_url}).
If you did not make this request, you can safely ignore this email.
Click the following link to log in:
%{base_url}/session/email-login/%{email_token}
account_created:
title: "Account Created"
subject_template: "[%{email_prefix}] Your New Account"
text_body_template: |
A new account was created for you at %{site_name}
Click the following link to choose a password for your new account:
%{base_url}/u/password-reset/%{email_token}
confirm_new_email:
title: "Confirm New Email"
subject_template: "[%{email_prefix}] Confirm your new email address"
text_body_template: |
Confirm your new email address for %{site_name} by clicking on the following link:
%{base_url}/u/confirm-new-email/%{email_token}
If you did not request this change, please contact a [site admin](%{base_url}/about).
confirm_new_email_via_admin:
title: "Confirm New Email"
subject_template: "[%{email_prefix}] Confirm your new email address"
text_body_template: |
Confirm your new email address for %{site_name} by clicking on the following link:
%{base_url}/u/confirm-new-email/%{email_token}
This email change was requested by a site admin. If you did not request this change, please contact a [site admin](%{base_url}/about).
confirm_old_email:
title: "Confirm Old Email"
subject_template: "[%{email_prefix}] Confirm your current email address"
text_body_template: |
Before we can change your email address, we need you to confirm that you control
the current email account. After you complete this step, we will have you confirm
the new email address.
Confirm your current email address for %{site_name} by clicking on the following link:
%{base_url}/u/confirm-old-email/%{email_token}
confirm_old_email_add:
title: "Confirm Old Email (Add)"
subject_template: "[%{email_prefix}] Confirm your current email address"
text_body_template: |
Before we can add a new email address, we need you to confirm that you control
the current email account. After you complete this step, we will have you confirm
the new email address.
Confirm your current email address for %{site_name} by clicking on the following link:
%{base_url}/u/confirm-old-email/%{email_token}
notify_old_email:
title: "Notify Old Email"
subject_template: "[%{email_prefix}] Your email address has been changed"
text_body_template: |
This is an automated message to let you know that your email address for
%{site_name} has been changed. If this was done in error, please contact
a site administrator.
Your email address has been changed to:
%{new_email}
notify_old_email_add:
title: "Notify Old Email (Add)"
subject_template: "[%{email_prefix}] A new email address has been added"
text_body_template: |
This is an automated message to let you know that an email address for
%{site_name} has been added. If this was done in error, please contact
a site administrator.
Your added email address is:
%{new_email}
signup_after_approval:
title: "Signup After Approval"
subject_template: "You've been approved on %{site_name}!"
text_body_template: |
Welcome to %{site_name}!
A staff member approved your account on %{site_name}.
You can now access your new account by logging in at:
%{base_url}
If the above link is not clickable, try copying and pasting it into the address bar of your web browser.
%{new_user_tips}
We believe in [civilized community behavior](%{base_url}/guidelines) at all times.
Enjoy your stay!
signup_after_reject:
title: "Signup After Reject"
subject_template: "You've been rejected on %{site_name}"
text_body_template: |
A staff member rejected your account on %{site_name}.
%{reject_reason}
signup:
title: "Signup"
subject_template: "[%{email_prefix}] Confirm your new account"
text_body_template: |
Welcome to %{site_name}!
Click the following link to confirm and activate your new account:
%{base_url}/u/activate-account/%{email_token}
If the above link is not clickable, try copying and pasting it into the address bar of your web browser.
activation_reminder:
title: "Activation Reminder"
subject_template: "[%{email_prefix}] Reminder to confirm your account"
text_body_template: |
Welcome to %{site_name}!
This is a friendly reminder to activate your account.
Click the following link to confirm and activate your new account:
%{base_url}/u/activate-account/%{email_token}
If the above link is not clickable, try copying and pasting it into the address bar of your web browser.
suspicious_login:
title: "New Login Alert"
subject_template: "[%{site_name}] New Login from %{location}"
text_body_template: |
Hello,
We noticed a login from a device or location you dont usually use. Was this you?
- Location: %{location} (%{client_ip})
- Browser: %{browser}
- Device: %{device} %{os}
If this was you, great! Theres nothing else you need to do.
If this was not you, please [review your existing sessions](%{base_url}/my/preferences/security) and consider changing your password.
post_approved:
title: "Your post was approved"
subject_template: "[%{site_name}] Your post was approved"
text_body_template: |
Hello,
This is an automated message from %{site_name} to let you know that [your post](%{base_url}%{post_url}) was approved.
page_forbidden:
title: "Oops! That page is private."
site_setting_missing: "`%{name}` site setting has to be set."
page_not_found:
page_title: "Page Not Found"
title: "Oops! That page doesnt exist or is private."
popular_topics: "Popular"
recent_topics: "Recent"
see_more: "More"
search_title: "Search this site"
search_button: "Search"
offline:
title: "Cannot load app"
offline_page_message: "It looks like you are offline! Please check your network connection and try again."
login_required:
welcome_message: "# [Welcome to %{title}](#welcome)"
upload:
edit_reason: "downloaded local copies of images"
unauthorized: "Sorry, the file you are trying to upload is not authorized (authorized extensions: %{authorized_extensions})."
pasted_image_filename: "Pasted image"
store_failure: "Failed to store upload #%{upload_id} for user #%{user_id}."
file_missing: "Sorry, you must provide a file to upload."
empty: "Sorry, but the file you provided is empty."
failed: "Sorry, but your upload failed. Please try again."
png_to_jpg_conversion_failure_message: "An error happened when converting from PNG to JPG."
optimize_failure_message: "An error occurred while optimizing the uploaded image."
download_failure: "Downloading the file from the external provider failed."
size_mismatch_failure: "The size of the file uploaded to S3 did not match the external upload's intended size. %{additional_detail}"
create_multipart_failure: "Failed to create multipart upload in the external store."
abort_multipart_failure: "Failed to abort multipart upload in the external store."
complete_multipart_failure: "Failed to complete multipart upload in the external store."
external_upload_not_found: "The upload was not found in the external store. %{additional_detail}"
checksum_mismatch_failure: "The checksum of the file you uploaded does not match. The file contents may have changed on upload. Please try again."
cannot_promote_failure: "The upload cannot be completed, it may have already completed or previously failed."
size_zero_failure: "Sorry, it looks like something has gone wrong, the file you are trying to upload is 0 bytes. Please try again."
attachments:
too_large: "Sorry, the file you are trying to upload is too big (maximum size is %{max_size_kb}KB)."
too_large_humanized: "Sorry, the file you are trying to upload is too big (maximum size is %{max_size})."
images:
too_large: "Sorry, the image you are trying to upload is too big (maximum size is %{max_size_kb}KB), please resize it and try again."
too_large_humanized: "Sorry, the image you are trying to upload is too big (maximum size is %{max_size}), please resize it and try again."
larger_than_x_megapixels: "Sorry, the image you are trying to upload is too large (maximum dimension is %{max_image_megapixels} megapixels), please resize it and try again."
size_not_found: "Sorry, but we couldn't determine the size of the image. Maybe your image is corrupted?"
placeholders:
too_large: "(image larger than %{max_size_kb}KB)"
too_large_humanized: "(image larger than %{max_size})"
avatar:
missing: "Sorry, we can't find any avatar associated with that email address. Can you try uploading it again?"
flag_reason:
sockpuppet: "A new user created a topic, and another new user at the same IP address (%{ip_address}) replied. See the <a href='%{base_path}/admin/site_settings/category/spam'>`flag_sockpuppets`</a> site setting."
spam_hosts: "This new user tried to create multiple posts with links to the same domain. All posts from this user that include links should be reviewed. See the <a href='%{base_path}/admin/site_settings/category/spam'>`newuser_spam_host_threshold`</a> site setting."
skipped_email_log:
exceeded_emails_limit: "Exceeded max_emails_per_day_per_user"
exceeded_bounces_limit: "Exceeded bounce_score_threshold"
mailing_list_no_echo_mode: "Mailing list notifications disabled for user's own posts"
user_email_no_user: "Can't find user with id %{user_id}"
user_email_post_not_found: "Can't find a post with id %{post_id}"
user_email_anonymous_user: "User is anonymous"
user_email_user_suspended_not_pm: "User is suspended, not a message"
user_email_seen_recently: "User was seen recently"
user_email_notification_already_read: "The notification this email is about has already been read"
user_email_notification_topic_nil: "post.topic is nil"
user_email_post_user_deleted: "User of the post has been deleted."
user_email_post_deleted: "post was deleted by the author"
user_email_user_suspended: "user was suspended"
user_email_already_read: "user has already read this post"
user_email_access_denied: "user is not allowed to see this post"
user_email_no_email: "No email associated with user id %{user_id}"
sender_message_blank: "message is blank"
sender_message_to_blank: "message.to is blank"
sender_text_part_body_blank: "text_part.body is blank"
sender_body_blank: "body is blank"
sender_post_deleted: "post has been deleted"
sender_message_to_invalid: "recipient has invalid email address"
sender_topic_deleted: "topic has been deleted"
group_smtp_post_deleted: "post has been deleted"
group_smtp_topic_deleted: "topic has been deleted"
group_smtp_disabled_for_group: "smtp has been disabled for the group"
color_schemes:
base_theme_name: "Base"
light: "Light"
dark: "Dark"
neutral: "Neutral"
grey_amber: "Grey Amber"
shades_of_blue: "Shades of Blue"
latte: "Latte"
summer: "Summer"
dark_rose: "Dark Rose"
wcag: "WCAG Light"
wcag_theme_name: "WCAG Light"
dracula: "Dracula"
dracula_theme_name: "Dracula"
solarized_light: "Solarized Light"
solarized_light_theme_name: "Solarized Light"
solarized_dark: "Solarized Dark"
solarized_dark_theme_name: "Solarized Dark"
wcag_dark: "WCAG Dark"
wcag_dark_theme_name: "WCAG Dark"
default_theme_name: "Default"
light_theme_name: "Light"
dark_theme_name: "Dark"
neutral_theme_name: "Neutral"
grey_amber_theme_name: "Grey Amber"
shades_of_blue_theme_name: "Shades of Blue"
latte_theme_name: "Latte"
summer_theme_name: "Summer"
dark_rose_theme_name: "Dark Rose"
edit_this_page: "Edit this page"
csv_export:
boolean_yes: "Yes"
boolean_no: "No"
rate_limit_error: "Posts can be downloaded once per day, please try again tomorrow."
static_topic_first_reply: |
Edit the first post in this topic to change the contents of the %{page_name} page.
guidelines_topic:
title: "FAQ/Guidelines"
body: |
<a name="civilized"></a>
## [This is a Civilized Place for Public Discussion](#civilized)
Please treat this discussion forum with the same respect you would a public park. We, too, are a shared community resource &mdash; a place to share skills, knowledge and interests through ongoing conversation.
These are not hard and fast rules. They are guidelines to aid the human judgment of our community and keep this a kind, friendly place for civilized public discourse.
<a name="improve"></a>
## [Improve the Discussion](#improve)
Help us make this a great place for discussion by always adding something positive to the discussion, however small. If you are not sure your post adds to the conversation, think over what you want to say and try again later.
One way to improve the discussion is by discovering ones that are already happening. Spend time browsing the topics here before replying or starting your own, and youll have a better chance of meeting others who share your interests.
The topics discussed here matter to us, and we want you to act as if they matter to you, too. Be respectful of the topics and the people discussing them, even if you disagree with some of what is being said.
<a name="agreeable"></a>
## [Be Agreeable, Even When You Disagree](#agreeable)
You may wish to respond by disagreeing. Thats fine. But remember to _criticize ideas, not people_. Please avoid:
* Name-calling
* Ad hominem attacks
* Responding to a posts tone instead of its actual content
* Knee-jerk contradiction
Instead, provide thoughtful insights that improve the conversation.
<a name="participate"></a>
## [Your Participation Counts](#participate)
The conversations we have here set the tone for every new arrival. Help us influence the future of this community by choosing to engage in discussions that make this forum an interesting place to be &mdash; and avoiding those that do not.
Discourse provides tools that enable the community to collectively identify the best (and worst) contributions: bookmarks, likes, flags, replies, edits, watching, muting and so forth. Use these tools to improve your own experience, and everyone elses, too.
Lets leave our community better than we found it.
<a name="flag-problems"></a>
## [If You See a Problem, Flag It](#flag-problems)
Moderators have special authority; they are responsible for this forum. But so are you. With your help, moderators can be community facilitators, not just janitors or police.
When you see bad behavior, dont reply. Replying encourages bad behavior by acknowledging it, consumes your energy, and wastes everyones time. _Just flag it_. If enough flags accrue, action will be taken, either automatically or by moderator intervention.
In order to maintain our community, moderators reserve the right to remove any content and any user account for any reason at any time. Moderators do not preview new posts; the moderators and site operators take no responsibility for any content posted by the community.
<a name="be-civil"></a>
## [Always Be Civil](#be-civil)
Nothing sabotages a healthy conversation like rudeness:
* Be civil. Dont post anything that a reasonable person would consider offensive, abusive, or hate speech.
* Keep it clean. Dont post anything obscene or sexually explicit.
* Respect each other. Dont harass or grief anyone, impersonate people, or expose their private information.
* Respect our forum. Dont post spam or otherwise vandalize the forum.
These are not concrete terms with precise definitions &mdash; avoid even the _appearance_ of any of these things. If youre unsure, ask yourself how you would feel if your post was featured on the front page of a major news site.
This is a public forum, and search engines index these discussions. Keep the language, links, and images safe for family and friends.
<a name="keep-tidy"></a>
## [Keep It Tidy](#keep-tidy)
Make the effort to put things in the right place, so that we can spend more time discussing and less cleaning up. So:
* Dont start a topic in the wrong category; please read the category definitions.
* Dont cross-post the same thing in multiple topics.
* Dont post no-content replies.
* Dont divert a topic by changing it midstream.
* Dont sign your posts &mdash; every post has your profile information attached to it.
Rather than posting “+1” or “Agreed”, use the Like button. Rather than taking an existing topic in a radically different direction, use Reply as a Linked Topic.
<a name="stealing"></a>
## [Post Only Your Own Stuff](#stealing)
You may not post anything digital that belongs to someone else without permission. You may not post descriptions of, links to, or methods for stealing someones intellectual property (software, video, audio, images), or for breaking any other law.
<a name="power"></a>
## [Powered by You](#power)
This site is operated by your [friendly local staff](%{base_path}/about) and *you*, the community. If you have any further questions about how things should work here, open a new topic in %{feedback_category} and lets discuss! If theres a critical or urgent issue that cant be handled by a meta topic or flag, contact us via the [staff page](%{base_path}/about).
<a name="tos"></a>
## [Terms of Service](#tos)
Yes, legalese is boring, but we must protect ourselves &ndash; and by extension, you and your data &ndash; against unfriendly folks. We have a [Terms of Service](%{base_path}/tos) describing your (and our) behavior and rights related to content, privacy, and laws. To use this service, you must agree to abide by our [TOS](%{base_path}/tos).
tos_topic:
title: "Terms of Service"
body: |
<h2 id="heading--change-me"><a href="#heading--change-me">Change Me</a></h2>
Forum Admin, please find below an example starting template for a privacy policy that you should customise to meet your site's needs.
These terms do not, but might one day, govern use of the Internet forum at <%{base_url}>. In that event, to use the forum, you must agree to these terms with %{company_name}, the company that runs the forum.
The company may offer other products and services, under different terms. These terms apply only to use of the forum.
Skip to:
- [Important Terms](#heading--important-terms)
- [Your Permission to Use the Forum](#heading--permission)
- [Conditions for Use of the Forum](#heading--conditions)
- [Acceptable Use](#heading--acceptable-use)
- [Content Standards](#heading--content-standards)
- [Enforcement](#heading--enforcement)
- [Your Account](#heading--your-account)
- [Your Content](#heading--your-content)
- [Your Responsibility](#heading--responsibility)
- [Disclaimers](#heading--disclaimers)
- [Limits on Liability](#heading--liability)
- [Feedback](#heading--feedback)
- [Termination](#heading--termination)
- [Disputes](#heading--disputes)
- [General Terms](#heading--general)
- [Contact](#heading--contact)
- [Changes](#heading--changes)
<h2 id="heading--important-terms"><a href="#heading--important-terms">Important Terms</a></h2>
***These terms include a number of important provisions that affect your rights and responsibilities, such as the disclaimers in [Disclaimers](#heading--disclaimers), limits on the company's liability to you in [Limits on Liability](#heading--liability), your agreement to cover the company for damages caused by your misuse of the forum in [Responsibility for Your Use](#heading--responsibility), and an agreement to arbitrate disputes in [Disputes](#heading--disputes).***
<h2 id="heading--permission"><a href="#heading--permission">Your Permission to Use the Forum</a></h2>
Subject to these terms, the company gives you permission to use the forum. Everyone needs to agree to these terms to use the forum.
<h2 id="heading--conditions"><a href="#heading--conditions">Conditions for Use of the Forum</a></h2>
Your permission to use the forum is subject to the following conditions:
1. You must be at least thirteen years old.
2. You may no longer use the forum if the company contacts you directly to say that you may not.
3. You must use the forum in accordance with [Acceptable Use](#heading--acceptable-use) and [Content Standards](#heading--content-standards).
<h2 id="heading--acceptable-use"><a href="#heading--acceptable-use">Acceptable Use</a></h2>
1. You may not break the law using the forum.
2. You may not use or try to use another's account on the forum without their specific permission.
3. You may not buy, sell, or otherwise trade in user names or other unique identifiers on the forum.
4. You may not send advertisements, chain letters, or other solicitations through the forum, or use the forum to gather addresses or other personal data for commercial mailing lists or databases.
5. You may not automate access to the forum, or monitor the forum, such as with a web crawler, browser plug-in or add-on, or other computer program that is not a web browser. You may crawl the forum to index it for a publicly available search engine, if you run one.
6. You may not use the forum to send e-mail to distribution lists, newsgroups, or group mail aliases.
7. You may not falsely imply that you're affiliated with or endorsed by the company.
8. You may not hyperlink to images or other non-hypertext content on the forum on other webpages.
9. You may not remove any marks showing proprietary ownership from materials you download from the forum.
10. You may not show any part of the forum on other websites with `<iframe>`.
11. You may not disable, avoid, or circumvent any security or access restrictions of the forum.
12. You may not strain infrastructure of the forum with an unreasonable volume of requests, or requests designed to impose an unreasonable load on information systems underlying the forum.
13. You may not impersonate others through the forum.
14. You may not encourage or help anyone in violation of these terms.
<h2 id="heading--content-standards"><a href="#heading--content-standards">Content Standards</a></h2>
1. You may not submit content to the forum that is illegal, offensive, or otherwise harmful to others. This includes content that is harassing, inappropriate, abusive, or hateful conduct.
2. You may not submit content to the forum that violates the law, infringes anyone's intellectual property rights, violates anyone's privacy, or breaches agreements you have with others.
3. You may not submit content to the forum containing malicious computer code, such as computer viruses or spyware.
4. You may not submit content to the forum as a mere placeholder, to hold a particular address, user name, or other unique identifier.
5. You may not use the forum to disclose information that you don't have the right to disclose, like others' confidential or personal information.
<h2 id="heading--enforcement"><a href="#heading--enforcement">Enforcement</a></h2>
The company may investigate and prosecute violations of these terms to the fullest legal extent. The company may notify and cooperate with law enforcement authorities in prosecuting violations of the law and these terms.
The company reserves the right to change, redact, and delete content on the forum for any reason. If you believe someone has submitted content to the forum in violation of these terms, [contact us immediately](#heading--contact).
<h2 id="heading--your-account"><a href="#heading--your-account">Your Account</a></h2>
You must create and log into an account to use some features of the forum.
To create an account, you must provide some information about yourself. If you create an account, you agree to provide, at a minimum, a valid e-mail address, and to keep that address up-to-date. You may close your account at any time by e-mailing <%{contact_email}>.
You agree to be responsible for all action taken using your account, whether authorized by you or not, until you either close your account or notify the company that your account has been compromised. You agree to notify the company immediately if you suspect your account has been compromised. You agree to select a secure password for your account, and keep it secret.
The company may restrict, suspend, or close your account on the forum according to its policy for handling copyright-related takedown requests, or if the company reasonably believes that you've broken any rule in these terms.
<h2 id="heading--your-content"><a href="#heading--your-content">Your Content</a></h2>
Nothing in these terms gives the company any ownership rights in intellectual property that you share with the forum, such as your account information, posts, or other content you submit to the forum. Nothing in these terms gives you any ownership rights in the company's intellectual property, either.
Between you and the company, you remain solely responsible for content you submit to the forum. You agree not to wrongly imply that content you submit to the forum is sponsored or approved by the company. These terms do not obligate the company to store, maintain, or provide copies of content you submit, and to change it, according to these terms.
Content you submit to the forum belongs to you, and you decide what permission to give others for it. But at a minimum, you license the company to provide content that you submit to the forum to other users of the forum. That special license allows the company to copy, publish, and analyze content you submit to the forum.
When content you submit is removed from the forum, whether by you or by the company, the company's special license ends when the last copy disappears from the company's backups, caches, and other systems. Other licenses you apply to content you submit, such as [Creative Commons](https://creativecommons.org) licenses, may continue after your content is removed. Those licenses may give others, or the company itself, the right to share your content through the forum again.
Others who receive content you submit to the forum may violate the terms on which you license your content. You agree that the company will not be liable to you for those violations or their consequences.
<h2 id="heading--responsibility"><a href="#heading--responsibility">Your Responsibility</a></h2>
You agree to indemnify the company from legal claims by others related to your breach of these terms, or breach of these terms by others using your account on the forum. Both you and the company agree to notify the other side of any legal claims for which you might have to indemnify the company as soon as possible. If the company fails to notify you of a legal claim promptly, you won't have to indemnify the company for damages that you could have defended against or mitigated with prompt notice. You agree to allow the company to control investigation, defense, and settlement of legal claims for which you would have to indemnify the company, and to cooperate with those efforts. The company agrees not to agree to any settlement that admits fault for you or imposes obligations on you without your prior agreement.
<h2 id="heading--disclaimers"><a href="#heading--disclaimers">Disclaimers</a></h2>
***You accept all risk of using the forum and content on the forum. As far as the law allows, the company and its suppliers provide the forum as is, without any warranty whatsoever.***
The forum may hyperlink to and integrate forums and services run by others. The company does not make any warranty about services run by others, or content they may provide. Use of services run by others may be governed by other terms between you and the one running service.
<h2 id="heading--liability"><a href="#heading--liability">Limits on Liability</a></h2>
***Neither the company nor its suppliers will be liable to you for breach-of-contract damages their personnel could not have reasonably foreseen when you agreed to these terms.***
***As far as the law allows, the total liability to you for claims of any kind that are related to the forum or content on the forum will be limited to $50.***
<h2 id="heading--feedback"><a href="#heading--feedback">Feedback</a></h2>
The company welcomes your feedback and suggestions for the forum. See the [Contact](#heading--contact) section below for ways to get in touch with us.
You agree that the company will be free to act on feedback and suggestions you provide, and that the company won't have to notify you that your feedback was used, get your permission to use it, or pay you. You agree not to submit feedback or suggestions that you believe might be confidential or proprietary, to you or others.
<h2 id="heading--termination"><a href="#heading--termination">Termination</a></h2>
Either you or the company may end the agreement written out in these terms at any time. When our agreement ends, your permission to use the forum also ends.
The following provisions survive the end of our agreement: [Your Content](#heading--your-content), [Feedback](#heading--feedback), [Your Responsibility](#heading--responsibility), [Disclaimers](#heading--disclaimers), [Limits on Liability](#heading--liability), and [General Terms](#heading--general).
<h2 id="heading--disputes"><a href="#heading--disputes">Disputes</a></h2>
%{governing_law} will govern any dispute related to these terms or your use of the forum.
You and the company agree to seek injunctions related to these terms only in state or federal court in %{city_for_disputes}. Neither you nor the company will object to jurisdiction, forum, or venue in those courts.
***Other than to seek an injunction or for claims under the Computer Fraud and Abuse Act, you and the company will resolve any dispute by binding American Arbitration Association arbitration. Arbitration will follow the AAA's Commercial Arbitration Rules and Supplementary Procedures for Consumer Related Disputes. Arbitration will happen in %{city_for_disputes}. You will settle any dispute as an individual, and not as part of a class action or other representative proceeding, whether as the plaintiff or a class member. No arbitrator will consolidate any dispute with any other arbitration without the company's permission.***
Any arbitration award will include costs of the arbitration, reasonable attorneys' fees, and reasonable costs for witnesses. You and the company may enter arbitration awards in any court with jurisdiction.
<h2 id="heading--general"><a href="#heading--general">General Terms</a></h2>
If a provision of these terms is unenforceable as written, but could be changed to make it enforceable, that provision should be modified to the minimum extent necessary to make it enforceable. Otherwise, that provision should be removed.
You may not assign your agreement with the company. The company may assign your agreement to any affiliate of the company, any other company that obtains control of the company, or any other company that buys assets of the company related to the forum. Any attempted assignment against these terms has no legal effect.
Neither the exercise of any right under this Agreement, nor waiver of any breach of this Agreement, waives any other breach of this Agreement.
These terms embody all the terms of agreement between you and the company about use of the forum. These terms entirely replace any other agreements about your use of the forum, written or not.
<h2 id="heading--contact"><a href="#heading--contact">Contact</a></h2>
You may notify the company under these terms, and send questions to the company, at <%{contact_email}>.
The company may notify you under these terms using the e-mail address you provide for your account on the forum, or by posting a message to the homepage of the forum or your account page.
<h2 id="heading--changes"><a href="#heading--changes">Changes</a></h2>
The company last updated these terms on [INSERT LAST UPDATE DATE HERE], and may update these terms again. The company will post all updates to the forum. For updates that contain substantial changes, the company agrees to e-mail you, if you've created an account and provided a valid e-mail address. The company may also announce updates with special messages or alerts on the forum.
Once you get notice of an update to these terms, you must agree to the new terms in order to keep using the forum.
privacy_topic:
title: "Privacy Policy"
body: |
## [Forum Admin, please find below an example starting template for a privacy policy that you should customise to your site.]
<a name="collect"></a>
## [What information do we collect?](#collect)
We collect information from you when you register on our site and gather data when you participate in the forum by reading, writing, and evaluating the content shared here.
When registering on our site, you may be asked to enter your name and e-mail address. You may, however, visit our site without registering. Your e-mail address will be verified by an email containing a unique link. If that link is visited, we know that you control the e-mail address.
When registered and posting, we record the IP address that the post originated from. We also may retain server logs which include the IP address of every request to our server.
<a name="use"></a>
## [What do we use your information for?](#use)
Any of the information we collect from you may be used in one of the following ways:
* To personalize your experience &mdash; your information helps us to better respond to your individual needs.
* To improve our site &mdash; we continually strive to improve our site offerings based on the information and feedback we receive from you.
* To improve customer service &mdash; your information helps us to more effectively respond to your customer service requests and support needs.
* To send periodic emails &mdash; The email address you provide may be used to send you information, notifications that you request about changes to topics or in response to your user name, respond to inquiries, and/or other requests or questions.
<a name="protect"></a>
## [How do we protect your information?](#protect)
We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information.
<a name="data-retention"></a>
## [What is your data retention policy?](#data-retention)
We will make a good faith effort to:
* Retain server logs containing the IP address of all requests to this server no more than [NUMBER OF DAYS] days.
<a name="cookies"></a>
## [Do we use cookies?](#cookies)
Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.
We use cookies to understand and save your preferences for future visits and compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future. We may contract with third-party service providers to assist us in better understanding our site visitors. These service providers are not permitted to use the information collected on our behalf except to help us conduct and improve our business.
<a name="disclose"></a>
## [Do we disclose any information to outside parties?](#disclose)
We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.
<a name="third-party"></a>
## [Third party links](#third-party)
Occasionally, at our discretion, we may include or offer third party products or services on our site. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.
<a name="coppa"></a>
## [Children's Online Privacy Protection Act Compliance](#coppa)
Our site, products and services are all directed to people who are at least 13 years old or older. If this server is in the USA, and you are under the age of 13, per the requirements of COPPA ([Children's Online Privacy Protection Act](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act)), do not use this site.
<a name="online"></a>
## [Online Privacy Policy Only](#online)
This online privacy policy applies only to information collected through our site and not to information collected offline.
<a name="consent"></a>
## [Your Consent](#consent)
By using our site, you consent to our web site privacy policy.
<a name="changes"></a>
## [Changes to our Privacy Policy](#changes)
If we decide to change our privacy policy, we will post those changes on this page.
This document is CC-BY-SA. It was last updated [INSERT LAST UPDATE DATE HERE].
badges:
mass_award:
errors:
invalid_csv: We encountered an error on line %{line_number}. Please confirm the CSV has one email per line.
too_many_csv_entries: Too many entries in the CSV file. Please provide a CSV file with no more than %{count} entries.
badge_disabled: Please enable the %{badge_name} badge first.
cant_grant_multiple_times: Can't grant the %{badge_name} badge multiple times to a single user.
editor:
name: Editor
description: First post edit
long_description: |
This badge is granted the first time you edit one of your posts. While you wont be able to edit your posts forever, editing is encouraged — you can improve the formatting, fix small mistakes, or add anything you missed when you originally posted. Edit to make your posts even better!
wiki_editor:
name: Wiki Editor
description: First wiki edit
long_description: |
This badge is granted the first time you edit one wiki post.
basic_user:
name: Basic
description: <a href="https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/">Granted</a> all essential community functions
long_description: |
This badge is granted when you reach trust level 1. Thanks for sticking around and reading a few topics to learn what our community is about. New user restrictions have been lifted; youve been granted all essential community abilities, such as personal messaging, flagging, wiki editing, and the ability to post multiple images and links.
member:
name: Member
description: <a href="https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/">Granted</a> invitations, group messaging, more likes
long_description: |
This badge is granted when you reach trust level 2. Thanks for participating over a period of weeks to truly join our community. You can now send invitations from your user page or individual topics, create group personal messages, and have more likes per day.
regular:
name: Regular
description: <a href="https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/">Granted</a> recategorize, rename, followed links, wiki, more likes
long_description: |
This badge is granted when you reach trust level 3. Thanks for being a regular part of our community over a period of months. Youre now one of the most active readers, and a reliable contributor that makes our community great. You can now recategorize and rename topics, take advantage of more powerful spam flags, access a private lounge area, and youll also get lots more likes per day.
leader:
name: Leader
description: <a href="https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/">Granted</a> global edit, pin, close, archive, split and merge, more likes
long_description: |
This badge is granted when you reach trust level 4. Youre a leader in this community as selected by staff, and you set a positive example for the rest of the community in your actions and words here. You have the ability to edit all posts, take common topic moderator actions such as pin, close, unlist, archive, split, and merge.
welcome:
name: Welcome
description: Received a like
long_description: |
This badge is granted when you receive your first like on a post. Congratulations, youve posted something that your fellow community members found interesting, cool, or useful!
autobiographer:
name: Autobiographer
description: Filled out <a href="%{base_uri}/my/preferences/profile">profile</a> information
long_description: |
This badge is granted for filling out <a href="%{base_uri}/my/preferences/profile">your user profile</a> and selecting a profile picture. Letting the community know a bit more about who you are and what youre interested in makes for a better, more connected community. Join us!
anniversary:
name: Anniversary
description: Active member for a year, posted at least once
long_description: |
This badge is granted when youve been a member for a year with at least one post in that year. Thank you for sticking around and contributing to our community. We couldnt do it without you.
nice_post:
name: Nice Reply
description: Received 10 likes on a reply
long_description: |
This badge is granted when your reply gets 10 likes. Your reply made an impression on the community and helped move the conversation forward.
good_post:
name: Good Reply
description: Received 25 likes on a reply
long_description: |
This badge is granted when your reply gets 25 likes. Your reply was exceptional and made the conversation much more interesting.
great_post:
name: Great Reply
description: Received 50 likes on a reply
long_description: |
This badge is granted when your reply gets 50 likes. Wow! Your reply was inspiring, fascinating, hilarious, or insightful and the community loved it!
nice_topic:
name: Nice Topic
description: Received 10 likes on a topic
long_description: |
This badge is granted when your topic gets 10 likes. You started an interesting conversation that the community enjoyed.
good_topic:
name: Good Topic
description: Received 25 likes on a topic
long_description: |
This badge is granted when your topic gets 25 likes. You launched a vibrant conversation that the community rallied around.
great_topic:
name: Great Topic
description: Received 50 likes on a topic
long_description: |
This badge is granted when your topic gets 50 likes. You kicked off a fascinating conversation and the community loved the lively discussion that resulted!
nice_share:
name: Nice Share
description: Shared a post with 25 unique visitors
long_description: |
This badge is granted for sharing a link that was clicked by 25 outside visitors. Thanks for spreading the word about our discussions, and this community.
good_share:
name: Good Share
description: Shared a post with 300 unique visitors
long_description: |
This badge is granted for sharing a link that was clicked by 300 outside visitors. Good work! Youve shown off a great discussion to a bunch of new people and helped this community grow.
great_share:
name: Great Share
description: Shared a post with 1000 unique visitors
long_description: |
This badge is granted for sharing a link that was clicked by 1000 outside visitors. Wow! Youve promoted an interesting discussion to a huge new audience, and helped us grow our community in a big way!
first_like:
name: First Like
description: Liked a post
long_description: |
This badge is granted the first time you like a post using the :heart: button. Liking posts is a great way to let your fellow community members know that what they posted was interesting, useful, cool, or fun. Share the love!
first_flag:
name: First Flag
description: Flagged a post
long_description: |
This badge is granted the first time you flag a post. Flagging is how we all help keep this a nice place for everyone. If you notice any posts that require moderator attention for any reason please dont hesitate to flag. If you see a problem, :flag_black: flag it!
promoter:
name: Promoter
description: Invited a user
long_description: |
This badge is granted when you invite someone to join the community via the invite button on your user page, or at the bottom of a topic. Inviting friends who might be interested in specific discussions is a great way to introduce new people to our community, so thanks!
campaigner:
name: Campaigner
description: Invited 3 basic users
long_description: |
This badge is granted when youve invited 3 people who subsequently spent enough time on the site to become basic users. A vibrant community needs a regular infusion of newcomers who regularly participate and add new voices to the conversations.
champion:
name: Champion
description: Invited 5 members
long_description: |
This badge is granted when youve invited 5 people who subsequently spent enough time on the site to become full members. Wow! Thanks for expanding the diversity of our community with new members!
first_share:
name: First Share
description: Shared a post
long_description: |
This badge is granted the first time you share a link to a reply or topic using the share button. Sharing links is a great way to show off interesting discussions with the rest of the world and grow your community.
first_link:
name: First Link
description: Added a link to another topic
long_description: |
This badge is granted the first time you add a link to another topic. Linking topics helps fellow readers find interesting related conversations, by showing the connections between topics in both directions. Link freely!
first_quote:
name: First Quote
description: Quoted a post
long_description: |
This badge is granted the first time you quote a post in your reply. Quoting relevant parts of earlier posts in your reply helps keep discussions connected together and on topic. The easiest way to quote is to highlight a section of a post, and then press any reply button. Quote generously!
read_guidelines:
name: Read Guidelines
description: Read the <a href="%{base_uri}/guidelines">community guidelines</a>
long_description: |
This badge is granted for <a href="%{base_uri}/guidelines">reading the community guidelines</a>. Following and sharing these simple guidelines helps build a safe, fun, and sustainable community for everyone. Always remember theres another human being, one very much like yourself, on the other side of that screen. Be nice!
reader:
name: Reader
description: Read every reply in a topic with more than 100 replies
long_description: |
This badge is granted the first time you read a long topic with more than 100 replies. Reading a conversation closely helps you follow the discussion, understand different viewpoints, and leads to more interesting conversations. The more you read, the better the conversation gets. As we like to say, Reading is Fundamental! :slight_smile:
popular_link:
name: Popular Link
description: Posted an external link with 50 clicks
long_description: |
This badge is granted when a link you shared gets 50 clicks. Thanks for posting a useful link that added interesting context to the conversation!
hot_link:
name: Hot Link
description: Posted an external link with 300 clicks
long_description: |
This badge is granted when a link you shared gets 300 clicks. Thanks for posting a fascinating link that drove the conversation forward and illuminated the discussion!
famous_link:
name: Famous Link
description: Posted an external link with 1000 clicks
long_description: |
This badge is granted when a link you shared gets 1000 clicks. Wow! You posted a link that significantly improved the conversation by adding essential detail, context, and information. Great work!
appreciated:
name: Appreciated
description: Received 1 like on 20 posts
long_description: |
This badge is granted when you receive at least one like on 20 different posts. The community is enjoying your contributions to the conversations here!
respected:
name: Respected
description: Received 2 likes on 100 posts
long_description: |
This badge is granted when you receive at least 2 likes on 100 different posts. The community is growing to respect your many contributions to the conversations here.
admired:
name: Admired
description: Received 5 likes on 300 posts
long_description: |
This badge is granted when you receive at least 5 likes on 300 different posts. Wow! The community admires your frequent, high quality contributions to the conversations here.
out_of_love:
name: Out of Love
description: Used %{max_likes_per_day} likes in a day
long_description: |
This badge is granted when you use all %{max_likes_per_day} of your daily likes. Remembering to take a moment and like the posts you enjoy and appreciate encourages your fellow community members to create even more great discussions in the future.
higher_love:
name: Higher Love
description: Used %{max_likes_per_day} likes in a day 5 times
long_description: |
This badge is granted when you use all %{max_likes_per_day} of your daily likes for 5 days. Thanks for taking the time actively encouraging the best conversations every day!
crazy_in_love:
name: Crazy in Love
description: Used %{max_likes_per_day} likes in a day 20 times
long_description: |
This badge is granted when you use all %{max_likes_per_day} of your daily likes for 20 days. Wow! Youre a role model for encouraging your fellow community members!
thank_you:
name: Thank You
description: Has 20 liked posts and gave 10 likes
long_description: |
This badge is granted when you have 20 liked posts and give 10 or more likes in return. When someone likes your posts, you find the time to like what others are posting, too.
gives_back:
name: Gives Back
description: Has 100 liked posts and gave 100 likes
long_description: |
This badge is granted when you have 100 liked posts and give 100 or more likes in return. Thanks for paying it forward!
empathetic:
name: Empathetic
description: Has 500 liked posts and gave 1000 likes
long_description: |
This badge is granted when you have 500 liked posts and give 1000 or more likes in return. Wow! Youre a model of generosity and mutual appreciation :two_hearts:.
first_emoji:
name: First Emoji
description: Used an Emoji in a Post
long_description: |
This badge is granted the first time you add an Emoji to your post :thumbsup:. Emoji let you convey emotion in your posts, from happiness :smiley: to sadness :anguished: to anger :angry: and everything in between :sunglasses:. Just type a : (colon) or press the Emoji toolbar button in the editor to select from hundreds of choices :ok_hand:
first_mention:
name: First Mention
description: Mentioned a user in a post
long_description: |
This badge is granted the first time you mention someones @username in your post. Each mention generates a notification to that person, so they know about your post. Just begin typing @ (at symbol) to mention any user or, if allowed, group its a convenient way to bring something to their attention.
first_onebox:
name: First Onebox
description: Posted a link that was oneboxed
long_description: |
This badge is granted the first time you post a link on a line by itself, which automatically expanded into a onebox with a summary, title, and (when available) picture.
first_reply_by_email:
name: First Reply By Email
description: Replied to a post via email
long_description: |
This badge is granted the first time you reply to a post via email :e-mail:.
new_user_of_the_month:
name: "New User of the Month"
description: Outstanding contributions in their first month
long_description: |
This badge is granted to congratulate two new users each month for their excellent overall contributions, as measured by how often their posts were liked, and by whom.
enthusiast:
name: Enthusiast
description: Visited 10 consecutive days
long_description: |
This badge is granted for visiting 10 consecutive days. Thanks for sticking with us for over a week!
aficionado:
name: Aficionado
description: Visited 100 consecutive days
long_description: |
This badge is granted for visiting 100 consecutive days. Thats more than three months!
devotee:
name: Devotee
description: Visited 365 consecutive days
long_description: |
This badge is granted for visiting 365 consecutive days. Wow, an entire year!
badge_title_metadata: "%{display_name} badge on %{site_title}"
admin_login:
success: "Email Sent"
errors:
unknown_email_address: "Unknown email address."
invalid_token: "Invalid token."
email_input: "Admin Email"
submit_button: "Send Email"
safe_mode: "Safe Mode: disable all themes/plugins when logging in"
performance_report:
initial_post_raw: This topic includes daily performance reports for your site.
initial_topic_title: Website performance reports
tags:
title: "Tags"
restricted_tag_disallowed: 'You cannot apply the tag "%{tag}".'
restricted_tag_remove_disallowed: 'You cannot remove the tag "%{tag}".'
minimum_required_tags:
one: "You must select at least %{count} tag."
other: "You must select at least %{count} tags."
upload_row_too_long: "The CSV file should have one tag per line. Optionally the tag can be followed by a comma, then the tag group name."
forbidden:
invalid:
one: "The tag you selected cannot be used"
other: "None of the tags you selected can be used"
in_this_category: '"%{tag_name}" cannot be used in this category'
restricted_to:
one: '"%{tag_name}" is restricted to the "%{category_names}" category'
other: '"%{tag_name}" is restricted to the following categories: %{category_names}'
synonym: 'Synonyms are not allowed. Use "%{tag_name}" instead.'
has_synonyms: '"%{tag_name}" cannot be used because it has synonyms.'
restricted_tags_cannot_be_used_in_category:
one: 'The "%{tags}" tag cannot be used in the "%{category}" category. Please remove it.'
other: 'The following tags cannot be used in the "%{category}" category: %{tags}. Please remove them.'
category_does_not_allow_tags:
one: 'The "%{category}" category does not allow the "%{tags}" tag. Please remove it.'
other: 'The "%{category}" category does not allow the following tags: "%{tags}". Please remove them.'
required_tags_from_group:
one: "You must include at least %{count} %{tag_group_name} tag. The tags in this group are: %{tags}."
other: "You must include at least %{count} %{tag_group_name} tags. The tags in this group are: %{tags}."
limited_to_one_tag_from_group: "The tags %{tags} cannot be used simultaneously. Please include only one of them."
invalid_target_tag: "cannot be a synonym of a synonym"
synonyms_exist: "is not allowed while synonyms exist"
rss_by_tag: "Topics tagged %{tag}"
finish_installation:
congratulations: "Congratulations, you installed Discourse!"
register:
button: "Register"
title: "Register Admin Account"
help: "Register a new account to get started."
no_emails: "Unfortunately, no administrator emails were defined during setup, so finalizing the configuration may be difficult. Please add a developer email in the configuration file or <a href='https://meta.discourse.org/t/create-admin-account-from-console/17274'>create an administrator account from console</a>."
confirm_email:
title: "Confirm your Email"
message: "<p>We sent an activation mail to <b>%{email}</b>. Please follow the instructions in the email to activate your account.</p><p>If it doesn't arrive, check your spam folder, and <a href='https://meta.discourse.org/t/troubleshooting-email-on-a-new-discourse-install/16326'>ensure you set up email correctly</a>.</p>"
resend_email:
title: "Resend Activation Email"
message: "<p>We've re-sent the activation email to <b>%{email}</b>"
safe_mode:
title: "Enter safe mode"
description: "Safe mode allows you to test your site without loading themes or client-side plugin customizations. Server-side plugin customizations remain enabled."
no_themes: "Disable themes and theme components"
no_unofficial_plugins: "Disable unofficial client-side plugin customizations"
no_plugins: "Disable all client-side plugin customizations"
deprecation_error_description: "To check for compatibility with upcoming Discourse updates, you can make Javascript deprecations raise an error:"
deprecation_error_label: Make Javascript deprecations raise an error
enter: "Enter Safe Mode"
must_select: "You must select at least one option to enter safe mode."
wizard:
title: "Discourse Setup"
step:
introduction:
title: "About your site"
description: "These will be shown on your login and any public pages. You can always change them later."
fields:
title:
label: "Community name"
placeholder: "Janes Hangout"
site_description:
label: "Describe your community in a sentence"
placeholder: "A place for Jane and her friends to discuss cool stuff"
default_locale:
label: "Language"
privacy:
title: "Member experience"
fields:
login_required:
placeholder: "Private"
extra_description: "Only logged in users can access this community"
invite_only:
placeholder: "Invite only"
extra_description: "Users must be invited by trusted users or staff, otherwise users can sign up on their own"
must_approve_users:
placeholder: "Require approval"
extra_description: "Users must be approved by staff"
chat_enabled:
placeholder: "Enable chat"
extra_description: "Engage with your members in real time"
enable_sidebar:
placeholder: "Enable sidebar"
extra_description: "Access your favorite spaces with ease"
ready:
title: "Your site is ready!"
description: "That's it! You've done the basics to setup your community. Now you can jump in and have a look around, write a welcome topic, and send invites!<br><br>Have fun!"
styling:
title: "Look and feel"
fields:
color_scheme:
label: "Color scheme"
body_font:
label: "Body font"
heading_font:
label: "Heading font"
styling_preview:
label: "Preview"
homepage_style:
label: "Homepage style"
choices:
latest:
label: "Latest Topics"
categories_only:
label: "Categories Only"
categories_with_featured_topics:
label: "Categories with Featured Topics"
categories_and_latest_topics:
label: "Categories and Latest Topics"
categories_and_latest_topics_created_date:
label: "Categories and Latest Topics (sort by topic created date)"
categories_and_top_topics:
label: "Categories and Top Topics"
categories_boxes:
label: "Categories Boxes"
categories_boxes_with_topics:
label: "Categories Boxes with Topics"
subcategories_with_featured_topics:
label: "Subcategories with Featured Topics"
branding:
title: "Site logo"
fields:
logo:
label: "Primary logo"
description: "Recommended size: 600 x 200"
logo_small:
label: "Square logo"
description: "Recommended size: 512 x 512. Also used as the favicon and mobile home screen app icon."
corporate:
title: "Your organization"
description: "The following information will be used in your Terms of Service and About pages. Feel free to skip if no company exists."
fields:
company_name:
label: "Company name"
placeholder: "Acme Organization"
governing_law:
label: "Governing law"
placeholder: "California law"
contact_url:
label: "Web page"
placeholder: "https://www.example.com/contact-us"
city_for_disputes:
label: "City for disputes"
placeholder: "San Francisco, California"
site_contact:
label: "Automated messages"
description: "All automated Discourse personal messages will be sent from this user, such as flag warnings and backup completion notices."
contact_email:
label: "Point of contact"
placeholder: "example@user.com"
description: "Email address of key contact responsible for this site. Used for critical notifications, and listed on your <a href='%{base_path}/about' target='_blank'>your about page</a> for urgent matters."
invites:
title: "Invite Staff"
description: "Youre almost done! Lets invite some people to help <a href='https://blog.discourse.org/2014/08/building-a-discourse-community/' target='blank'>seed your discussions</a> with interesting topics and replies to get your community started."
disabled: "Since local logins are disabled, its not possible to send invites to anyone. Please proceed to the next step."
finished:
title: "Your Discourse is Ready!"
description: |
<p>If you ever feel like changing these settings, <b>re-run this wizard any time</b>, or visit <a href='%{base_path}/admin' target='_blank'>your admin section</a>; find it next to the wrench icon in the site menu.</p>
<p>It is easy to customize your Discourse even further using our powerful theming system. For examples, check out the <a href="https://meta.discourse.org/c/theme/61/l/top" target="_blank">top themes and components</a> on <a href="https://meta.discourse.org/" target="_blank">meta.discourse.org</a>.</p>
<p>Have fun, and good luck <a href='https://blog.discourse.org/2014/08/building-a-discourse-community/' target='_blank'>building your new community!</a></p>
search_logs:
graph_title: "Search Count"
onebox:
discourse:
user_joined_community: "Joined %{date}"
gitlab:
truncated_file: "This file has been truncated."
show_original: "show original"
github:
binary_file: "This file is binary."
truncated_file: "This file has been truncated."
show_original: "show original"
requires_iframe: "Viewer requires iframe."
committed: "committed"
more_than_three_files: "There are more than three files."
opened: "opened"
closed: "closed"
commit_by: "Commit by"
comment_by: "Comment by"
review_by: "Review by"
pr_summary: "%{commits} commits changed %{changed_files} files with %{additions} additions and %{deletions} deletions"
discourse_push_notifications:
popup:
mentioned: '%{username} mentioned you in "%{topic}" - %{site_title}'
group_mentioned: '%{username} mentioned you in "%{topic}" - %{site_title}'
quoted: '%{username} quoted you in "%{topic}" - %{site_title}'
replied: '%{username} replied to you in "%{topic}" - %{site_title}'
posted: '%{username} posted in "%{topic}" - %{site_title}'
private_message: '%{username} sent you a private message in "%{topic}" - %{site_title}'
linked: '%{username} linked to your post from "%{topic}" - %{site_title}'
watching_first_post: '%{username} created a new topic "%{topic}" - %{site_title}'
confirm_title: "Notifications enabled - %{site_title}"
confirm_body: "Success! Notifications have been enabled."
custom: "Notification from %{username} on %{site_title}"
staff_action_logs:
not_found: "not found"
unknown: "unknown"
user_merged: "%{username} was merged into this account"
user_delete_self: "Deleted by self from %{url}"
webhook_deactivation_reason: "Your webhook has been automatically deactivated. We received multiple '%{status}' HTTP status failure responses."
api_key:
automatic_revoked:
one: "Automatically revoked, last activity more than %{count} day ago"
other: "Automatically revoked, last activity more than %{count} days ago"
automatic_revoked_max_life:
one: "Automatically revoked, created at more than %{count} day ago"
other: "Automatically revoked, created at more than %{count} days ago"
revoked: Revoked
restored: Restored
reviewables:
already_handled: "Thanks, but we've already reviewed that post and determined it does not need to be flagged again."
already_handled_and_user_not_exist: "Thanks, but someone already reviewed and that user no longer exists."
priorities:
low: "Low"
medium: "Medium"
high: "High"
sensitivity:
disabled: "Disabled"
low: "Low"
medium: "Medium"
high: "High"
must_claim: "You must claim items before acting on them."
user_claimed: "This item has been claimed by another user."
missing_version: "You must supply a version parameter"
conflict: "There was an update conflict preventing you from doing that."
reasons:
post_count: "The first few posts from every user must be approved by staff. See %{link}."
trust_level: "Users at low trust levels must have replies approved by staff. See %{link}."
group: "Users not in the specified groups must have replies approved by staff. See %{link}."
new_topics_unless_trust_level: "Users at low trust levels must have topics approved by staff. See %{link}."
fast_typer: "New user typed their first post suspiciously fast, suspected bot or spammer behavior. See %{link}."
auto_silence_regex: "New user whose first post matches the %{link} setting."
watched_word: "This post included a Watched Word. See your %{link}."
staged: "New topics and posts for staged users must be approved by staff. See %{link}."
category: "Posts in this category require manual approval by staff. See the %{link}."
must_approve_users: "All new users must be approved by staff. See %{link}."
invite_only: "All new users should be invited. See %{link}."
email_auth_res_enqueue: "This email failed a DMARC check, it most likely isn't from whom it seems to be from. Check the raw email headers for more information."
email_spam: "This email was flagged as spam by the header defined in %{link}."
suspect_user: "This new user entered profile information without reading any topics or posts, which strongly suggests they may be a spammer. See %{link}."
contains_media: "This post includes embedded media. See %{link}."
queued_by_staff: "A staff member thinks this post needs review. It'll remain hidden until then."
links:
watched_word: list of watched words
category: category settings
actions:
agree:
title: "Yes"
agree_and_keep:
title: "Keep post"
description: "Agree with flag but keep this post unchanged."
agree_and_keep_hidden:
title: "Keep post hidden"
description: "Agree with flag and keep the post hidden."
agree_and_suspend:
title: "Suspend user"
description: "Agree with flag and suspend the user."
agree_and_silence:
title: "Silence user"
description: "Agree with flag and silence the user."
agree_and_restore:
title: "Restore post"
description: "Restore the post so that all users can see it."
agree_and_hide:
title: "Hide post"
description: "Agree with flag and hide this post + automatically send the user a message urging them to edit it."
delete_single:
title: "Delete"
delete:
title: "Delete…"
delete_and_ignore:
title: "Ignore flag and delete post"
description: "Ignore the flag by removing it from the queue and delete the post; if the first post, delete the topic as well. "
delete_and_ignore_replies:
title: "Ignore flag, delete post and replies"
description: "Ignore the flag by removing it from the queue, delete the post and all of its replies; if the first post, delete the topic as well"
confirm: "Are you sure you want to delete the replies to the post as well?"
delete_and_agree:
title: "Delete post"
description: "Agree with flag and delete this post; if the first post, delete the topic as well."
delete_and_agree_replies:
title: "Delete post and replies"
description: "Agree with flag and delete this post and all of its replies; if the first post, delete the topic as well."
confirm: "Are you sure you want to delete the replies to the post as well?"
disagree_and_restore:
title: "No, restore post"
description: "Restore the post so that all users can see it."
disagree:
title: "No"
discard_post:
title: "Discard Post"
revise_and_reject_post:
title: "Revise Post..."
ignore:
title: "Ignore"
ignore_and_do_nothing:
title: "Do nothing"
description: "Ignore the flag by removing it from the queue without taking any action. Hidden posts will stay hidden and be handled by the auto-tools."
approve:
title: "Approve"
approve_post:
title: "Approve Post"
confirm_closed: "This topic is closed. Would you like to create the post anyway?"
reject_post:
title: "Reject Post"
approve_user:
title: "Approve User"
reject_user:
title: "Delete User…"
delete:
title: "Delete User"
description: "The user will be deleted from the forum."
block:
title: "Delete and Block User"
description: "The user will be deleted, and we'll block their IP and email address."
reject:
title: "Reject"
bundle_title: "Reject…"
reject_and_suspend:
title: "Reject and Suspend user"
reject_and_silence:
title: "Reject and Silence user"
reject_and_delete:
title: "Reject and Delete the post"
reject_and_keep_deleted:
title: "Keep post deleted"
approve_and_restore:
title: "Approve and Restore post"
delete_user:
reason: "Deleted via review queue"
email_style:
html_missing_placeholder: "The html template must include %{placeholder}"
notification_level:
ignore_error: "Sorry, you can't ignore that user."
mute_error: "Sorry, you can't mute that user."
error: "Sorry, you cannot change the notification level for that user."
invalid_value: '"%{value}" is not a valid notification level.'
discord:
not_in_allowed_guild: "Authentication failed. You are not a member of a permitted Discord guild."
old_keys_reminder:
title: "Reminder about old credentials"
body: |
Hello! This is a routine yearly security reminder from your Discourse instance.
As a courtesy, we wanted to let you know that the following credentials used on your Discourse instance have not been updated in more than two years:
%{keys}
No action is required at this time, however, it is considered good security practice to cycle all your important credentials every few years.
create_linked_topic:
topic_title_with_sequence:
one: "%{topic_title} (Part %{count})"
other: "%{topic_title} (Part %{count})"
post_raw: "Continuing the discussion from %{parent_url}.\n\nPrevious discussions:\n\n%{previous_topics}"
small_action_post_raw: "Continue discussion at %{new_title}."
fallback_username: "user"
user_status:
errors:
ends_at_should_be_greater_than_set_at: "ends_at should be greater than set_at"
webhooks:
payload_url:
blocked_or_internal: "Payload URL cannot be used because it resolves to a blocked or internal IP"
unsafe: "Payload URL cannot be used because it's unsafe"
form_templates:
errors:
invalid_yaml: "is not a valid YAML string"
invalid_type: "contains an invalid template type: %{type} (valid types are: %{valid_types})"
missing_type: "is missing a field type"
missing_id: "is missing a field id"
duplicate_ids: "has duplicate ids"
reserved_id: "has a reserved keyword as id: %{id}"
unsafe_description: "has an unsafe HTML description"