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 Discourse, 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"
theme_settings:
errors:
json_value:
too_large: "has exceeded the maximum size of %{max_size} bytes."
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}"
screenshot: "Error importing theme screenshots. %{errors}"
screenshot_invalid_type: "The theme screenshots must be in one of the following formats: %{accepted_formats}. The screenshot %{file_name} has an invalid format."
screenshot_invalid_size: "The theme screenshots must be less than %{max_size}. The screenshot %{file_name} is too large."
screenshot_invalid_dimensions: "The theme screenshots must be maximum %{max_width}x%{max_height}. The screenshot %{file_name} exceeds this. Its dimensions are %{width}x%{height}."
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_value_not_valid: "Setting `%{name}` default value isn't valid. %{error_messages}"
enum_value_not_valid: "Selected value isn't one of the enum choices."
number_value_not_valid_min_max: "Value must be between %{min} and %{max}."
number_value_not_valid_min: "Value must be larger than or equal to %{min}."
number_value_not_valid_max: "Value must be smaller than or equal to %{max}."
string_value_not_valid_min_max: "Value must be between %{min} and %{max} characters long."
string_value_not_valid_min:
one: "Value must be at least %{count} character long."
other: "Value must be at least %{count} characters long."
string_value_not_valid_max:
one: "Value must be at most %{count} character long."
other: "Value must be at most %{count} characters long."
objects:
humanize_required: "The property at JSON Pointer '%{property_json_pointer}' must be present."
required: "must be present"
humanize_invalid_type: "The property at JSON Pointer '%{property_json_pointer}' must be of type %{type}."
invalid_type: "%{type} is not a valid type"
humanize_not_valid_string_value: "The property at JSON Pointer '%{property_json_pointer}' must be a string."
not_valid_string_value: "must be a string"
humanize_not_valid_integer_value: "The property at JSON Pointer '%{property_json_pointer}' must be an integer."
not_valid_integer_value: "must be an integer"
humanize_not_valid_float_value: "The property at JSON Pointer '%{property_json_pointer}' must be a float."
not_valid_float_value: "must be a float"
humanize_not_valid_boolean_value: "The property at JSON Pointer '%{property_json_pointer}' must be a boolean."
not_valid_boolean_value: "must be a boolean"
humanize_not_valid_enum_value: "The property at JSON Pointer '%{property_json_pointer}' must be one of the following %{choices}."
not_valid_enum_value: "must be one of the following: %{choices}"
humanize_not_valid_categories_value: "The property at JSON Pointer '%{property_json_pointer}' must be an array of valid category ids."
not_valid_categories_value: "must be an array of valid category ids"
humanize_categories_value_not_valid_min:
one: "The property at JSON Pointer '%{property_json_pointer}' must have at least %{count} category id."
other: "The property at JSON Pointer '%{property_json_pointer}' must have at least %{count} category ids."
categories_value_not_valid_min:
one: "must have at least %{count} category id"
other: "must have at least %{count} category ids"
humanize_categories_value_not_valid_max:
one: "The property at JSON Pointer '%{property_json_pointer}' must have at most %{count} category id."
other: "The property at JSON Pointer '%{property_json_pointer}' must have at most %{count} category ids."
categories_value_not_valid_max:
one: "must have at most %{count} category id"
other: "must have at most %{count} category ids"
humanize_not_valid_topic_value: "The property at JSON Pointer '%{property_json_pointer}' must be a valid topic id."
not_valid_topic_value: "must be a valid topic id"
humanize_not_valid_post_value: "The property at JSON Pointer '%{property_json_pointer}' must be a valid post id."
not_valid_post_value: "must be a valid post id"
humanize_not_valid_groups_value: "The property at JSON Pointer '%{property_json_pointer}' must be an array of valid group ids."
not_valid_groups_value: "must be an array of valid group ids"
humanize_groups_value_not_valid_min:
one: "The property at JSON Pointer '%{property_json_pointer}' must have at least %{count} group id."
other: "The property at JSON Pointer '%{property_json_pointer}' must have at least %{count} group ids."
groups_value_not_valid_min:
one: "must have at least %{count} group id"
other: "must have at least %{count} group ids"
humanize_groups_value_not_valid_max:
one: "The property at JSON Pointer '%{property_json_pointer}' must have at most %{count} group id."
other: "The property at JSON Pointer '%{property_json_pointer}' must have at most %{count} group ids."
groups_value_not_valid_max:
one: "must have at most %{count} group id"
other: "must have at most %{count} group ids"
humanize_not_valid_tags_value: "The property at JSON Pointer '%{property_json_pointer}' must be an array of valid tag names."
not_valid_tags_value: "must be an array of valid tag names"
humanize_tags_value_not_valid_min:
one: "The property at JSON Pointer '%{property_json_pointer}' must have at least %{count} tag name."
other: "The property at JSON Pointer '%{property_json_pointer}' must have at least %{count} tag names."
tags_value_not_valid_min:
one: "must have at least %{count} tag name"
other: "must have at least %{count} tag names"
humanize_tags_value_not_valid_max:
one: "The property at JSON Pointer '%{property_json_pointer}' must have at most %{count} tag name."
other: "The property at JSON Pointer '%{property_json_pointer}' must have at most %{count} tag names."
tags_value_not_valid_max:
one: "must have at most %{count} tag name"
other: "must have at most %{count} tag names"
humanize_not_valid_upload_value: "The property at JSON Pointer '%{property_json_pointer}' must be a valid upload id."
not_valid_upload_value: "must be a valid upload id"
humanize_string_value_not_valid_min:
one: "The property at JSON Pointer '%{property_json_pointer}' must be at least %{count} character long."
other: "The property at JSON Pointer '%{property_json_pointer}' must be at least %{count} characters long."
string_value_not_valid_min:
one: "must be at least %{count} character long"
other: "must be at least %{count} characters long"
humanize_string_value_not_valid_max:
one: "The property at JSON Pointer '%{property_json_pointer}' must be at most %{count} character long."
other: "The property at JSON Pointer '%{property_json_pointer}' must be at most %{count} characters long."
string_value_not_valid_max:
one: "must be at most %{count} character long"
other: "must be at most %{count} characters long"
humanize_number_value_not_valid_min: "The property at JSON Pointer '%{property_json_pointer}' must be larger than or equal to %{min}."
number_value_not_valid_min: "must be larger than or equal to %{min}"
humanize_number_value_not_valid_max: "The property at JSON Pointer '%{property_json_pointer}' must be smaller than or equal to %{max}."
number_value_not_valid_max: "must be smaller than or equal to %{max}"
humanize_string_value_not_valid_url: "The property at JSON Pointer '%{property_json_pointer}' must be a valid URL."
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)"
attachments: "(attachments)"
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: "%{attribute}: %{message}"
messages:
too_long_validation:
one: "is limited to %{count} character; you entered %{length}."
other: "is limited to %{count} 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."
required: "must exist"
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"
site_setting_is_hidden: "You are not allowed to change hidden settings"
site_setting_is_unconfigurable: "You are not allowed to change unconfigurable settings"
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_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
https://meta.discourse.org/t/76575'
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 contact staff."
not_found: "Your invite token is invalid. Please contact staff."
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: |
Your invite to %{site_name} has already been redeemed.
If you remember your password you can Log In.
Otherwise please Reset Password.
not_found_template_link: |This invitation to %{site_name} can no longer be redeemed. Please ask the person who invited you to send you a new invitation.
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 %{email}, they already have an account!" invite_exists: "You already invited %{email}." 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: "You’re almost done! We sent an activation mail to your email address. Please follow the instructions in the mail to activate your account.
If it doesn’t arrive, check your spam folder.
" 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." domain_not_allowed_admin: "This domain cannot be used for invites." 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" 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" show_post_in_topic: "show post in topic" page_num: "Page %{num}" crawler_content_hidden: "HTML content omitted because you are logged in or using a modern mobile device." 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: hot: "Hot topics" 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 %{user_bookmarks_url} 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: default_notification_level_users_limit: one: "Default notification level can't be set on groups larger than %{count} user. Incorrect group: %{group_name}" other: "Default notification level can't be set on groups larger than %{count} users. Incorrect group: %{group_name}" 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" default_descriptions: everyone: "Automatic group including all members" staff: "Automatic group including admins and moderators" admins: "Responsible for configuring and maintaining this site, with access to all member and activity data" moderators: "Responsible for responding to flags, moderating discussions, and helping members with their accounts" trust_level_0: "New members with limited abilities, who are learning community norms and functionality" trust_level_1: "Members with more trust, who have shown initial engagement by reading hand can now access more functions. All members of this group are also members of the trust_level_0 group." trust_level_2: "Active members who have consistently contributed overtime and gained full citizenship privileges. All members of this group are also members of the trust_level_1 and trust_level_0 groups." trust_level_3: "Highly engaged, long-term contributors, who form the backbone of the community and have gained limited moderation privileges. All members of this group are also members of the trust_level_2, trust_level_1 and trust_level_0 groups." trust_level_4: "Manually promoted members, recognized by their exemplary contributions and entrusted with additional moderation privileges. All members of this group are also members of the trust_level_3, trust_level_2, trust_level_1 and trust_level_0 groups." request_membership_pm: title: "Membership Request for @%{group_name}" request_accepted_pm: 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} — **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} — **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? You’ve posted a few topics and replies, but your profile picture isn’t as unique as you are – it’s just a letter. Have you considered **[visiting your user profile](%{profile_path})** and uploading a picture that represents you? It’s 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 quote reply button that appears. It’s easier for everyone to read topics that have fewer in-depth replies versus lots of small, individual replies. dominating_topic: You’ve 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: one: You’ve replied to @%{reply_username} once, did you know you could send them a personal message instead? other: You’ve 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 We’re 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: "" password: "Password" 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." too_large_group: "The group: %{group_name}, has too many users to receive a message. Limit is %{limit}." 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_password: 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." 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" invalid_html: "HTML can only be used for replacement" 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 don’t 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 you’d like to be asked about? :open_book: **Get to know the community** by [browsing discussions](%{base_path}/latest) 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" topic_view_stats: invalid_date: "Date is in an invalid format, use YYYY-MM-DD" 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: "You’ve performed this action too many times, please try again later." too_many_requests: "You’ve 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, you’ve reached the maximum number of replies a new user can create on their first day. Please wait %{time_left} and you’ll be able to create more replies." first_day_topics_per_day: "We appreciate your enthusiasm! That said, for the safety of our community, you’ve reached the maximum number of topics a new user can create on their first day. Please wait %{time_left} and you’ll be able to create more new topics." create_topic: "You’re creating topics a bit too quickly. Please wait %{time_left} before trying again." create_post: "You’re replying a bit too quickly. Please wait %{time_left} before trying again." delete_post: "You’re deleting posts a bit too quickly. Please wait %{time_left} before trying again." public_group_membership: "You’re joining/leaving groups a bit too frequently. Please wait %{time_left} before trying again." topics_per_day: "You’ve reached the maximum new topics allowed per day. You can create more new topics in %{time_left}." pms_per_day: "You’ve reached the maximum messages allowed per day. You can create more new messages in %{time_left}." create_like: "Wow! You’ve been sharing a lot of love! You’ve reached the maximum number of likes within a 24 hour period, but as you gain trust levels, you’ll earn more daily likes. You’ll be able to like posts again in %{time_left}." create_bookmark: "You’ve reached the maximum number of daily bookmarks. You can create more bookmarks in %{time_left}." edit_post: "You’ve reached the maximum number of daily edits. You can submit more edits in %{time_left}." live_post_counts: "You’re asking for live post counts too quickly. Please wait %{time_left} before trying again." unsubscribe_via_email: "You’ve reached the maximum number of unsubscribes via email. Please wait %{time_left} before trying again." topic_invitations_per_day: "You’ve 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 Log In now. If you forgot your password, you can request a link 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 Log In now. If you forgot your password, you can request a link 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: already_done: "Sorry, this account confirmation link is no longer valid. Perhaps your account is already active?" 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 %{target_username} (%{target_email}) to be an administrator?" grant: "Grant Admin Access" complete: "%{target_username} 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 our community guidelines.' short_description: 'A violation of our community guidelines' 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. %{message}" 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 our community guidelines.' long_form: "flagged this as inappropriate" short_description: 'A violation of our community guidelines' notify_moderators: title: "Something Else" description: 'This topic requires general staff attention based on the guidelines, TOS, 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: 'Your post was flagged by the community. Please see your messages.
' user_must_edit: "This post was flagged by the community and is temporarily hidden.
" ignored: hidden_content: "Ignored content
" 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 %{email} were updated. To change your email settings visit your user preferences." 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: "Don’t 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" wrong_move: "Flag cannot be moved" system: "System flag cannot be updated or deleted." used: "Flag cannot be updated or deleted because has already been used." unique_name: "Flag name must be unique" 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 signed-in 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: "Legacy Consolidated Pageviews" title_legacy: "Consolidated Pageviews" xaxis: page_view_crawler: "Crawlers" page_view_anon: "Anonymous users" page_view_logged_in: "Logged in users" yaxis: "Day" description: "Legacy report showing pageviews for logged in users, anonymous users and crawlers. This has been superseded by the 'Site traffic' report." description_legacy: "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." consolidated_page_views_browser_detection: title: "Consolidated Pageviews with Browser Detection (Experimental)" title_legacy: "Consolidated Pageviews with Browser Detection (Experimental)" xaxis: page_view_anon_browser: "Anonymous Browser" page_view_logged_in_browser: "Logged In Browser" page_view_crawler: "Known Crawler" page_view_other: "Other pageviews" yaxis: "Day" description: "Pageviews for logged in users, anonymous users, known crawlers and other. This experimental report ensures logged-in/anon requests are coming from real browsers before counting them. Historical data for this report is unavailable, for historical data see the 'Legacy Consolidated Pageviews' report." description_legacy: "Pageviews for logged in users, anonymous users, known crawlers and other. This experimental report ensures logged-in/anon requests are coming from real browsers before counting them. Historical data for this report is unavailable, for historical data see the ‘Consolidated Pageviews' report." site_traffic: title: "Site traffic" xaxis: page_view_anon_browser: "Pageviews (anonymous)" page_view_logged_in_browser: "Pageviews (logged in)" page_view_crawler: "Known crawlers" page_view_other: "Other traffic" yaxis: "Day" description: "Pageviews for logged in users, anonymous users, known crawlers and other traffic." description_link: "https://meta.discourse.org/t/understanding-pageviews-and-the-site-traffic-report/324062" 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" xaxis: "" 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_legacy_total_reqs: title: "Legacy Pageviews" xaxis: "Day" yaxis: "Total Pageviews" description: "Legacy report showing the 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." page_view_anon_browser_reqs: title: "Anonymous Browser Pageviews" xaxis: "Day" yaxis: "Anonymous Browser Pageviews" description: "Number of pageviews by anonymous visitors using real browsers." page_view_logged_in_browser_reqs: title: "Logged In Browser Pageviews" xaxis: "Day" yaxis: "Logged In Browser Pageviews" description: "Number of pageviews by logged-in visitors using real browsers." 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 signed-in 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." web_hook_events_daily_aggregate: title: "Web Hook Events" xaxis: "Day" yaxis: "Number of events" description: "Number of web hook events triggered or their mean duration." 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." topic_view_stats: title: "Topic View Stats" labels: topic: Topic logged_in_views: Logged In anon_views: Anonymous total_views: Total description: "The top 100 most viewed topics in a date range, combining logged in and anonymous views. Can be filtered by category." dashboard: problem: twitter_login: 'Twitter login appears to not be working at the moment. Check the credentials in the Site Settings.' group_email_credentials: 'There was an issue with the email credentials for the group %{group_full_name}. No emails will be sent from the group inbox until this problem is addressed. %{error}' rails_env: "Your server is running in %{env} mode." host_names: "Your config/database.yml file is using the default localhost hostname. Update it to use your site's hostname." sidekiq: 'Sidekiq is not running. Many tasks, like sending emails, are executed asynchronously by Sidekiq. Please ensure at least one Sidekiq process is running. Learn about Sidekiq here.' queue_size: "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." ram: "Your server is running with less than 1 GB of total memory. At least 1 GB of memory is recommended." google_oauth2_config: '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 the Site Settings and update the settings. See this guide to learn more.' facebook_config: '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 the Site Settings and update the settings. See this guide to learn more.' twitter_config: '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 the Site Settings and update the settings. See this guide to learn more.' github_config: '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 the Site Settings and update the settings. See this guide to learn more.' s3_upload_config: '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 the Site Settings and update the settings. See "How to set up image uploads to S3?" to learn more.' s3_backup_config: '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 the Site Settings and update the settings. See "How to set up image uploads to S3?" to learn more.' s3_cdn: '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. See "Using Object Storage for Uploads" to learn more.' image_magick: 'The server is configured to create thumbnails of large images, but ImageMagick is not installed. Install ImageMagick using your favorite package manager or download the latest release.' failing_emails: 'There are %{num_failed_jobs} email jobs that failed. Check your app.yml and ensure that the mail server settings are correct. See the failed jobs in Sidekiq.' subfolder_ends_in_slash: "Your subfolder setup is incorrect; the DISCOURSE_RELATIVE_URL_ROOT ends in a slash." translation_overrides: "Some of your translation overrides are out of date. Please check your text customizations." email_polling_errored_recently: one: "Email polling has generated an error in the past 24 hours. Look at the logs for more details." other: "Email polling has generated %{count} errors in the past 24 hours. Look at the logs 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 Site Settings." poll_pop3_timeout: "Connection to the POP3 server is timing out. Incoming email could not be retrieved. Please check your POP3 settings and service provider." poll_pop3_auth_error: "Connection to the POP3 server is failing with an authentication error. Please check your POP3 settings." force_https: "Your website is using SSL. But `force_https` is not yet enabled in your site settings." out_of_date_themes: "Updates are available for the following themes:%{themes_list}" unreachable_themes: "We were unable to check for updates on the following themes:%{themes_list}" watched_words: "The regular expression for %{action} watched words is invalid. Please check your Watched Word settings, or disable the 'watched words regular expressions' site setting." google_analytics_version: "Your Discourse is currently using Google Analytics 3, which will no longer be supported after July 2023. Upgrade to Google Analytics 4 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 Moving to a Single Category Style Site Setting for instructions on how to keep your selected category style." maxmind_db_configuration: 'The server has been configured to use MaxMind databases for reverse IP lookups but a valid MaxMind account ID has not been configured which may result in MaxMind databases failing to download in the future. See this guide to learn more.' 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 ■■■■" 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 Customize / Text." 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: "Allows users to associate a feature link with their topics. When turned on, topics can have a highlighted link attached, which is publicly visible and can be edited if the user has sufficient permissions. The feature link can enhance a topic's comprehensibility by providing related additional content." 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. If the set value is zero, it prevents the use of any emojis in topic titles." 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: "Accent marks in search queries are disregarded if this setting is enabled, allowing users to find results even if they don't input the correct accents." 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 /about. Visible to anonymous users on public sites." contact_url: "Contact URL for this site. When present, replaces email address on /about 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: "Prevent oneboxing for URLs that lead to a redirecting page. This configuration stops the creation of a visual card (onebox) for any URL that redirects to a different destination, ensuring that direct, non-redirecting URLs are prioritized for oneboxing." 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: "Set the maximum number of oneboxes that can be included in a single post. Oneboxes provide a preview of linked content within the post." facebook_app_access_token: "A token generated from your Facebook app ID and secret. Used to generate Instagram oneboxes." github_onebox_access_tokens: "A mapping of a GitHub organisation or user to a GitHub access token which is used to generate GitHub oneboxes for private repos, commits, pull requests, issues, and file contents. Without this, only public GitHub URLs will be oneboxed." 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 https://en.wikipedia.org/wiki/Favicon. 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 https://meta.discourse.org/t/customize-subject-format-for-standard-emails/20801" detailed_404: "Provides more details to users about why they can’t 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. This setting does not affect API or 'DiscourseConnect provider' authentication. If enforce_second_factor_on_external_auth is enabled, users will not be able to log in with external authentication providers after they set up two-factor authentication." enforce_second_factor_on_external_auth: "Require users to use two-factor authentication at all times. When enabled this will prevent users logging in with external authentication methods like social logins if they have two-factor authentication enabled. When disabled users will only need to confirm their two-factor authentication when logging in with a username and password. Also see the `enforce_second_factor` setting." 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?" 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 in these groups to CREATE personal messages. IMPORTANT: 1) all users can REPLY to messages. 2) Admins and mods can CREATE messages to any user. 3) Trust level groups include higher levels; choose trust_level_1 to allow TL1, TL2, TL3, TL4 but not allow TL0. 4) Group interaction settings override this setting for messaging specific groups." 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 ’, (tm) with symbol, -- 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: 'All new users must wait for moderator or admin approval before being allowed to log in. (Note: enabling this setting also removes the "arrive at topic" invite option)' 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" experimental_full_page_login: "Replace the login/signup modal with a full page login/signup form." 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 https://google.com/analytics" ga_universal_domain_name: "Google Universal Analytics domain name, eg: mysite.com; see https://google.com/analytics" 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 Google's Cross-Domain Tracking guide." gtm_container_id: "Google Tag Manager container id. eg: GTM-ABCD12E.You’re almost done! We sent an activation mail to %{email}. Please follow the instructions in the mail to activate your account.
If it doesn’t arrive, check your spam folder.
" 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 required 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…" merging_user_associated_accounts: "Merging user associated accounts…" 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: one: "must be at least %{count} character" other: "must be at least %{count} characters" long: one: "must be no more than %{count} character" other: "must be no more than %{count} 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}** - Update using our easy **[one-click browser update](%{base_url}/admin/update)** - 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}** - Update using our easy **[one-click browser update](%{base_url}/admin/update)** - 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, we’ll get to know you, and temporary new user limitations will be lifted. Over time you’ll 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 you’ve been busy reading, which is fantastic, so we’ve promoted you up a [trust level!](https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/) We’re really glad you’re spending time with us and we’d 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, you’ve been granted %{role} status!" text_body_template: | You’ve been granted %{role} status by a fellow staff member. As a %{role}, you now have access to the admin interface. With great power comes great responsibility. If you’re 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: | We’ve 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). Skipped Invites for Emails: ``` text %{skipped_emails} ``` ``` 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). Skipped Invites for Emails: ``` text %{skipped_emails} ``` Failed Invites for Emails: ``` text %{failed_emails} ``` 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 won’t 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: | We’re sorry, but we’re 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 didn’t try to create an account for %{email} or change your email address, don’t 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 %{since}" 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 %{since}" 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 don’t usually use. Was this you? - Location: %{location} (%{client_ip}) - Browser: %{browser} - Device: %{device} – %{os} If this was you, great! There’s 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 doesn’t 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 `flag_sockpuppets` 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 `newuser_spam_host_threshold` 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" guidelines_title: "Guidelines" body: | ## [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 — 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. ## [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 you’ll 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. ## [Be Agreeable, Even When You Disagree](#agreeable) You may wish to respond by disagreeing. That’s fine. But remember to _criticize ideas, not people_. Please avoid: * Name-calling * Ad hominem attacks * Responding to a post’s tone instead of its actual content * Knee-jerk contradiction Instead, provide thoughtful insights that improve the conversation. ## [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 — 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 else’s, too. Let’s leave our community better than we found it. ## [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, don’t reply. Replying encourages bad behavior by acknowledging it, consumes your energy, and wastes everyone’s 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. ## [Always Be Civil](#be-civil) Nothing sabotages a healthy conversation like rudeness: * Be civil. Don’t post anything that a reasonable person would consider offensive, abusive, or hate speech. * Keep it clean. Don’t post anything obscene or sexually explicit. * Respect each other. Don’t harass or grief anyone, impersonate people, or expose their private information. * Respect our forum. Don’t post spam or otherwise vandalize the forum. These are not concrete terms with precise definitions — avoid even the _appearance_ of any of these things. If you’re 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. ## [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: * Don’t start a topic in the wrong category; please read the category definitions. * Don’t cross-post the same thing in multiple topics. * Don’t post no-content replies. * Don’t divert a topic by changing it midstream. * Don’t sign your posts — 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. ## [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 someone’s intellectual property (software, video, audio, images), or for breaking any other law. ## [Powered by You](#power) This site is operated by your [friendly moderator team](%{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 let’s discuss! If there’s a critical or urgent issue that can’t be handled by a meta topic or flag, [contact the moderators](%{base_path}/about). tos_topic: title: "Terms of Service" body: |