[
  {
    "id": "web.incoming_webhook.user.app_error",
    "translation": "Couldn't find the user."
  },
  {
    "id": "web.incoming_webhook.text.app_error",
    "translation": "No text specified."
  },
  {
    "id": "web.incoming_webhook.split_props_length.app_error",
    "translation": "Unable to split webhook props into {{.Max}} character parts."
  },
  {
    "id": "web.incoming_webhook.permissions.app_error",
    "translation": "Inappropriate channel permissions."
  },
  {
    "id": "web.incoming_webhook.parse.app_error",
    "translation": "Unable to parse incoming data."
  },
  {
    "id": "web.incoming_webhook.invalid.app_error",
    "translation": "Invalid webhook."
  },
  {
    "id": "web.incoming_webhook.disabled.app_error",
    "translation": "Incoming webhooks have been disabled by the system admin."
  },
  {
    "id": "web.incoming_webhook.channel_locked.app_error",
    "translation": "This webhook is not permitted to post to the requested channel."
  },
  {
    "id": "web.incoming_webhook.channel.app_error",
    "translation": "Couldn't find the channel."
  },
  {
    "id": "web.get_access_token.internal_saving.app_error",
    "translation": "Unable to update the user access data."
  },
  {
    "id": "web.error.unsupported_browser.system_browser_or",
    "translation": "or"
  },
  {
    "id": "web.error.unsupported_browser.system_browser_make_default",
    "translation": "Make default"
  },
  {
    "id": "web.error.unsupported_browser.open_system_browser.edge",
    "translation": "Open Edge"
  },
  {
    "id": "web.error.unsupported_browser.no_longer_support_version",
    "translation": "This version of your browser is no longer supported by Mattermost"
  },
  {
    "id": "web.error.unsupported_browser.no_longer_support",
    "translation": "This browser is no longer supported by Mattermost"
  },
  {
    "id": "web.error.unsupported_browser.min_os_version.windows",
    "translation": "Windows 10+"
  },
  {
    "id": "web.error.unsupported_browser.min_os_version.mac",
    "translation": "macOS 11+"
  },
  {
    "id": "web.error.unsupported_browser.min_browser_version.safari",
    "translation": "Version 16.2+"
  },
  {
    "id": "web.error.unsupported_browser.min_browser_version.firefox",
    "translation": "Version 102+"
  },
  {
    "id": "web.error.unsupported_browser.min_browser_version.edge",
    "translation": "Version 110+"
  },
  {
    "id": "web.error.unsupported_browser.min_browser_version.chrome",
    "translation": "Version 110+"
  },
  {
    "id": "web.error.unsupported_browser.learn_more",
    "translation": "Learn more about supported browsers."
  },
  {
    "id": "web.error.unsupported_browser.install_guide.windows",
    "translation": "Install Guide"
  },
  {
    "id": "web.error.unsupported_browser.install_guide.mac",
    "translation": "Install Guide"
  },
  {
    "id": "web.error.unsupported_browser.download_the_app",
    "translation": "Download the App"
  },
  {
    "id": "web.error.unsupported_browser.download_app_or_upgrade_browser",
    "translation": "Download the Mattermost app or use a supported browser for a better experience."
  },
  {
    "id": "web.error.unsupported_browser.download",
    "translation": "Download the App"
  },
  {
    "id": "web.error.unsupported_browser.browser_title.safari",
    "translation": "Safari"
  },
  {
    "id": "web.error.unsupported_browser.browser_title.firefox",
    "translation": "Mozilla Firefox"
  },
  {
    "id": "web.error.unsupported_browser.browser_title.edge",
    "translation": "Microsoft Edge"
  },
  {
    "id": "web.error.unsupported_browser.browser_title.chrome",
    "translation": "Google Chrome"
  },
  {
    "id": "web.error.unsupported_browser.browser_get_latest.safari",
    "translation": "Get the latest version of Safari"
  },
  {
    "id": "web.error.unsupported_browser.browser_get_latest.firefox",
    "translation": "Get the latest version of Firefox"
  },
  {
    "id": "web.error.unsupported_browser.browser_get_latest.chrome",
    "translation": "Get the latest version of Chrome"
  },
  {
    "id": "web.command_webhook.parse.app_error",
    "translation": "Unable to parse incoming data."
  },
  {
    "id": "web.command_webhook.command.app_error",
    "translation": "Couldn't find the command."
  },
  {
    "id": "system.message.name",
    "translation": "System"
  },
  {
    "id": "store.sql_user.get_for_login.app_error",
    "translation": "Unable to find an existing account matching your credentials. This team may require an invite from the team owner to join."
  },
  {
    "id": "store.sql_team.save_member.exists.app_error",
    "translation": "A team member with that ID already exists."
  },
  {
    "id": "store.sql_post.search.disabled",
    "translation": "Searching has been disabled on this server. Please contact your System Administrator."
  },
  {
    "id": "store.sql_file_info.search.disabled",
    "translation": "Searching files has been disabled on this server. Please contact your System Administrator."
  },
  {
    "id": "store.sql_command.update.missing.app_error",
    "translation": "Command does not exist."
  },
  {
    "id": "store.sql_command.save.get.app_error",
    "translation": "Unable to get the command."
  },
  {
    "id": "store.sql_command.get.missing.app_error",
    "translation": "Command does not exist."
  },
  {
    "id": "store.sql_channel.save_direct_channel.not_direct.app_error",
    "translation": "Not a direct channel attempted to be created with SaveDirectChannel."
  },
  {
    "id": "store.sql_channel.save_channel.limit.app_error",
    "translation": "You've reached the limit of the number of allowed channels."
  },
  {
    "id": "store.sql_channel.save_channel.exists.app_error",
    "translation": "A channel with that name already exists on the same team."
  },
  {
    "id": "store.sql_channel.save_channel.existing.app_error",
    "translation": "Must call update for existing channel."
  },
  {
    "id": "store.sql_channel.save.direct_channel.app_error",
    "translation": "Use SaveDirectChannel to create a direct channel."
  },
  {
    "id": "store.sql_channel.save.archived_channel.app_error",
    "translation": "You can not modify an archived channel."
  },
  {
    "id": "store.sql_channel.get.existing.app_error",
    "translation": "Unable to find the existing channel."
  },
  {
    "id": "store.sql_bot.get.missing.app_error",
    "translation": "Bot does not exist."
  },
  {
    "id": "sharedchannel.permalink.not_found",
    "translation": "This post contains permalinks to other channels which may not be visible to users in other sites."
  },
  {
    "id": "sharedchannel.cannot_deliver_post",
    "translation": "One or more posts could not be delivered to remote site {{.Remote}} because it is offline. The post(s) will be delivered when the site is online."
  },
  {
    "id": "searchengine.bleve.disabled.error",
    "translation": "Error purging Bleve indexes: engine is disabled"
  },
  {
    "id": "plugin_api.send_mail.missing_to",
    "translation": "Missing TO address."
  },
  {
    "id": "plugin_api.send_mail.missing_subject",
    "translation": "Missing email subject."
  },
  {
    "id": "plugin_api.send_mail.missing_htmlbody",
    "translation": "Missing HTML Body."
  },
  {
    "id": "plugin_api.get_file_link.no_post.app_error",
    "translation": "Unable to get public link for file. File must be attached to a post that can be read."
  },
  {
    "id": "plugin_api.get_file_link.disabled.app_error",
    "translation": "Public links have been disabled."
  },
  {
    "id": "plugin_api.bot_cant_create_bot",
    "translation": "Bot user cannot create bot user."
  },
  {
    "id": "plugin.api.update_user_status.bad_status",
    "translation": "Unable to set the user status. Unknown user status."
  },
  {
    "id": "plugin.api.get_users_in_channel",
    "translation": "Unable to get the users, invalid sorting criteria."
  },
  {
    "id": "oauth.gitlab.tos.error",
    "translation": "GitLab's Terms of Service have updated. Please go to {{.URL}} to accept them and then try logging into Mattermost again."
  },
  {
    "id": "model.websocket_client.connect_fail.app_error",
    "translation": "Unable to connect to the WebSocket server."
  },
  {
    "id": "model.utils.decode_json.app_error",
    "translation": "could not decode."
  },
  {
    "id": "model.user_access_token.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.user_access_token.is_valid.token.app_error",
    "translation": "Invalid access token."
  },
  {
    "id": "model.user_access_token.is_valid.id.app_error",
    "translation": "Invalid value for ID."
  },
  {
    "id": "model.user_access_token.is_valid.description.app_error",
    "translation": "Invalid description, must be 255 or less characters."
  },
  {
    "id": "model.user.is_valid.username.app_error",
    "translation": "Username must begin with a letter, and contain between 3 to 22 lowercase characters made up of numbers, letters, and the symbols '.', '-', and '_'."
  },
  {
    "id": "model.user.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.user.is_valid.pwd_uppercase_symbol.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one uppercase letter and at least one symbol (e.g. '~!@#$%^&*()')."
  },
  {
    "id": "model.user.is_valid.pwd_uppercase_number_symbol.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one uppercase letter, at least one number, and at least one symbol (e.g. '~!@#$%^&*()')."
  },
  {
    "id": "model.user.is_valid.pwd_uppercase_number.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one uppercase letter and at least one number."
  },
  {
    "id": "model.user.is_valid.pwd_uppercase.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one uppercase letter."
  },
  {
    "id": "model.user.is_valid.pwd_symbol.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one symbol (e.g. '~!@#$%^&*()')."
  },
  {
    "id": "model.user.is_valid.pwd_number_symbol.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one number and at least one symbol (e.g. '~!@#$%^&*()')."
  },
  {
    "id": "model.user.is_valid.pwd_number.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one number."
  },
  {
    "id": "model.user.is_valid.pwd_lowercase_uppercase_symbol.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one lowercase letter, at least one uppercase letter, and at least one symbol (e.g. '~!@#$%^&*()')."
  },
  {
    "id": "model.user.is_valid.pwd_lowercase_uppercase_number_symbol.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one lowercase letter, at least one uppercase letter, at least one number, and at least one symbol (e.g. '~!@#$%^&*()')."
  },
  {
    "id": "model.user.is_valid.pwd_lowercase_uppercase_number.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one lowercase letter, at least one uppercase letter, and at least one number."
  },
  {
    "id": "model.user.is_valid.pwd_lowercase_uppercase.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one lowercase letter and at least one uppercase letter."
  },
  {
    "id": "model.user.is_valid.pwd_lowercase_symbol.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one lowercase letter and at least one symbol (e.g. '~!@#$%^&*()')."
  },
  {
    "id": "model.user.is_valid.pwd_lowercase_number_symbol.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one lowercase letter, at least one number, and at least one symbol (e.g. '~!@#$%^&*()')."
  },
  {
    "id": "model.user.is_valid.pwd_lowercase_number.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one lowercase letter and at least one number."
  },
  {
    "id": "model.user.is_valid.pwd_lowercase.app_error",
    "translation": "Your password must contain at least {{.Min}} characters made up of at least one lowercase letter."
  },
  {
    "id": "model.user.is_valid.pwd.app_error",
    "translation": "Your password must contain at least {{.Min}} characters."
  },
  {
    "id": "model.user.is_valid.position.app_error",
    "translation": "Invalid position: must not be longer than 128 characters."
  },
  {
    "id": "model.user.is_valid.password_limit.app_error",
    "translation": "Unable to set a password over 72 characters due to the limitations of bcrypt."
  },
  {
    "id": "model.user.is_valid.nickname.app_error",
    "translation": "Invalid nickname."
  },
  {
    "id": "model.user.is_valid.marshal.app_error",
    "translation": "Failed to encode field to JSON"
  },
  {
    "id": "model.user.is_valid.locale.app_error",
    "translation": "Invalid locale."
  },
  {
    "id": "model.user.is_valid.last_name.app_error",
    "translation": "Invalid last name."
  },
  {
    "id": "model.user.is_valid.id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.user.is_valid.first_name.app_error",
    "translation": "Invalid first name."
  },
  {
    "id": "model.user.is_valid.email.app_error",
    "translation": "Invalid email."
  },
  {
    "id": "model.user.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.user.is_valid.auth_data_type.app_error",
    "translation": "Invalid user, auth data must be set with auth type."
  },
  {
    "id": "model.user.is_valid.auth_data_pwd.app_error",
    "translation": "Invalid user, password and auth data cannot both be set."
  },
  {
    "id": "model.user.is_valid.auth_data.app_error",
    "translation": "Invalid auth data."
  },
  {
    "id": "model.upload_session.is_valid.user_id.app_error",
    "translation": "Invalid Value for UserId"
  },
  {
    "id": "model.upload_session.is_valid.type.app_error",
    "translation": "Invalid value for Type"
  },
  {
    "id": "model.upload_session.is_valid.path.app_error",
    "translation": "Invalid value for Path"
  },
  {
    "id": "model.upload_session.is_valid.id.app_error",
    "translation": "Invalid value for ID"
  },
  {
    "id": "model.upload_session.is_valid.filename.app_error",
    "translation": "Invalid value for Filename"
  },
  {
    "id": "model.upload_session.is_valid.file_size.app_error",
    "translation": "Invalid value for FileSize"
  },
  {
    "id": "model.upload_session.is_valid.file_offset.app_error",
    "translation": "Invalid value for FileOffset"
  },
  {
    "id": "model.upload_session.is_valid.create_at.app_error",
    "translation": "Invalid value for CreateAt"
  },
  {
    "id": "model.upload_session.is_valid.channel_id.app_error",
    "translation": "Invalid value for ChannelId."
  },
  {
    "id": "model.token.is_valid.size",
    "translation": "Invalid token."
  },
  {
    "id": "model.token.is_valid.expiry",
    "translation": "Invalid token expiry"
  },
  {
    "id": "model.team_member.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.team_member.is_valid.team_id.app_error",
    "translation": "Invalid team ID."
  },
  {
    "id": "model.team.is_valid.url.app_error",
    "translation": "Invalid URL Identifier."
  },
  {
    "id": "model.team.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.team.is_valid.type.app_error",
    "translation": "Invalid type."
  },
  {
    "id": "model.team.is_valid.reserved.app_error",
    "translation": "This URL is unavailable. Please try another."
  },
  {
    "id": "model.team.is_valid.name.app_error",
    "translation": "Invalid name."
  },
  {
    "id": "model.team.is_valid.invite_id.app_error",
    "translation": "Invalid invite ID."
  },
  {
    "id": "model.team.is_valid.id.app_error",
    "translation": "Invalid ID."
  },
  {
    "id": "model.team.is_valid.email.app_error",
    "translation": "Invalid email."
  },
  {
    "id": "model.team.is_valid.domains.app_error",
    "translation": "Invalid allowed domains."
  },
  {
    "id": "model.team.is_valid.description.app_error",
    "translation": "Invalid description."
  },
  {
    "id": "model.team.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.team.is_valid.company.app_error",
    "translation": "Invalid company name."
  },
  {
    "id": "model.team.is_valid.characters.app_error",
    "translation": "Name must be 2 or more lowercase alphanumeric characters."
  },
  {
    "id": "model.search_params_list.is_valid.include_deleted_channels.app_error",
    "translation": "All IncludeDeletedChannels params should have the same value."
  },
  {
    "id": "model.reaction.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.plugin_command.error.app_error",
    "translation": "An error occurred while trying to execute this command."
  },
  {
    "id": "model.outgoing_hook.username.app_error",
    "translation": "Invalid username."
  },
  {
    "id": "model.outgoing_hook.is_valid.words.app_error",
    "translation": "Invalid trigger words."
  },
  {
    "id": "model.outgoing_hook.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.outgoing_hook.is_valid.url.app_error",
    "translation": "Invalid callback URLs. Each must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.outgoing_hook.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.outgoing_hook.is_valid.trigger_words.app_error",
    "translation": "Invalid trigger words."
  },
  {
    "id": "model.outgoing_hook.is_valid.token.app_error",
    "translation": "Invalid token."
  },
  {
    "id": "model.outgoing_hook.is_valid.team_id.app_error",
    "translation": "Invalid team ID."
  },
  {
    "id": "model.outgoing_hook.is_valid.id.app_error",
    "translation": "Invalid ID."
  },
  {
    "id": "model.outgoing_hook.is_valid.display_name.app_error",
    "translation": "Invalid title."
  },
  {
    "id": "model.outgoing_hook.is_valid.description.app_error",
    "translation": "Invalid description."
  },
  {
    "id": "model.outgoing_hook.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.outgoing_hook.is_valid.content_type.app_error",
    "translation": "Invalid value for content_type."
  },
  {
    "id": "model.outgoing_hook.is_valid.channel_id.app_error",
    "translation": "Invalid channel ID."
  },
  {
    "id": "model.outgoing_hook.is_valid.callback.app_error",
    "translation": "Invalid callback URLs."
  },
  {
    "id": "model.outgoing_hook.icon_url.app_error",
    "translation": "Invalid icon."
  },
  {
    "id": "model.oauth.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.oauth.is_valid.name.app_error",
    "translation": "Invalid name."
  },
  {
    "id": "model.oauth.is_valid.icon_url.app_error",
    "translation": "Icon URL must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.oauth.is_valid.homepage.app_error",
    "translation": "Homepage must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.oauth.is_valid.description.app_error",
    "translation": "Invalid description."
  },
  {
    "id": "model.oauth.is_valid.creator_id.app_error",
    "translation": "Invalid creator ID."
  },
  {
    "id": "model.oauth.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.oauth.is_valid.client_secret.app_error",
    "translation": "Invalid client secret."
  },
  {
    "id": "model.oauth.is_valid.callback.app_error",
    "translation": "Callback URL must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.oauth.is_valid.app_id.app_error",
    "translation": "Invalid app ID."
  },
  {
    "id": "model.link_metadata.is_valid.url.app_error",
    "translation": "Link metadata URL must be set."
  },
  {
    "id": "model.link_metadata.is_valid.type.app_error",
    "translation": "Invalid link metadata type."
  },
  {
    "id": "model.link_metadata.is_valid.timestamp.app_error",
    "translation": "Link metadata timestamp must be nonzero and rounded to the nearest hour."
  },
  {
    "id": "model.link_metadata.is_valid.data_type.app_error",
    "translation": "Link metadata data does not match the given type."
  },
  {
    "id": "model.link_metadata.is_valid.data.app_error",
    "translation": "Link metadata data cannot be nil."
  },
  {
    "id": "model.license_record.is_valid.id.app_error",
    "translation": "Invalid value for ID when uploading a licence."
  },
  {
    "id": "model.license_record.is_valid.create_at.app_error",
    "translation": "Invalid value for create_at when uploading a licence."
  },
  {
    "id": "model.job.is_valid.type.app_error",
    "translation": "Invalid job type."
  },
  {
    "id": "model.job.is_valid.status.app_error",
    "translation": "Invalid job status."
  },
  {
    "id": "model.job.is_valid.id.app_error",
    "translation": "Invalid job ID."
  },
  {
    "id": "model.job.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.incoming_hook.username.app_error",
    "translation": "Invalid username."
  },
  {
    "id": "model.incoming_hook.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.incoming_hook.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.incoming_hook.team_id.app_error",
    "translation": "Invalid team ID."
  },
  {
    "id": "model.incoming_hook.parse_data.app_error",
    "translation": "Unable to parse incoming data."
  },
  {
    "id": "model.incoming_hook.id.app_error",
    "translation": "Invalid ID."
  },
  {
    "id": "model.incoming_hook.icon_url.app_error",
    "translation": "Invalid post icon."
  },
  {
    "id": "model.incoming_hook.display_name.app_error",
    "translation": "Invalid title."
  },
  {
    "id": "model.incoming_hook.description.app_error",
    "translation": "Invalid description."
  },
  {
    "id": "model.incoming_hook.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.incoming_hook.channel_id.app_error",
    "translation": "Invalid channel id."
  },
  {
    "id": "model.guest.is_valid.emails.app_error",
    "translation": "Invalid emails."
  },
  {
    "id": "model.guest.is_valid.email.app_error",
    "translation": "Invalid email."
  },
  {
    "id": "model.guest.is_valid.channels.app_error",
    "translation": "Invalid channels."
  },
  {
    "id": "model.guest.is_valid.channel.app_error",
    "translation": "Invalid channel."
  },
  {
    "id": "model.group_syncable.syncable_id.app_error",
    "translation": "invalid syncable ID for group syncable."
  },
  {
    "id": "model.group_syncable.group_id.app_error",
    "translation": "invalid group ID property for group syncable."
  },
  {
    "id": "model.group_member.user_id.app_error",
    "translation": "invalid user ID property for group member."
  },
  {
    "id": "model.group_member.group_id.app_error",
    "translation": "invalid group ID property for group member."
  },
  {
    "id": "model.group.update_at.app_error",
    "translation": "invalid update at property for group."
  },
  {
    "id": "model.group.source.app_error",
    "translation": "invalid source property for group."
  },
  {
    "id": "model.group.remote_id.app_error",
    "translation": "invalid remote ID property for group."
  },
  {
    "id": "model.group.name.invalid_length.app_error",
    "translation": "Name must be 1 to 64 lowercase alphanumeric characters."
  },
  {
    "id": "model.group.name.invalid_chars.app_error",
    "translation": "invalid characters in the name property for group"
  },
  {
    "id": "model.group.name.app_error",
    "translation": "invalid name property for group."
  },
  {
    "id": "model.group.display_name.app_error",
    "translation": "invalid display name property for group."
  },
  {
    "id": "model.group.description.app_error",
    "translation": "invalid description property for group."
  },
  {
    "id": "model.group.create_at.app_error",
    "translation": "invalid create at property for group."
  },
  {
    "id": "model.file_info.is_valid.user_id.app_error",
    "translation": "Invalid value for user_id."
  },
  {
    "id": "model.file_info.is_valid.update_at.app_error",
    "translation": "Invalid value for update_at."
  },
  {
    "id": "model.file_info.is_valid.post_id.app_error",
    "translation": "Invalid value for post_id."
  },
  {
    "id": "model.file_info.is_valid.path.app_error",
    "translation": "Invalid value for path."
  },
  {
    "id": "model.file_info.is_valid.id.app_error",
    "translation": "Invalid value for ID."
  },
  {
    "id": "model.file_info.is_valid.create_at.app_error",
    "translation": "Invalid value for create_at."
  },
  {
    "id": "model.file_info.get.gif.app_error",
    "translation": "Could not decode GIF."
  },
  {
    "id": "model.emoji.user_id.app_error",
    "translation": "Invalid creator ID."
  },
  {
    "id": "model.emoji.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.emoji.name.app_error",
    "translation": "Name must be 1 to 64 lowercase alphanumeric characters."
  },
  {
    "id": "model.emoji.id.app_error",
    "translation": "Invalid emoji ID."
  },
  {
    "id": "model.emoji.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.config.is_valid.write_timeout.app_error",
    "translation": "Invalid value for write timeout."
  },
  {
    "id": "model.config.is_valid.websocket_url.app_error",
    "translation": "WebSocket URL must be a valid URL and start with ws:// or wss://."
  },
  {
    "id": "model.config.is_valid.webserver_security.app_error",
    "translation": "Invalid value for webserver connection security."
  },
  {
    "id": "model.config.is_valid.tls_overwrite_cipher.app_error",
    "translation": "Invalid value passed for TLS overwrite cipher - Please refer to the documentation for valid values."
  },
  {
    "id": "model.config.is_valid.tls_key_file_missing.app_error",
    "translation": "Invalid value for TLS key file - Either use LetsEncrypt or set path to existing key file."
  },
  {
    "id": "model.config.is_valid.tls_cert_file_missing.app_error",
    "translation": "Invalid value for TLS certificate file - Either use LetsEncrypt or set path to existing certificate file."
  },
  {
    "id": "model.config.is_valid.time_between_user_typing.app_error",
    "translation": "Time between user typing updates should not be set to less than 1000 milliseconds."
  },
  {
    "id": "model.config.is_valid.teammate_name_display.app_error",
    "translation": "Invalid teammate display. Must be 'full_name', 'nickname_full_name' or 'username'."
  },
  {
    "id": "model.config.is_valid.sql_query_timeout.app_error",
    "translation": "Invalid query timeout for SQL settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.sql_max_conn.app_error",
    "translation": "Invalid maximum open connection for SQL settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.sql_idle.app_error",
    "translation": "Invalid maximum idle connection for SQL settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.sql_driver.app_error",
    "translation": "Invalid driver name for SQL settings. Must be 'mysql' or 'postgres'."
  },
  {
    "id": "model.config.is_valid.sql_data_src.app_error",
    "translation": "Invalid data source for SQL settings. Must be set."
  },
  {
    "id": "model.config.is_valid.sql_conn_max_lifetime_milliseconds.app_error",
    "translation": "Invalid connection maximum lifetime for SQL settings. Must be a non-negative number."
  },
  {
    "id": "model.config.is_valid.sql_conn_max_idle_time_milliseconds.app_error",
    "translation": "Invalid connection maximum idle time for SQL settings. Must be a non-negative number."
  },
  {
    "id": "model.config.is_valid.sitename_length.app_error",
    "translation": "Site name must be less than or equal to {{.MaxLength}} characters."
  },
  {
    "id": "model.config.is_valid.site_url_email_batching.app_error",
    "translation": "Unable to enable email batching when SiteURL isn't set."
  },
  {
    "id": "model.config.is_valid.site_url.app_error",
    "translation": "Site URL must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.config.is_valid.saml_username_attribute.app_error",
    "translation": "Invalid Username attribute. Must be set."
  },
  {
    "id": "model.config.is_valid.saml_spidentifier_attribute.app_error",
    "translation": "Service Provider Identifier is required"
  },
  {
    "id": "model.config.is_valid.saml_signature_algorithm.app_error",
    "translation": "Invalid Signature Algorithm."
  },
  {
    "id": "model.config.is_valid.saml_public_cert.app_error",
    "translation": "Service Provider Public Certificate missing. Did you forget to upload it?"
  },
  {
    "id": "model.config.is_valid.saml_private_key.app_error",
    "translation": "Service Provider Private Key missing. Did you forget to upload it?"
  },
  {
    "id": "model.config.is_valid.saml_idp_url.app_error",
    "translation": "SAML SSO URL must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.config.is_valid.saml_idp_descriptor_url.app_error",
    "translation": "Identity Provider Issuer URL must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.config.is_valid.saml_idp_cert.app_error",
    "translation": "Identity Provider Public Certificate missing. Did you forget to upload it?"
  },
  {
    "id": "model.config.is_valid.saml_guest_attribute.app_error",
    "translation": "Invalid Guest attribute. Must be in the form 'field=value'."
  },
  {
    "id": "model.config.is_valid.saml_email_attribute.app_error",
    "translation": "Invalid Email attribute. Must be set."
  },
  {
    "id": "model.config.is_valid.saml_canonical_algorithm.app_error",
    "translation": "Invalid Canonical Algorithm."
  },
  {
    "id": "model.config.is_valid.saml_assertion_consumer_service_url.app_error",
    "translation": "Service Provider Login URL must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.config.is_valid.saml_admin_attribute.app_error",
    "translation": "Invalid Admin attribute. Must be in the form 'field=value'."
  },
  {
    "id": "model.config.is_valid.restrict_direct_message.app_error",
    "translation": "Invalid direct message restriction. Must be 'any', or 'team'."
  },
  {
    "id": "model.config.is_valid.read_timeout.app_error",
    "translation": "Invalid value for read timeout."
  },
  {
    "id": "model.config.is_valid.rate_sec.app_error",
    "translation": "Invalid per-second for rate limit settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.rate_mem.app_error",
    "translation": "Invalid memory store size for rate limit settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.password_length.app_error",
    "translation": "Minimum password length must be a whole number greater than or equal to {{.MinLength}} and less than or equal to {{.MaxLength}}."
  },
  {
    "id": "model.config.is_valid.message_export.global_relay.smtp_username.app_error",
    "translation": "Message export job GlobalRelaySettings.SmtpUsername must be set."
  },
  {
    "id": "model.config.is_valid.message_export.global_relay.smtp_password.app_error",
    "translation": "Message export job GlobalRelaySettings.SmtpPassword must be set."
  },
  {
    "id": "model.config.is_valid.message_export.global_relay.email_address.app_error",
    "translation": "Message export job GlobalRelaySettings.EmailAddress must be set to a valid email address."
  },
  {
    "id": "model.config.is_valid.message_export.global_relay.customer_type.app_error",
    "translation": "Message export GlobalRelaySettings.CustomerType must be set to one of either 'A9' or 'A10'."
  },
  {
    "id": "model.config.is_valid.message_export.global_relay.config_missing.app_error",
    "translation": "Message export job ExportFormat is set to 'globalrelay', but GlobalRelaySettings are missing."
  },
  {
    "id": "model.config.is_valid.message_export.export_type.app_error",
    "translation": "Message export job ExportFormat must be one of 'actiance', 'csv' or 'globalrelay'."
  },
  {
    "id": "model.config.is_valid.message_export.export_from.app_error",
    "translation": "Message export job ExportFromTimestamp must be a timestamp (expressed in seconds since unix epoch). Only messages sent after this timestamp will be exported."
  },
  {
    "id": "model.config.is_valid.message_export.enable.app_error",
    "translation": "Message export job EnableExport setting must be either true or false."
  },
  {
    "id": "model.config.is_valid.message_export.daily_runtime.app_error",
    "translation": "Message export job DailyRuntime must be a 24-hour time stamp in the form HH:MM."
  },
  {
    "id": "model.config.is_valid.message_export.batch_size.app_error",
    "translation": "Message export job BatchSize must be a positive integer."
  },
  {
    "id": "model.config.is_valid.max_users.app_error",
    "translation": "Invalid maximum users per team for team settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.max_notify_per_channel.app_error",
    "translation": "Invalid maximum notifications per channel for team settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.max_file_size.app_error",
    "translation": "Invalid max file size for file settings. Must be a whole number greater than zero."
  },
  {
    "id": "model.config.is_valid.max_channels.app_error",
    "translation": "Invalid maximum channels per team for team settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.max_burst.app_error",
    "translation": "Maximum burst size must be greater than zero."
  },
  {
    "id": "model.config.is_valid.login_attempts.app_error",
    "translation": "Invalid maximum login attempts for service settings. Must be a positive number."
  },
  {
    "id": "model.config.is_valid.localization.available_locales.app_error",
    "translation": "Available Languages must contain Default Client Language."
  },
  {
    "id": "model.config.is_valid.listen_address.app_error",
    "translation": "Invalid listen address for service settings. Must be set."
  },
  {
    "id": "model.config.is_valid.ldap_username",
    "translation": "AD/LDAP field 'Username Attribute' is required."
  },
  {
    "id": "model.config.is_valid.ldap_sync_interval.app_error",
    "translation": "Invalid sync interval time. Must be at least one minute."
  },
  {
    "id": "model.config.is_valid.ldap_server",
    "translation": "AD/LDAP field 'AD/LDAP Server' is required."
  },
  {
    "id": "model.config.is_valid.ldap_security.app_error",
    "translation": "Invalid connection security for AD/LDAP settings. Must be '', 'TLS', or 'STARTTLS'."
  },
  {
    "id": "model.config.is_valid.ldap_max_page_size.app_error",
    "translation": "Invalid max page size value."
  },
  {
    "id": "model.config.is_valid.ldap_login_id",
    "translation": "AD/LDAP field 'Login ID Attribute' is required."
  },
  {
    "id": "model.config.is_valid.ldap_id",
    "translation": "AD/LDAP field 'ID Attribute' is required."
  },
  {
    "id": "model.config.is_valid.ldap_email",
    "translation": "AD/LDAP field 'Email Attribute' is required."
  },
  {
    "id": "model.config.is_valid.ldap_basedn",
    "translation": "AD/LDAP field 'BaseDN' is required."
  },
  {
    "id": "model.config.is_valid.import.retention_days_too_low.app_error",
    "translation": "Invalid value for RetentionDays. Value is too low."
  },
  {
    "id": "model.config.is_valid.import.directory.app_error",
    "translation": "Invalid value for Directory."
  },
  {
    "id": "model.config.is_valid.image_proxy_type.app_error",
    "translation": "Invalid image proxy type. Must be 'local' or 'atmos/camo'."
  },
  {
    "id": "model.config.is_valid.group_unread_channels.app_error",
    "translation": "Invalid group unread channels for service settings. Must be 'disabled', 'default_on', or 'default_off'."
  },
  {
    "id": "model.config.is_valid.file_salt.app_error",
    "translation": "Invalid public link salt for file settings. Must be 32 chars or more."
  },
  {
    "id": "model.config.is_valid.file_driver.app_error",
    "translation": "Invalid driver name for file settings. Must be 'local' or 'amazons3'."
  },
  {
    "id": "model.config.is_valid.export.retention_days_too_low.app_error",
    "translation": "Invalid value for RetentionDays. Value should be greater than 0"
  },
  {
    "id": "model.config.is_valid.export.directory.app_error",
    "translation": "Value for Directory should not be empty."
  },
  {
    "id": "model.config.is_valid.encrypt_sql.app_error",
    "translation": "Invalid at rest encrypt key for SQL settings. Must be 32 chars or more."
  },
  {
    "id": "model.config.is_valid.email_security.app_error",
    "translation": "Invalid connection security for email settings. Must be '', 'TLS', or 'STARTTLS'."
  },
  {
    "id": "model.config.is_valid.email_notification_contents_type.app_error",
    "translation": "Invalid email notification contents type for email settings. Must be one of either 'full' or 'generic'."
  },
  {
    "id": "model.config.is_valid.email_batching_interval.app_error",
    "translation": "Invalid email batching interval for email settings. Must be 30 seconds or more."
  },
  {
    "id": "model.config.is_valid.email_batching_buffer_size.app_error",
    "translation": "Invalid email batching buffer size for email settings. Must be zero or a positive number."
  },
  {
    "id": "model.config.is_valid.elastic_search.request_timeout_seconds.app_error",
    "translation": "Elasticsearch Request Timeout must be at least 1 second."
  },
  {
    "id": "model.config.is_valid.elastic_search.posts_aggregator_job_start_time.app_error",
    "translation": "Elasticsearch PostsAggregatorJobStartTime setting must be a time in the format 'hh:mm'."
  },
  {
    "id": "model.config.is_valid.elastic_search.live_indexing_batch_size.app_error",
    "translation": "Elasticsearch Live Indexing Batch Size must be at least 1."
  },
  {
    "id": "model.config.is_valid.elastic_search.enable_searching.app_error",
    "translation": "Elasticsearch EnableIndexing setting must be set to true when Elasticsearch EnableSearching is set to true"
  },
  {
    "id": "model.config.is_valid.elastic_search.enable_autocomplete.app_error",
    "translation": "Elasticsearch EnableIndexing setting must be set to true when Elasticsearch EnableAutocomplete is set to true"
  },
  {
    "id": "model.config.is_valid.elastic_search.connection_url.app_error",
    "translation": "Elasticsearch ConnectionUrl setting must be provided when Elasticsearch indexing is enabled."
  },
  {
    "id": "model.config.is_valid.elastic_search.aggregate_posts_after_days.app_error",
    "translation": "Elasticsearch AggregatePostsAfterDays setting must be a number greater than or equal to 1."
  },
  {
    "id": "model.config.is_valid.display.custom_url_schemes.app_error",
    "translation": "The custom URL scheme {{.Scheme}} is invalid. Custom URL schemes must start with a letter and contain only letters, numbers, plus (+), full stop (.) and hyphen (-)."
  },
  {
    "id": "model.config.is_valid.directory.app_error",
    "translation": "Invalid Local Storage Directory. Must be a non-empty string."
  },
  {
    "id": "model.config.is_valid.data_retention.message_retention_days_too_low.app_error",
    "translation": "Message retention must be one day or longer."
  },
  {
    "id": "model.config.is_valid.data_retention.file_retention_days_too_low.app_error",
    "translation": "File retention must be one day or longer."
  },
  {
    "id": "model.config.is_valid.data_retention.deletion_job_start_time.app_error",
    "translation": "Data retention job start time must be a 24-hour time stamp in the form HH:MM."
  },
  {
    "id": "model.config.is_valid.collapsed_threads.app_error",
    "translation": "CollapsedThreads setting must be either disabled,default_on or default_off"
  },
  {
    "id": "model.config.is_valid.cluster_email_batching.app_error",
    "translation": "Unable to enable email batching when clustering is enabled."
  },
  {
    "id": "model.config.is_valid.bleve_search.filename.app_error",
    "translation": "Bleve IndexingDir setting must be set when Bleve EnableIndexing is set to true"
  },
  {
    "id": "model.config.is_valid.bleve_search.enable_searching.app_error",
    "translation": "Bleve EnableIndexing setting must be set to true when Bleve EnableSearching is set to true"
  },
  {
    "id": "model.config.is_valid.bleve_search.enable_autocomplete.app_error",
    "translation": "Bleve EnableIndexing setting must be set to true when Bleve EnableAutocomplete is set to true"
  },
  {
    "id": "model.config.is_valid.atmos_camo_image_proxy_url.app_error",
    "translation": "Invalid RemoteImageProxyURL for atmos/camo. Must be set to your shared key."
  },
  {
    "id": "model.config.is_valid.atmos_camo_image_proxy_options.app_error",
    "translation": "Invalid RemoteImageProxyOptions for atmos/camo. Must be set to your shared key."
  },
  {
    "id": "model.config.is_valid.allow_cookies_for_subdomains.app_error",
    "translation": "Allowing cookies for subdomains requires SiteURL to be set."
  },
  {
    "id": "model.compliance.is_valid.start_end_at.app_error",
    "translation": "To must be greater than From."
  },
  {
    "id": "model.compliance.is_valid.start_at.app_error",
    "translation": "From must be a valid time."
  },
  {
    "id": "model.compliance.is_valid.id.app_error",
    "translation": "Invalid ID."
  },
  {
    "id": "model.compliance.is_valid.end_at.app_error",
    "translation": "To must be a valid time."
  },
  {
    "id": "model.compliance.is_valid.desc.app_error",
    "translation": "Invalid description."
  },
  {
    "id": "model.compliance.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.command_hook.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.command_hook.root_id.app_error",
    "translation": "Invalid root ID."
  },
  {
    "id": "model.command_hook.id.app_error",
    "translation": "Invalid command hook ID."
  },
  {
    "id": "model.command_hook.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.command_hook.command_id.app_error",
    "translation": "Invalid command ID."
  },
  {
    "id": "model.command_hook.channel_id.app_error",
    "translation": "Invalid channel ID."
  },
  {
    "id": "model.command.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.command.is_valid.url_http.app_error",
    "translation": "Invalid URL. Must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.command.is_valid.url.app_error",
    "translation": "Invalid URL."
  },
  {
    "id": "model.command.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.command.is_valid.trigger.app_error",
    "translation": "Invalid trigger."
  },
  {
    "id": "model.command.is_valid.token.app_error",
    "translation": "Invalid token."
  },
  {
    "id": "model.command.is_valid.team_id.app_error",
    "translation": "Invalid team ID."
  },
  {
    "id": "model.command.is_valid.plugin_id.app_error",
    "translation": "Invalid plugin ID."
  },
  {
    "id": "model.command.is_valid.method.app_error",
    "translation": "Invalid Method."
  },
  {
    "id": "model.command.is_valid.id.app_error",
    "translation": "Invalid ID."
  },
  {
    "id": "model.command.is_valid.display_name.app_error",
    "translation": "Invalid title."
  },
  {
    "id": "model.command.is_valid.description.app_error",
    "translation": "Invalid description."
  },
  {
    "id": "model.command.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.command.is_valid.autocomplete_data.app_error",
    "translation": "Invalid AutocompleteData"
  },
  {
    "id": "model.cluster.is_valid.type.app_error",
    "translation": "Type must be set."
  },
  {
    "id": "model.cluster.is_valid.name.app_error",
    "translation": "ClusterName must be set."
  },
  {
    "id": "model.cluster.is_valid.last_ping_at.app_error",
    "translation": "LastPingAt must be set."
  },
  {
    "id": "model.cluster.is_valid.id.app_error",
    "translation": "Invalid ID."
  },
  {
    "id": "model.cluster.is_valid.hostname.app_error",
    "translation": "Hostname must be set."
  },
  {
    "id": "model.cluster.is_valid.create_at.app_error",
    "translation": "CreateAt must be set."
  },
  {
    "id": "model.channel_member.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.channel_member.is_valid.unread_level.app_error",
    "translation": "Invalid mark unread level."
  },
  {
    "id": "model.channel_member.is_valid.push_level.app_error",
    "translation": "Invalid push notification level."
  },
  {
    "id": "model.channel_member.is_valid.notify_level.app_error",
    "translation": "Invalid notify level."
  },
  {
    "id": "model.channel_member.is_valid.ignore_channel_mentions_value.app_error",
    "translation": "Invalid ignore channel mentions status."
  },
  {
    "id": "model.channel_member.is_valid.email_value.app_error",
    "translation": "Invalid email notification value."
  },
  {
    "id": "model.channel_member.is_valid.channel_id.app_error",
    "translation": "Invalid channel ID."
  },
  {
    "id": "app.team.get.find.app_error",
    "translation": "Unable to find the existing team."
  },
  {
    "id": "app.team.clear_all_custom_role_assignments.select.app_error",
    "translation": "Failed to retrieve the team members."
  },
  {
    "id": "app.team.analytics_team_count.app_error",
    "translation": "Unable to count the teams."
  },
  {
    "id": "app.system_install_date.parse_int.app_error",
    "translation": "Failed to parse installation date."
  },
  {
    "id": "app.system.warn_metric.store.app_error",
    "translation": "Failed to store value for {{.WarnMetricName}}"
  },
  {
    "id": "app.system.warn_metric.bot_displayname",
    "translation": "Mattermost Advisor"
  },
  {
    "id": "app.system.save.app_error",
    "translation": "An error occurred while saving the system property."
  },
  {
    "id": "app.system.permanent_delete_by_name.app_error",
    "translation": "The system table entry could not be permanently deleted."
  },
  {
    "id": "app.system.get_by_name.app_error",
    "translation": "Unable to find the system variable."
  },
  {
    "id": "app.system.get.app_error",
    "translation": "An error occurred while retrieving the system properties."
  },
  {
    "id": "app.submit_interactive_dialog.json_error",
    "translation": "Encountered an error encoding JSON for the interactive dialog."
  },
  {
    "id": "app.status.get.missing.app_error",
    "translation": "No entry for that status exists."
  },
  {
    "id": "app.status.get.app_error",
    "translation": "Encountered an error retrieving the status."
  },
  {
    "id": "app.sharedchannel.dm_channel_creation.internal_error",
    "translation": "Encountered an error while creating a direct shared channel."
  },
  {
    "id": "app.session.update_device_id.app_error",
    "translation": "Unable to update the device id."
  },
  {
    "id": "app.session.save.existing.app_error",
    "translation": "Unable to update existing session."
  },
  {
    "id": "app.session.save.app_error",
    "translation": "Unable to save the session."
  },
  {
    "id": "app.session.remove_all_sessions_for_team.app_error",
    "translation": "Unable to remove all the sessions."
  },
  {
    "id": "app.session.remove.app_error",
    "translation": "Unable to remove the session."
  },
  {
    "id": "app.session.permanent_delete_sessions_by_user.app_error",
    "translation": "Unable to remove all the sessions for the user."
  },
  {
    "id": "app.session.get_sessions.app_error",
    "translation": "An error occurred while retrieving user sessions."
  },
  {
    "id": "app.session.get.app_error",
    "translation": "An error occurred while finding the session."
  },
  {
    "id": "app.session.analytics_session_count.app_error",
    "translation": "Unable to count the sessions."
  },
  {
    "id": "app.select_error",
    "translation": "select error"
  },
  {
    "id": "app.schemes.is_phase_2_migration_completed.not_completed.app_error",
    "translation": "This API endpoint is not accessible as required migrations have not yet completed."
  },
  {
    "id": "app.scheme.save.invalid_scheme.app_error",
    "translation": "The provided scheme is invalid."
  },
  {
    "id": "app.scheme.save.app_error",
    "translation": "Unable to create the scheme."
  },
  {
    "id": "app.scheme.permanent_delete_all.app_error",
    "translation": "All schemes could not be permanently deleted."
  },
  {
    "id": "app.scheme.get.app_error",
    "translation": "Unable to get the scheme."
  },
  {
    "id": "app.scheme.delete.app_error",
    "translation": "Unable to delete this scheme."
  },
  {
    "id": "app.save_config.app_error",
    "translation": "An error occurred saving the configuration."
  },
  {
    "id": "app.role.save.invalid_role.app_error",
    "translation": "The role was not valid."
  },
  {
    "id": "app.role.save.insert.app_error",
    "translation": "Unable to save new role."
  },
  {
    "id": "app.role.permanent_delete_all.app_error",
    "translation": "All roles could not be permanently deleted."
  },
  {
    "id": "app.role.get_by_names.app_error",
    "translation": "Unable to get roles."
  },
  {
    "id": "app.role.get_by_name.app_error",
    "translation": "Unable to get role."
  },
  {
    "id": "app.role.get.app_error",
    "translation": "Unable to get role."
  },
  {
    "id": "app.role.check_roles_exist.role_not_found",
    "translation": "The provided role does not exist"
  },
  {
    "id": "app.recover.save.app_error",
    "translation": "Unable to save the token."
  },
  {
    "id": "app.recover.delete.app_error",
    "translation": "Unable to delete token."
  },
  {
    "id": "app.reaction.save.save.app_error",
    "translation": "Unable to save reaction."
  },
  {
    "id": "app.reaction.get_for_post.app_error",
    "translation": "Unable to get reactions for post."
  },
  {
    "id": "app.reaction.delete_all_with_emoji_name.get_reactions.app_error",
    "translation": "Unable to get all reactions with this emoji name."
  },
  {
    "id": "app.reaction.bulk_get_for_post_ids.app_error",
    "translation": "Unable to get reactions for post."
  },
  {
    "id": "app.preference.save.updating.app_error",
    "translation": "An error occurred while updating preferences."
  },
  {
    "id": "app.preference.permanent_delete_by_user.app_error",
    "translation": "An error occurred while deleting preferences."
  },
  {
    "id": "app.preference.get_category.app_error",
    "translation": "An error occurred while finding preferences."
  },
  {
    "id": "app.preference.get_all.app_error",
    "translation": "An error occurred while finding preferences."
  },
  {
    "id": "app.preference.get.app_error",
    "translation": "An error occurred while finding preferences."
  },
  {
    "id": "app.preference.delete.app_error",
    "translation": "An error occurred while deleting preferences."
  },
  {
    "id": "app.post.update.app_error",
    "translation": "Unable to update the Post."
  },
  {
    "id": "app.post.search.app_error",
    "translation": "Error searching posts"
  },
  {
    "id": "app.post.save.existing.app_error",
    "translation": "You cannot update an existing Post."
  },
  {
    "id": "app.post.save.app_error",
    "translation": "Unable to save the Post."
  },
  {
    "id": "app.post.permanent_delete_by_user.app_error",
    "translation": "Unable to select the posts to delete for the user."
  },
  {
    "id": "app.post.permanent_delete_by_channel.app_error",
    "translation": "Unable to delete the posts by channel."
  },
  {
    "id": "app.post.overwrite.app_error",
    "translation": "Unable to overwrite the Post."
  },
  {
    "id": "app.post.get_root_posts.app_error",
    "translation": "Unable to get the posts for the channel."
  },
  {
    "id": "app.post.get_posts_since.app_error",
    "translation": "Unable to get the posts for the channel."
  },
  {
    "id": "app.post.get_posts_created_at.app_error",
    "translation": "Unable to get the posts for the channel."
  },
  {
    "id": "app.post.get_posts_batch_for_indexing.get.app_error",
    "translation": "Unable to get the posts batch for indexing."
  },
  {
    "id": "app.post.get_posts_around.get.app_error",
    "translation": "Unable to get the posts for the channel."
  },
  {
    "id": "app.post.get_posts.app_error",
    "translation": "Limit exceeded for paging."
  },
  {
    "id": "app.post.get_post_id_around.app_error",
    "translation": "Unable to get post around time bound."
  },
  {
    "id": "app.post.get_post_after_time.app_error",
    "translation": "Unable to get post after time bound."
  },
  {
    "id": "app.post.get_flagged_posts.app_error",
    "translation": "Unable to get the flagged posts."
  },
  {
    "id": "app.post.get_files_batch_for_indexing.get.app_error",
    "translation": "Unable to get the files batch for indexing."
  },
  {
    "id": "app.post.get_direct_posts.app_error",
    "translation": "Unable to get direct posts."
  },
  {
    "id": "app.post.get.app_error",
    "translation": "Unable to get the post."
  },
  {
    "id": "app.post.delete.app_error",
    "translation": "Unable to delete the post."
  },
  {
    "id": "app.post.analytics_user_counts_posts_by_day.app_error",
    "translation": "Unable to get user counts with posts."
  },
  {
    "id": "app.post.analytics_posts_count_by_day.app_error",
    "translation": "Unable to get post counts by day."
  },
  {
    "id": "app.post.analytics_posts_count.app_error",
    "translation": "Unable to get post counts."
  },
  {
    "id": "app.plugin_store.save.app_error",
    "translation": "Could not save or update plugin key value."
  },
  {
    "id": "app.plugin_store.list.app_error",
    "translation": "Unable to list all the plugin keys."
  },
  {
    "id": "app.plugin_store.get.app_error",
    "translation": "Could not get plugin key value."
  },
  {
    "id": "app.plugin_store.delete.app_error",
    "translation": "Could not delete plugin key value."
  },
  {
    "id": "app.plugin.write_file.saving.app_error",
    "translation": "An error occurred while saving the file."
  },
  {
    "id": "app.plugin.write_file.read.app_error",
    "translation": "An error occurred while reading the file."
  },
  {
    "id": "app.plugin.webapp_bundle.app_error",
    "translation": "Unable to generate plugin webapp bundle."
  },
  {
    "id": "app.plugin.upload_disabled.app_error",
    "translation": "Plugins and/or plugin uploads have been disabled."
  },
  {
    "id": "app.plugin.sync.read_local_folder.app_error",
    "translation": "Error reading local plugins folder."
  },
  {
    "id": "app.plugin.sync.list_filestore.app_error",
    "translation": "Error reading files from the plugins folder in the file store."
  },
  {
    "id": "app.plugin.store_signature.app_error",
    "translation": "Unable to store the plugin signature to the configured file store."
  },
  {
    "id": "app.plugin.store_bundle.app_error",
    "translation": "Unable to store the plugin to the configured file store."
  },
  {
    "id": "app.plugin.signature_decode.app_error",
    "translation": "Unable to decode base64 signature."
  },
  {
    "id": "app.plugin.restart.app_error",
    "translation": "Unable to restart plugin on upgrade."
  },
  {
    "id": "app.plugin.remove_bundle.app_error",
    "translation": "Unable to remove plugin bundle from file store."
  },
  {
    "id": "app.plugin.remove.app_error",
    "translation": "Unable to delete plugin."
  },
  {
    "id": "app.plugin.not_installed.app_error",
    "translation": "Plugin is not installed."
  },
  {
    "id": "app.plugin.mvdir.app_error",
    "translation": "Unable to move plugin from temporary directory to final destination. Another plugin may be using the same directory name."
  },
  {
    "id": "app.plugin.modify_saml.app_error",
    "translation": "Can't modify saml files."
  },
  {
    "id": "app.plugin.marshal.app_error",
    "translation": "Failed to marshal marketplace plugins."
  },
  {
    "id": "app.plugin.marketplace_plugins.signature_not_found.app_error",
    "translation": "Could not find the requested marketplace plugin signature."
  },
  {
    "id": "app.plugin.marketplace_plugins.not_found.app_error",
    "translation": "Could not find the requested marketplace plugin."
  },
  {
    "id": "app.plugin.marketplace_plugin_request.app_error",
    "translation": "Failed to decode the marketplace plugin request."
  },
  {
    "id": "app.plugin.marketplace_disabled.app_error",
    "translation": "Marketplace has been disabled. Please check your logs for details."
  },
  {
    "id": "model.reaction.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.reaction.is_valid.post_id.app_error",
    "translation": "Invalid post ID."
  },
  {
    "id": "model.reaction.is_valid.emoji_name.app_error",
    "translation": "Invalid emoji name."
  },
  {
    "id": "model.reaction.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.preference.is_valid.value.app_error",
    "translation": "Value is too long."
  },
  {
    "id": "model.preference.is_valid.theme.app_error",
    "translation": "Invalid theme."
  },
  {
    "id": "model.preference.is_valid.name.app_error",
    "translation": "Invalid name."
  },
  {
    "id": "model.preference.is_valid.id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.preference.is_valid.category.app_error",
    "translation": "Invalid category."
  },
  {
    "id": "model.post.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.post.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.post.is_valid.type.app_error",
    "translation": "Invalid type."
  },
  {
    "id": "model.post.is_valid.root_id.app_error",
    "translation": "Invalid root ID."
  },
  {
    "id": "model.post.is_valid.props.app_error",
    "translation": "Invalid props."
  },
  {
    "id": "model.post.is_valid.original_id.app_error",
    "translation": "Invalid original ID."
  },
  {
    "id": "model.post.is_valid.msg.app_error",
    "translation": "Invalid message."
  },
  {
    "id": "model.post.is_valid.id.app_error",
    "translation": "Invalid ID."
  },
  {
    "id": "model.post.is_valid.hashtags.app_error",
    "translation": "Invalid hashtags."
  },
  {
    "id": "model.post.is_valid.filenames.app_error",
    "translation": "Invalid filenames."
  },
  {
    "id": "model.post.is_valid.file_ids.app_error",
    "translation": "Invalid file IDs. Note that uploads are limited to 10 files maximum. Please use additional posts for more files."
  },
  {
    "id": "model.post.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.post.is_valid.channel_id.app_error",
    "translation": "Invalid channel ID."
  },
  {
    "id": "model.post.channel_notifications_disabled_in_channel.message",
    "translation": "Channel notifications are disabled in {{.ChannelName}}. The {{.Mention}} did not trigger any notifications."
  },
  {
    "id": "model.plugin_kvset_options.is_valid.old_value.app_error",
    "translation": "Invalid old value, it shouldn't be set when the operation is not atomic."
  },
  {
    "id": "model.plugin_key_value.is_valid.plugin_id.app_error",
    "translation": "Invalid plugin ID, must be more than {{.Min}} and a of maximum {{.Max}} characters long."
  },
  {
    "id": "model.plugin_key_value.is_valid.key.app_error",
    "translation": "Invalid key, must be more than {{.Min}} and a of maximum {{.Max}} characters long."
  },
  {
    "id": "model.plugin_command_error.error.app_error",
    "translation": "Plugin for /{{.Command}} is not working. Please contact your system administrator"
  },
  {
    "id": "model.plugin_command_crash.error.app_error",
    "translation": "/{{.Command}} command crashed the {{.PluginId}} plugin. Please contact your system administrator"
  },
  {
    "id": "app.plugin.marketplace_client.failed_to_fetch",
    "translation": "Failed to get plugins from the marketplace server."
  },
  {
    "id": "app.plugin.marketplace_client.app_error",
    "translation": "Failed to create marketplace client."
  },
  {
    "id": "app.plugin.manifest.app_error",
    "translation": "Unable to find manifest for extracted plugin."
  },
  {
    "id": "app.plugin.invalid_version.app_error",
    "translation": "Plugin version could not be parsed."
  },
  {
    "id": "app.plugin.invalid_id.app_error",
    "translation": "Plugin Id must be at least {{.Min}} characters, at most {{.Max}} characters and match {{.Regex}}."
  },
  {
    "id": "app.plugin.install_marketplace_plugin.app_error",
    "translation": "Failed to install marketplace plugin."
  },
  {
    "id": "app.plugin.install_id_failed_remove.app_error",
    "translation": "Unable to install plugin. A plugin with the same ID is already installed and failed to be removed."
  },
  {
    "id": "app.plugin.install_id.app_error",
    "translation": "Unable to install plugin. A plugin with the same ID is already installed."
  },
  {
    "id": "app.plugin.install.app_error",
    "translation": "Unable to install plugin."
  },
  {
    "id": "app.plugin.get_statuses.app_error",
    "translation": "Unable to get plugin statuses."
  },
  {
    "id": "app.plugin.get_public_key.get_file.app_error",
    "translation": "An error occurred while getting the public key from the store."
  },
  {
    "id": "app.plugin.get_plugins.app_error",
    "translation": "Unable to get active plugins."
  },
  {
    "id": "app.plugin.get_cluster_plugin_statuses.app_error",
    "translation": "Unable to get plugin statuses from the cluster."
  },
  {
    "id": "app.plugin.flag_managed.app_error",
    "translation": "Unable to set plugin as managed by the file store."
  },
  {
    "id": "app.plugin.filesystem.app_error",
    "translation": "Encountered filesystem error."
  },
  {
    "id": "app.plugin.extract.app_error",
    "translation": "An error occurred extracting the plugin bundle."
  },
  {
    "id": "app.plugin.disabled.app_error",
    "translation": "Plugins have been disabled. Please check your logs for details."
  },
  {
    "id": "app.plugin.delete_public_key.delete.app_error",
    "translation": "An error occurred while deleting the public key."
  },
  {
    "id": "app.plugin.deactivate.app_error",
    "translation": "Unable to deactivate plugin."
  },
  {
    "id": "app.plugin.config.app_error",
    "translation": "Error saving plugin state in config."
  },
  {
    "id": "app.plugin.cluster.save_config.app_error",
    "translation": "The plugin configuration in your config.json file must be updated manually when using ReadOnlyConfig with clustering enabled."
  },
  {
    "id": "app.oauth.update_app.updating.app_error",
    "translation": "An error occurred while updating the app."
  },
  {
    "id": "app.oauth.update_app.find.app_error",
    "translation": "Unable to find the existing app to update."
  },
  {
    "id": "app.oauth.save_app.save.app_error",
    "translation": "Unable to save the app."
  },
  {
    "id": "app.oauth.save_app.existing.app_error",
    "translation": "Must call update for existing app."
  },
  {
    "id": "app.oauth.remove_access_data.app_error",
    "translation": "Unable to remove the access token."
  },
  {
    "id": "app.oauth.permanent_delete_auth_data_by_user.app_error",
    "translation": "Unable to remove the authorisation code."
  },
  {
    "id": "app.oauth.get_apps.find.app_error",
    "translation": "An error occurred while finding the OAuth2 Apps."
  },
  {
    "id": "app.oauth.get_app_by_user.find.app_error",
    "translation": "Unable to find any existing apps."
  },
  {
    "id": "app.oauth.get_app.finding.app_error",
    "translation": "An error occurred while finding the app."
  },
  {
    "id": "app.oauth.get_app.find.app_error",
    "translation": "Unable to find the requested app."
  },
  {
    "id": "app.oauth.get_access_data_by_user_for_app.app_error",
    "translation": "An error occurred while finding all the access tokens."
  },
  {
    "id": "app.oauth.delete_app.app_error",
    "translation": "An error occurred while deleting the OAuth2 App."
  },
  {
    "id": "app.notification.subject.notification.full",
    "translation": "[{{ .SiteName }}] Notification in {{ .TeamName}} on {{.Day}} {{.Month}}, {{.Year}}"
  },
  {
    "id": "app.notification.subject.group_message.generic",
    "translation": "[{{ .SiteName }}] New Group Message on {{.Day}} {{.Month}}, {{.Year}}"
  },
  {
    "id": "app.notification.subject.group_message.full",
    "translation": "[{{ .SiteName }}] New Group Message in {{ .ChannelName}} on {{.Day}} {{.Month}}, {{.Year}}"
  },
  {
    "id": "app.notification.subject.direct.full",
    "translation": "[{{.SiteName}}] New Direct Message from {{.SenderDisplayName}} on {{.Day}} {{.Month}}, {{.Year}}"
  },
  {
    "id": "app.notification.footer.title",
    "translation": "Want to change your notifications settings?"
  },
  {
    "id": "app.notification.footer.infoLogin",
    "translation": "Log in to Mattermost"
  },
  {
    "id": "app.notification.footer.info",
    "translation": " and go to Settings > Notifications"
  },
  {
    "id": "app.notification.body.mention.title",
    "translation": "{{.SenderName}} mentioned you in a message"
  },
  {
    "id": "app.notification.body.mention.subTitle",
    "translation": "While you were away, {{.SenderName}} mentioned you in the {{.ChannelName}} channel."
  },
  {
    "id": "app.notification.body.group.title",
    "translation": "{{.SenderName}} sent you a new message"
  },
  {
    "id": "app.notification.body.group.subTitle",
    "translation": "While you were away, {{.SenderName}} sent a message to your group."
  },
  {
    "id": "app.notification.body.dm.title",
    "translation": "{{.SenderName}} sent you a new message"
  },
  {
    "id": "app.notification.body.dm.time",
    "translation": "{{.Hour}}:{{.Minute}} {{.TimeZone}}"
  },
  {
    "id": "app.notification.body.dm.subTitle",
    "translation": "While you were away, {{.SenderName}} sent you a new Direct Message."
  },
  {
    "id": "app.license.generate_renewal_token.no_license",
    "translation": "No licence present"
  },
  {
    "id": "app.license.generate_renewal_token.bad_license",
    "translation": "This type of licence doesn't support renewal token generation"
  },
  {
    "id": "app.license.generate_renewal_token.app_error",
    "translation": "Failed to generate a new renewal token."
  },
  {
    "id": "app.job.update.app_error",
    "translation": "Unable to update the job."
  },
  {
    "id": "app.job.save.app_error",
    "translation": "Unable to save the job."
  },
  {
    "id": "app.job.get_newest_job_by_status_and_type.app_error",
    "translation": "Unable to get the newest job by status and type."
  },
  {
    "id": "app.job.get_count_by_status_and_type.app_error",
    "translation": "Unable to get the job count by status and type."
  },
  {
    "id": "app.job.get_all.app_error",
    "translation": "Unable to get the jobs."
  },
  {
    "id": "app.job.get.app_error",
    "translation": "Unable to get the job."
  },
  {
    "id": "app.job.download_export_results_not_enabled",
    "translation": "DownloadExportResults in config.json is false. Please set this to true to download the results of this job."
  },
  {
    "id": "app.insert_error",
    "translation": "insert error"
  },
  {
    "id": "app.import.validate_user_teams_import_data.team_name_missing.error",
    "translation": "Team name missing from User's Team Membership."
  },
  {
    "id": "app.import.validate_user_teams_import_data.invalid_team_theme.error",
    "translation": "Invalid team theme for the User"
  },
  {
    "id": "app.import.validate_user_teams_import_data.invalid_roles.error",
    "translation": "Invalid roles for User's Team Membership."
  },
  {
    "id": "app.import.validate_user_import_data.username_missing.error",
    "translation": "Missing require user property: username."
  },
  {
    "id": "app.import.validate_user_import_data.username_invalid.error",
    "translation": "Username is not valid."
  },
  {
    "id": "app.import.validate_user_import_data.roles_invalid.error",
    "translation": "User roles are not valid."
  },
  {
    "id": "app.import.validate_user_import_data.profile_image.error",
    "translation": "Invalid profile image."
  },
  {
    "id": "app.import.validate_user_import_data.position_length.error",
    "translation": "User Position is too long."
  },
  {
    "id": "app.import.validate_user_import_data.password_length.error",
    "translation": "User Password has invalid length."
  },
  {
    "id": "app.import.validate_user_import_data.notify_props_mobile_push_status_invalid.error",
    "translation": "Invalid Mobile Push Status Notify Prop for user."
  },
  {
    "id": "app.import.validate_user_import_data.notify_props_mobile_invalid.error",
    "translation": "Invalid Mobile Notify Prop value for user."
  },
  {
    "id": "app.import.validate_user_import_data.notify_props_email_invalid.error",
    "translation": "Invalid Email Notify Prop value for user."
  },
  {
    "id": "app.import.validate_user_import_data.notify_props_desktop_sound_invalid.error",
    "translation": "Invalid Desktop Sound Notify Prop value for user."
  },
  {
    "id": "app.import.validate_user_import_data.notify_props_desktop_invalid.error",
    "translation": "Invalid Desktop Notify Prop value for user."
  },
  {
    "id": "app.import.validate_user_import_data.notify_props_comments_trigger_invalid.error",
    "translation": "Invalid Comments Prop value for user."
  },
  {
    "id": "app.import.validate_user_import_data.notify_props_channel_trigger_invalid.error",
    "translation": "Invalid Channel Trigger Notify Prop for user."
  },
  {
    "id": "app.import.validate_user_import_data.nickname_length.error",
    "translation": "User nickname is too long."
  },
  {
    "id": "app.import.validate_user_import_data.last_name_length.error",
    "translation": "User Last Name is too long."
  },
  {
    "id": "app.import.validate_user_import_data.first_name_length.error",
    "translation": "User First Name is too long."
  },
  {
    "id": "app.import.validate_user_import_data.email_missing.error",
    "translation": "Missing required user property: email."
  },
  {
    "id": "app.import.validate_user_import_data.email_length.error",
    "translation": "User email has an invalid length."
  },
  {
    "id": "app.import.validate_user_import_data.auth_data_length.error",
    "translation": "User AuthData is too long."
  },
  {
    "id": "app.import.validate_user_import_data.auth_data_and_service_dependency.error",
    "translation": "User AuthService and AuthData are mutually inclusive."
  },
  {
    "id": "app.import.validate_user_import_data.auth_data_and_password.error",
    "translation": "User AuthData and Password are mutually exclusive."
  },
  {
    "id": "app.import.validate_user_import_data.advanced_props_show_unread_section.error",
    "translation": "Invalid show unread section setting for User"
  },
  {
    "id": "app.import.validate_user_import_data.advanced_props_formatting.error",
    "translation": "Invalid post formatting setting for User"
  },
  {
    "id": "app.import.validate_user_import_data.advanced_props_feature_markdown_preview.error",
    "translation": "Invalid markdown preview setting for User"
  },
  {
    "id": "app.import.validate_user_import_data.advanced_props_email_interval.error",
    "translation": "Invalid email batching interval setting for User"
  },
  {
    "id": "app.import.validate_user_channels_import_data.invalid_roles.error",
    "translation": "Invalid roles for User's Channel Membership."
  },
  {
    "id": "app.import.validate_user_channels_import_data.invalid_notify_props_mobile.error",
    "translation": "Invalid Mobile NotifyProps for User's Channel Membership."
  },
  {
    "id": "app.import.validate_user_channels_import_data.invalid_notify_props_mark_unread.error",
    "translation": "Invalid MarkUnread NotifyProps for User's Channel Membership."
  },
  {
    "id": "app.import.validate_user_channels_import_data.invalid_notify_props_desktop.error",
    "translation": "Invalid Desktop NotifyProps for User's Channel Membership."
  },
  {
    "id": "app.import.validate_user_channels_import_data.channel_name_missing.error",
    "translation": "Channel name missing from User's Channel Membership."
  },
  {
    "id": "app.import.validate_team_import_data.type_missing.error",
    "translation": "Missing required team property: type."
  },
  {
    "id": "app.import.validate_team_import_data.type_invalid.error",
    "translation": "Team type is not valid."
  },
  {
    "id": "app.import.validate_team_import_data.scheme_invalid.error",
    "translation": "Invalid scheme name for team."
  },
  {
    "id": "app.import.validate_team_import_data.name_reserved.error",
    "translation": "Team name contains reserved words."
  },
  {
    "id": "app.import.validate_team_import_data.name_missing.error",
    "translation": "Missing required team property: name."
  },
  {
    "id": "app.import.validate_team_import_data.name_length.error",
    "translation": "Team name is too long."
  },
  {
    "id": "app.import.validate_team_import_data.name_characters.error",
    "translation": "Team name contains invalid characters."
  },
  {
    "id": "app.import.validate_team_import_data.display_name_missing.error",
    "translation": "Missing required team property: display_name."
  },
  {
    "id": "app.import.validate_team_import_data.display_name_length.error",
    "translation": "Team display_name is not within permitted length constraints."
  },
  {
    "id": "app.import.validate_team_import_data.description_length.error",
    "translation": "Team description is too long."
  },
  {
    "id": "app.import.validate_scheme_import_data.wrong_roles_for_scope.error",
    "translation": "The wrong roles were provided for a scheme with this scope."
  },
  {
    "id": "app.import.validate_scheme_import_data.unknown_scheme.error",
    "translation": "Unknown scheme scope."
  },
  {
    "id": "app.import.validate_scheme_import_data.null_scope.error",
    "translation": "Scheme scope is required."
  },
  {
    "id": "app.import.validate_scheme_import_data.name_invalid.error",
    "translation": "Invalid scheme name."
  },
  {
    "id": "app.import.validate_scheme_import_data.display_name_invalid.error",
    "translation": "Invalid scheme display name."
  },
  {
    "id": "app.import.validate_scheme_import_data.description_invalid.error",
    "translation": "Invalid scheme description."
  },
  {
    "id": "app.import.validate_role_import_data.name_invalid.error",
    "translation": "Invalid role name."
  },
  {
    "id": "app.import.validate_role_import_data.invalid_permission.error",
    "translation": "Invalid permission on role."
  },
  {
    "id": "app.import.validate_role_import_data.display_name_invalid.error",
    "translation": "Invalid role display name."
  },
  {
    "id": "app.import.validate_role_import_data.description_invalid.error",
    "translation": "Invalid role description."
  },
  {
    "id": "app.import.validate_reply_import_data.user_missing.error",
    "translation": "Missing required Reply property: User."
  },
  {
    "id": "app.import.validate_reply_import_data.message_missing.error",
    "translation": "Missing required Reply property: Message."
  },
  {
    "id": "app.import.validate_reply_import_data.message_length.error",
    "translation": "Reply Message property is longer than the maximum permitted length."
  },
  {
    "id": "app.import.validate_reply_import_data.create_at_zero.error",
    "translation": "Reply CreateAt property must not be zero."
  },
  {
    "id": "app.import.validate_reply_import_data.create_at_missing.error",
    "translation": "Missing required Reply property: create_at."
  },
  {
    "id": "app.import.validate_emoji_import_data.empty.error",
    "translation": "Import emoji data empty."
  },
  {
    "id": "app.import.validate_direct_post_import_data.user_missing.error",
    "translation": "Missing required direct post property: user"
  },
  {
    "id": "app.import.validate_direct_post_import_data.unknown_flagger.error",
    "translation": "Direct post can only be flagged by members of the channel it is in. '{{.Username}}' is not a member."
  },
  {
    "id": "app.import.validate_direct_post_import_data.message_missing.error",
    "translation": "Missing required direct post property: message"
  },
  {
    "id": "app.import.validate_direct_post_import_data.message_length.error",
    "translation": "Message is too long"
  },
  {
    "id": "app.import.validate_direct_post_import_data.create_at_zero.error",
    "translation": "CreateAt must be greater than 0"
  },
  {
    "id": "app.import.validate_direct_post_import_data.create_at_missing.error",
    "translation": "Missing required direct post property: create_at"
  },
  {
    "id": "app.import.validate_direct_post_import_data.channel_members_too_many.error",
    "translation": "Direct post channel members list contains too many items"
  },
  {
    "id": "app.import.validate_direct_post_import_data.channel_members_too_few.error",
    "translation": "Direct post channel members list contains too few items"
  },
  {
    "id": "app.import.validate_direct_post_import_data.channel_members_required.error",
    "translation": "Missing required direct post property: channel_members"
  },
  {
    "id": "app.import.validate_direct_channel_import_data.unknown_favoriter.error",
    "translation": "Direct channel can only be favourited by members. '{{.Username}}' is not a member."
  },
  {
    "id": "app.import.validate_direct_channel_import_data.members_too_many.error",
    "translation": "Direct channel members list contains too many items"
  },
  {
    "id": "app.import.validate_direct_channel_import_data.members_too_few.error",
    "translation": "Direct channel members list contains too few items"
  },
  {
    "id": "app.import.validate_direct_channel_import_data.members_required.error",
    "translation": "Missing required direct channel property: members"
  },
  {
    "id": "app.import.validate_direct_channel_import_data.header_length.error",
    "translation": "Direct channel header is too long"
  },
  {
    "id": "app.import.validate_channel_import_data.type_missing.error",
    "translation": "Missing required channel property: type."
  },
  {
    "id": "app.import.validate_channel_import_data.type_invalid.error",
    "translation": "Channel type is invalid."
  },
  {
    "id": "app.import.validate_channel_import_data.team_missing.error",
    "translation": "Missing required channel property: team"
  },
  {
    "id": "app.import.validate_channel_import_data.scheme_invalid.error",
    "translation": "Invalid scheme name for channel."
  },
  {
    "id": "app.import.validate_channel_import_data.purpose_length.error",
    "translation": "Channel purpose is too long."
  },
  {
    "id": "app.import.validate_channel_import_data.name_missing.error",
    "translation": "Missing required channel property: name"
  },
  {
    "id": "app.import.validate_channel_import_data.name_length.error",
    "translation": "Channel name is too long."
  },
  {
    "id": "app.import.validate_channel_import_data.name_characters.error",
    "translation": "Channel name contains invalid characters."
  },
  {
    "id": "app.import.validate_channel_import_data.header_length.error",
    "translation": "Channel header is too long."
  },
  {
    "id": "app.import.validate_channel_import_data.display_name_length.error",
    "translation": "Channel display_name is not within permitted length constraints."
  },
  {
    "id": "app.import.process_import_data_file_version_line.invalid_version.error",
    "translation": "Unable to read the version of the data import file."
  },
  {
    "id": "app.import.import_user_teams.save_preferences.error",
    "translation": "Unable to save the team theme preferences"
  },
  {
    "id": "app.import.import_user_teams.save_members.max_accounts.app_error",
    "translation": "Unable to import team membership because no more members are allowed in that team"
  },
  {
    "id": "app.import.import_user_teams.save_members.error",
    "translation": "Unable to import team memberships"
  },
  {
    "id": "app.import.import_user_teams.save_members.conflict.app_error",
    "translation": "Unable to import the new team membership because it already exists"
  },
  {
    "id": "app.import.import_user_channels.save_preferences.error",
    "translation": "Error importing user channel memberships. Failed to save preferences."
  },
  {
    "id": "app.import.import_user_channels.channel_not_found.error",
    "translation": "Error importing user channels. Channel not found."
  },
  {
    "id": "app.import.import_user.save_preferences.error",
    "translation": "Error importing user preferences. Failed to save preferences."
  },
  {
    "id": "app.import.import_team.scheme_wrong_scope.error",
    "translation": "Team must be assigned to a Team-scoped scheme."
  },
  {
    "id": "app.import.import_team.scheme_deleted.error",
    "translation": "Unable to set a team to use a deleted scheme."
  },
  {
    "id": "app.import.import_scheme.scope_change.error",
    "translation": "The bulk importer cannot change the scope of an already-existing scheme."
  },
  {
    "id": "app.import.import_post.user_not_found.error",
    "translation": "Error importing post. User with username '{{.Username}}' could not be found."
  },
  {
    "id": "app.import.import_post.save_preferences.error",
    "translation": "Error importing post. Failed to save preferences."
  },
  {
    "id": "app.import.import_post.channel_not_found.error",
    "translation": "Error importing post. Channel with name '{{.ChannelName}}' could not be found."
  },
  {
    "id": "app.import.import_line.unknown_line_type.error",
    "translation": "Import data line has unknown type '{{.Type}}'."
  },
  {
    "id": "app.import.import_line.null_user.error",
    "translation": "Import data line has type 'user' but the user object is null."
  },
  {
    "id": "app.import.import_line.null_team.error",
    "translation": "Import data line has type 'team' but the team object is null."
  },
  {
    "id": "app.import.import_line.null_scheme.error",
    "translation": "Import data line has type 'scheme' but the scheme object is null."
  },
  {
    "id": "app.import.import_line.null_post.error",
    "translation": "Import data line has type 'post' but the post object is null."
  },
  {
    "id": "app.import.import_line.null_emoji.error",
    "translation": "Import data line has type 'emoji' but the emoji object is null."
  },
  {
    "id": "app.import.import_line.null_direct_post.error",
    "translation": "Import data line has type 'direct_post' but the direct_post object is null."
  },
  {
    "id": "app.import.import_line.null_direct_channel.error",
    "translation": "Import data line has type 'direct_channel' but the direct_channel object is null."
  },
  {
    "id": "app.import.import_line.null_channel.error",
    "translation": "Import data line has type 'channel' but the channel object is null."
  },
  {
    "id": "app.import.import_direct_post.create_group_channel.error",
    "translation": "Failed to get group channel"
  },
  {
    "id": "app.import.import_direct_post.create_direct_channel.error",
    "translation": "Failed to get direct channel"
  },
  {
    "id": "app.import.import_direct_channel.update_header_failed.error",
    "translation": "Failed to update direct channel header"
  },
  {
    "id": "app.import.import_direct_channel.create_group_channel.error",
    "translation": "Failed to create group channel"
  },
  {
    "id": "app.import.import_direct_channel.create_direct_channel.error",
    "translation": "Failed to create direct channel"
  },
  {
    "id": "app.import.import_channel.team_not_found.error",
    "translation": "Error importing channel. Team with name '{{.TeamName}}' could not be found."
  },
  {
    "id": "app.import.import_channel.scheme_wrong_scope.error",
    "translation": "Channel must be assigned to a Channel-scoped scheme."
  },
  {
    "id": "app.import.import_channel.scheme_deleted.error",
    "translation": "Unable to set a channel to use a deleted scheme."
  },
  {
    "id": "app.import.get_users_by_username.some_users_not_found.error",
    "translation": "Some users not found"
  },
  {
    "id": "app.import.get_teams_by_names.some_teams_not_found.error",
    "translation": "Some teams not found"
  },
  {
    "id": "app.import.generate_password.app_error",
    "translation": "Error generating password."
  },
  {
    "id": "app.import.emoji.bad_file.error",
    "translation": "Error reading import emoji image file. Emoji with name: '{{.EmojiName}}'"
  },
  {
    "id": "app.import.bulk_import.unsupported_version.error",
    "translation": "Incorrect or missing version in the data import file. Make sure version is the first object in your import file and try again."
  },
  {
    "id": "app.import.bulk_import.json_decode.error",
    "translation": "JSON decode of line failed."
  },
  {
    "id": "app.import.bulk_import.file_scan.error",
    "translation": "Error reading import data file."
  },
  {
    "id": "app.import.attachment.read_file_data.error",
    "translation": "Failed to read file attachment during import."
  },
  {
    "id": "app.import.attachment.file_upload.error",
    "translation": "Error uploading the file: '{{.FilePath}}'"
  },
  {
    "id": "app.import.attachment.bad_file.error",
    "translation": "Error reading the file at: '{{.FilePath}}'"
  },
  {
    "id": "app.group.uniqueness_error",
    "translation": "group member already exists"
  },
  {
    "id": "app.group.permanent_delete_members_by_user.app_error",
    "translation": "Unable to remove the group member with UserID '{{.UserId}}'."
  },
  {
    "id": "app.group.no_rows",
    "translation": "no matching group found"
  },
  {
    "id": "app.group.id.app_error",
    "translation": "invalid id property for group."
  },
  {
    "id": "app.group.group_syncable_already_deleted",
    "translation": "group syncable was already deleted"
  },
  {
    "id": "app.file_info.save.app_error",
    "translation": "Unable to save the file info."
  },
  {
    "id": "app.file_info.permanent_delete_by_user.app_error",
    "translation": "Unable to delete attachments of the user."
  },
  {
    "id": "app.file_info.get_with_options.app_error",
    "translation": "Unable to get the file info with options"
  },
  {
    "id": "app.file_info.get_for_post.app_error",
    "translation": "Unable to get the file info for the post."
  },
  {
    "id": "app.file_info.get.app_error",
    "translation": "Unable to get the file info."
  },
  {
    "id": "app.export.zip_create.error",
    "translation": "Failed to add file to zip archive during export."
  },
  {
    "id": "app.export.marshal.app_error",
    "translation": "Unable to marshal response."
  },
  {
    "id": "app.export.export_write_line.json_marshall.error",
    "translation": "An error occurred marshalling the JSON data for export."
  },
  {
    "id": "app.export.export_write_line.io_writer.error",
    "translation": "An error occurred writing the export data."
  },
  {
    "id": "app.export.export_custom_emoji.copy_emoji_images.error",
    "translation": "Unable to copy custom emoji images"
  },
  {
    "id": "app.export.export_attachment.zip_create_header.error",
    "translation": "Failed to create zip header during export."
  },
  {
    "id": "app.export.export_attachment.mkdirall.error",
    "translation": "Failed to create directory during export."
  },
  {
    "id": "app.export.export_attachment.create_file.error",
    "translation": "Failed to create file during export."
  },
  {
    "id": "app.export.export_attachment.copy_file.error",
    "translation": "Failed to copy file during export."
  },
  {
    "id": "app.emoji.get_list.internal_error",
    "translation": "Unable to get the emoji."
  },
  {
    "id": "app.emoji.get_by_name.no_result",
    "translation": "The emoji could not be found."
  },
  {
    "id": "app.emoji.get_by_name.app_error",
    "translation": "Unable to get the emoji."
  },
  {
    "id": "app.emoji.get.no_result",
    "translation": "The emoji could not be found."
  },
  {
    "id": "app.emoji.get.app_error",
    "translation": "Unable to get the emoji."
  },
  {
    "id": "app.emoji.delete.no_results",
    "translation": "The emoji for deletion could not be found."
  },
  {
    "id": "app.emoji.delete.app_error",
    "translation": "Unable to delete the emoji."
  },
  {
    "id": "app.emoji.create.internal_error",
    "translation": "Unable to save emoji."
  },
  {
    "id": "app.email.setup_rate_limiter.app_error",
    "translation": "Error occurred in the rate limiter."
  },
  {
    "id": "app.email.rate_limit_exceeded.app_error",
    "translation": "Invite emails rate limit exceeded. Timer will be reset after {{.ResetAfter}} seconds. Please retry after {{.RetryAfter}} seconds."
  },
  {
    "id": "app.email.no_rate_limiter.app_error",
    "translation": "Rate limiter is not set up."
  },
  {
    "id": "app.create_basic_user.save_member.max_accounts.app_error",
    "translation": "Unable to create default team membership because no more members are allowed in that team"
  },
  {
    "id": "app.create_basic_user.save_member.conflict.app_error",
    "translation": "Unable to create default team membership because they already exists"
  },
  {
    "id": "model.channel.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.channel.is_valid.type.app_error",
    "translation": "Invalid type."
  },
  {
    "id": "model.channel.is_valid.purpose.app_error",
    "translation": "Invalid purpose."
  },
  {
    "id": "model.channel.is_valid.name.app_error",
    "translation": "Channel names can't be in a hexadecimal format. Please enter a different channel name."
  },
  {
    "id": "model.channel.is_valid.id.app_error",
    "translation": "Invalid Id."
  },
  {
    "id": "model.channel.is_valid.header.app_error",
    "translation": "Invalid header."
  },
  {
    "id": "model.channel.is_valid.display_name.app_error",
    "translation": "Invalid display name."
  },
  {
    "id": "model.channel.is_valid.creator_id.app_error",
    "translation": "Invalid creator id."
  },
  {
    "id": "model.channel.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.bot.is_valid.username.app_error",
    "translation": "Invalid username."
  },
  {
    "id": "model.bot.is_valid.user_id.app_error",
    "translation": "Invalid user id."
  },
  {
    "id": "model.bot.is_valid.update_at.app_error",
    "translation": "Invalid update at."
  },
  {
    "id": "model.bot.is_valid.description.app_error",
    "translation": "Invalid description."
  },
  {
    "id": "model.bot.is_valid.creator_id.app_error",
    "translation": "Invalid creator id."
  },
  {
    "id": "model.bot.is_valid.create_at.app_error",
    "translation": "Invalid create at."
  },
  {
    "id": "model.authorize.is_valid.user_id.app_error",
    "translation": "Invalid user id."
  },
  {
    "id": "model.authorize.is_valid.state.app_error",
    "translation": "Invalid state."
  },
  {
    "id": "model.authorize.is_valid.scope.app_error",
    "translation": "Invalid scope."
  },
  {
    "id": "model.authorize.is_valid.response_type.app_error",
    "translation": "Invalid response type."
  },
  {
    "id": "model.authorize.is_valid.redirect_uri.app_error",
    "translation": "Invalid redirect uri."
  },
  {
    "id": "model.authorize.is_valid.expires.app_error",
    "translation": "Expires in must be set."
  },
  {
    "id": "model.authorize.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.authorize.is_valid.client_id.app_error",
    "translation": "Invalid client ID."
  },
  {
    "id": "model.authorize.is_valid.auth_code.app_error",
    "translation": "Invalid authorisation code."
  },
  {
    "id": "model.access.is_valid.user_id.app_error",
    "translation": "Invalid user id."
  },
  {
    "id": "model.access.is_valid.refresh_token.app_error",
    "translation": "Invalid refresh token."
  },
  {
    "id": "model.access.is_valid.redirect_uri.app_error",
    "translation": "Invalid redirect uri."
  },
  {
    "id": "model.access.is_valid.client_id.app_error",
    "translation": "Invalid client id."
  },
  {
    "id": "model.access.is_valid.access_token.app_error",
    "translation": "Invalid access token."
  },
  {
    "id": "migrations.worker.run_migration.unknown_key",
    "translation": "Unable to run migration job due to unknown migration key."
  },
  {
    "id": "migrations.worker.run_advanced_permissions_phase_2_migration.invalid_progress",
    "translation": "Migration failed due to invalid progress data."
  },
  {
    "id": "migrations.system.save.app_error",
    "translation": "An error occurred while saving the system property."
  },
  {
    "id": "mfa.validate_token.authenticate.app_error",
    "translation": "Invalid MFA token."
  },
  {
    "id": "mfa.mfa_disabled.app_error",
    "translation": "Multi-factor authentication has been disabled on this server."
  },
  {
    "id": "mfa.generate_qr_code.create_code.app_error",
    "translation": "Error generating QR code."
  },
  {
    "id": "mfa.deactivate.app_error",
    "translation": "Unable to update MFA active status for the user."
  },
  {
    "id": "mfa.activate.bad_token.app_error",
    "translation": "Invalid MFA token."
  },
  {
    "id": "mfa.activate.app_error",
    "translation": "Unable to update MFA active status for the user."
  },
  {
    "id": "mattermost.bulletin.subject",
    "translation": "Mattermost Security Bulletin"
  },
  {
    "id": "manaultesting.test_autolink.unable.app_error",
    "translation": "Unable to get channels."
  },
  {
    "id": "manaultesting.manual_test.parse.app_error",
    "translation": "Unable to parse URL."
  },
  {
    "id": "jobs.set_job_error.update.error",
    "translation": "Failed to set job status to error"
  },
  {
    "id": "jobs.request_cancellation.status.error",
    "translation": "Could not request cancellation for job that is not in a cancellable state."
  },
  {
    "id": "interactive_message.generate_trigger_id.signing_failed",
    "translation": "Failed to sign generated trigger ID for interactive dialog."
  },
  {
    "id": "interactive_message.decode_trigger_id.verify_signature_failed",
    "translation": "Signature verification failed of trigger ID for interactive dialog."
  },
  {
    "id": "interactive_message.decode_trigger_id.signature_decode_failed",
    "translation": "Failed to decode base64 signature of trigger ID for interactive dialog."
  },
  {
    "id": "interactive_message.decode_trigger_id.missing_data",
    "translation": "Trigger ID missing required data for interactive dialog."
  },
  {
    "id": "interactive_message.decode_trigger_id.expired",
    "translation": "Trigger ID for interactive dialog is expired. Trigger IDs live for a maximum of {{.Seconds}} seconds."
  },
  {
    "id": "interactive_message.decode_trigger_id.base64_decode_failed_signature",
    "translation": "Failed to decode base64 signature of trigger ID for interactive dialog."
  },
  {
    "id": "interactive_message.decode_trigger_id.base64_decode_failed",
    "translation": "Failed to decode base64 for trigger ID for interactive dialog."
  },
  {
    "id": "import_process.worker.do_job.open_file",
    "translation": "Unable to process import: failed to open file."
  },
  {
    "id": "import_process.worker.do_job.missing_jsonl",
    "translation": "Unable to process import: JSONL file is missing."
  },
  {
    "id": "import_process.worker.do_job.missing_file",
    "translation": "Unable to process import: import_file parameter is missing."
  },
  {
    "id": "import_process.worker.do_job.file_exists",
    "translation": "Unable to process import: file does not exists."
  },
  {
    "id": "groups.unsupported_syncable_type",
    "translation": "Unsupported syncable type '{{.Value}}'."
  },
  {
    "id": "group_not_associated_to_synced_team",
    "translation": "Group cannot be associated to the channel until it is first associated to the parent group-synced team."
  },
  {
    "id": "error",
    "translation": "Error"
  },
  {
    "id": "ent.user.complete_switch_with_oauth.blank_email.app_error",
    "translation": "Unable to complete SAML login with an empty email address."
  },
  {
    "id": "ent.saml.service_disable.app_error",
    "translation": "SAML 2.0 is not configured or supported on this server."
  },
  {
    "id": "ent.saml.save_user.username_exists.saml_app_error",
    "translation": "An account with that username already exists. Please contact your Administrator."
  },
  {
    "id": "ent.saml.save_user.email_exists.saml_app_error",
    "translation": "This account does not use SAML authentication. Please sign in using email and password."
  },
  {
    "id": "ent.saml.metadata.app_error",
    "translation": "An error occurred while building Service Provider Metadata."
  },
  {
    "id": "ent.saml.license_disable.app_error",
    "translation": "Your licence does not support SAML authentication."
  },
  {
    "id": "ent.saml.do_login.validate.app_error",
    "translation": "An error occurred while validating the response from the Identity Provider. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.do_login.parse.app_error",
    "translation": "An error occurred while parsing the response from the Identity Provider. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.do_login.invalid_time.app_error",
    "translation": "An invalid time in the response from the Identity Provider was received. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.do_login.invalid_signature.app_error",
    "translation": "An invalid signature in the response from the Identity Provider was received. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.do_login.empty_response.app_error",
    "translation": "An empty response from the Identity Provider was received."
  },
  {
    "id": "ent.saml.do_login.decrypt.app_error",
    "translation": "SAML login was unsuccessful because an error occurred while decrypting the response from the Identity Provider. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.configure.not_encrypted_response.app_error",
    "translation": "SAML login was unsuccessful as the Identity Provider response is not encrypted. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.configure.load_private_key.app_error",
    "translation": "SAML login was unsuccessful because the Service Provider Private Key was not found. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.configure.load_idp_cert.app_error",
    "translation": "Identity Provider Public Certificate File was not found. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.configure.encryption_not_enabled.app_error",
    "translation": "SAML login was unsuccessful because encryption is not enabled. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.build_request.encoding.app_error",
    "translation": "An error occurred while encoding the request for the Identity Provider. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.build_request.app_error",
    "translation": "An error occurred while initiating the request to the Identity Provider. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.attribute.app_error",
    "translation": "SAML login was unsuccessful because one of the attributes is incorrect. Please contact your System Administrator."
  },
  {
    "id": "ent.migration.migratetosaml.username_already_used_by_other_user",
    "translation": "Username already used by another Mattermost user."
  },
  {
    "id": "ent.migration.migratetosaml.user_not_found_in_users_mapping_file",
    "translation": "User not found in the users file."
  },
  {
    "id": "ent.migration.migratetosaml.email_already_used_by_other_user",
    "translation": "Email already used by another SAML user."
  },
  {
    "id": "ent.migration.migratetoldap.user_not_found",
    "translation": "Unable to find user on AD/LDAP server: "
  },
  {
    "id": "ent.migration.migratetoldap.duplicate_field",
    "translation": "Unable to migrate AD/LDAP users with specified field. Duplicate entry detected. Please remove all duplicates and try again."
  },
  {
    "id": "ent.message_export.run_export.app_error",
    "translation": "Failed to select message export data."
  },
  {
    "id": "ent.message_export.global_relay_export.get_attachment_error",
    "translation": "Failed to get file info for a post."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.unable_to_open_zip_file_data.app_error",
    "translation": "Unable to open the export temporary file."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.unable_to_open_email_file.app_error",
    "translation": "Unable to get the an email from the temporary file."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.unable_to_get_file_info.app_error",
    "translation": "Unable to get the information of the export temporary file."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.unable_to_connect_smtp_server.app_error",
    "translation": "Unable to connect to the smtp server"
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.to_address.app_error",
    "translation": "Unable to set the email To address."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.parse_mail.app_error",
    "translation": "Unable to read the email information."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.msg_data.app_error",
    "translation": "Unable to write the email message."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.msg.app_error",
    "translation": "Unable to set the email message."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.from_address.app_error",
    "translation": "Unable to set the email From address."
  },
  {
    "id": "ent.message_export.global_relay_export.deliver.close.app_error",
    "translation": "Unable to deliver the email to Global Relay."
  },
  {
    "id": "ent.message_export.global_relay.generate_email.app_error",
    "translation": "Unable to generate eml file data."
  },
  {
    "id": "ent.message_export.global_relay.create_file_in_zip.app_error",
    "translation": "Unable to create the eml file."
  },
  {
    "id": "ent.message_export.global_relay.close_zip_file.app_error",
    "translation": "Unable to close the zip file."
  },
  {
    "id": "ent.message_export.global_relay.attach_file.app_error",
    "translation": "Unable to add attachment to the Global Relay export."
  },
  {
    "id": "ent.message_export.csv_export.get_attachment_error",
    "translation": "Failed to get file info for a post."
  },
  {
    "id": "ent.message_export.actiance_export.get_attachment_error",
    "translation": "Failed to get file info for a post."
  },
  {
    "id": "ent.ldap_id_migrate.app_error",
    "translation": "unable to migrate."
  },
  {
    "id": "ent.ldap_groups.reachable_groups_error",
    "translation": "error retrieving groups for user"
  },
  {
    "id": "ent.ldap_groups.no_rows",
    "translation": "no groups found with matching uid"
  },
  {
    "id": "ent.ldap_groups.members_of_group_error",
    "translation": "error retrieving members of group"
  },
  {
    "id": "ent.ldap_groups.groups_search_error",
    "translation": "error retrieving ldap groups"
  },
  {
    "id": "ent.ldap_groups.group_search_error",
    "translation": "error retrieving ldap group"
  },
  {
    "id": "ent.ldap.validate_guest_filter.app_error",
    "translation": "Invalid AD/LDAP Guest Filter."
  },
  {
    "id": "ent.ldap.validate_filter.app_error",
    "translation": "Invalid AD/LDAP Filter."
  },
  {
    "id": "ent.ldap.validate_admin_filter.app_error",
    "translation": "Invalid AD/LDAP Admin Filter."
  },
  {
    "id": "ent.ldap.syncronize.search_failure_size_exceeded.app_error",
    "translation": "Size Limit Exceeded. Try checking your [max page size](https://docs.mattermost.com/deployment/sso-ldap.html#i-see-the-log-error-ldap-result-code-4-size-limit-exceeded)."
  },
  {
    "id": "ent.ldap.syncronize.search_failure.app_error",
    "translation": "Failed to search users in AD/LDAP. Test if the Mattermost server can connect to your AD/LDAP server and try again."
  },
  {
    "id": "ent.ldap.syncronize.populate_syncables",
    "translation": "error populating syncables"
  },
  {
    "id": "ent.ldap.syncronize.get_all_groups.app_error",
    "translation": "error retrieving groups."
  },
  {
    "id": "ent.ldap.syncronize.get_all.app_error",
    "translation": "Unable to get all users using AD/LDAP."
  },
  {
    "id": "ent.ldap.syncronize.delete_group_constained_memberships",
    "translation": "error deleting team or channel memberships"
  },
  {
    "id": "ent.ldap.save_user.username_exists.ldap_app_error",
    "translation": "An account with that username already exists. Please contact your Administrator."
  },
  {
    "id": "ent.ldap.save_user.email_exists.ldap_app_error",
    "translation": "This account does not use AD/LDAP authentication. Please sign in using email and password."
  },
  {
    "id": "ent.ldap.no.users.checkcertificate",
    "translation": "No LDAP users found, check your user filter and certificates."
  },
  {
    "id": "ent.ldap.do_login.x509.app_error",
    "translation": "Error creating key pair"
  },
  {
    "id": "ent.ldap.do_login.user_not_registered.app_error",
    "translation": "User not registered on AD/LDAP server."
  },
  {
    "id": "ent.ldap.do_login.user_filtered.app_error",
    "translation": "Your AD/LDAP account does not have permission to use this Mattermost server. Please ask your System Administrator to check the AD/LDAP user filter."
  },
  {
    "id": "ent.ldap.do_login.unable_to_connect.app_error",
    "translation": "Unable to connect to AD/LDAP server."
  },
  {
    "id": "ent.ldap.do_login.search_ldap_server.app_error",
    "translation": "Failed to search AD/LDAP server."
  },
  {
    "id": "ent.ldap.do_login.matched_to_many_users.app_error",
    "translation": "Username given matches multiple users."
  },
  {
    "id": "ent.ldap.do_login.licence_disable.app_error",
    "translation": "AD/LDAP functionality disabled by current licence. Please contact your system administrator about upgrading your enterprise licence."
  },
  {
    "id": "ent.ldap.do_login.key.app_error",
    "translation": "Error loading LDAP TLS Key file."
  },
  {
    "id": "ent.ldap.do_login.invalid_password.app_error",
    "translation": "Invalid Password."
  },
  {
    "id": "ent.ldap.do_login.certificate.app_error",
    "translation": "Error loading LDAP TLS Certificate file."
  },
  {
    "id": "ent.ldap.do_login.bind_admin_user.app_error",
    "translation": "Unable to bind to AD/LDAP server. Check BindUsername and BindPassword."
  },
  {
    "id": "ent.ldap.disabled.app_error",
    "translation": "AD/LDAP disabled or licence does not support AD/LDAP."
  },
  {
    "id": "ent.ldap.create_fail",
    "translation": "Unable to create LDAP user."
  },
  {
    "id": "ent.ldap.app_error",
    "translation": "ldap interface was nil."
  },
  {
    "id": "ent.jobs.start_synchronize_job.timeout",
    "translation": "Reached AD/LDAP synchronisation job timeout."
  },
  {
    "id": "ent.id_loaded.license_disable.app_error",
    "translation": "Your licence does not support ID Loaded Push Notifications."
  },
  {
    "id": "ent.get_users_in_channel_during",
    "translation": "Failed to get users in channel during specified time period."
  },
  {
    "id": "ent.elasticsearch.test_config.reenter_password",
    "translation": "The Elasticsearch Server URL or Username has changed. Please re-enter the Elasticsearch password to test connection."
  },
  {
    "id": "ent.elasticsearch.test_config.license.error",
    "translation": "Your licence does not support Elasticsearch."
  },
  {
    "id": "ent.elasticsearch.test_config.indexing_disabled.error",
    "translation": "Elasticsearch is disabled."
  },
  {
    "id": "ent.elasticsearch.stop.already_stopped.app_error",
    "translation": "Elasticsearch is already stopped."
  },
  {
    "id": "ent.elasticsearch.start.start_bulk_processor_failed.app_error",
    "translation": "Failed to start Elasticsearch bulk processor."
  },
  {
    "id": "ent.elasticsearch.start.parse_server_version.app_error",
    "translation": "Failed to parse Elasticsearch server version."
  },
  {
    "id": "ent.elasticsearch.start.get_server_version.app_error",
    "translation": "Failed to get Elasticsearch server version."
  },
  {
    "id": "ent.elasticsearch.start.create_bulk_processor_failed.app_error",
    "translation": "Failed to create Elasticsearch bulk processor."
  },
  {
    "id": "ent.elasticsearch.start.already_started.app_error",
    "translation": "Elasticsearch is already started."
  },
  {
    "id": "ent.elasticsearch.search_users.unmarshall_user_failed",
    "translation": "Failed to decode search results"
  },
  {
    "id": "ent.elasticsearch.search_users.search_failed",
    "translation": "Search failed to complete"
  },
  {
    "id": "ent.elasticsearch.search_posts.unmarshall_post_failed",
    "translation": "Failed to decode search results"
  },
  {
    "id": "ent.elasticsearch.search_posts.search_failed",
    "translation": "Search failed to complete"
  },
  {
    "id": "ent.elasticsearch.search_posts.parse_matches_failed",
    "translation": "Failed to parse search result matches"
  },
  {
    "id": "ent.elasticsearch.search_posts.disabled",
    "translation": "Elasticsearch searching is disabled on this server"
  },
  {
    "id": "ent.elasticsearch.search_files.unmarshall_file_failed",
    "translation": "Failed to decode search results"
  },
  {
    "id": "ent.elasticsearch.search_files.search_failed",
    "translation": "Search failed to complete"
  },
  {
    "id": "ent.elasticsearch.search_files.disabled",
    "translation": "Elasticsearch files searching is disabled on this server"
  },
  {
    "id": "ent.elasticsearch.search_channels.unmarshall_channel_failed",
    "translation": "Failed to decode search results"
  },
  {
    "id": "ent.elasticsearch.search_channels.search_failed",
    "translation": "Search failed to complete"
  },
  {
    "id": "ent.elasticsearch.search_channels.disabled",
    "translation": "Elasticsearch searching is disabled on this server"
  },
  {
    "id": "ent.elasticsearch.refresh_indexes.refresh_failed",
    "translation": "Failed to refresh Elasticsearch indexes"
  },
  {
    "id": "ent.elasticsearch.purge_indexes.delete_failed",
    "translation": "Failed to delete Elasticsearch index"
  },
  {
    "id": "ent.elasticsearch.post.get_posts_batch_for_indexing.error",
    "translation": "Unable to get the posts batch for indexing."
  },
  {
    "id": "ent.elasticsearch.post.get_files_batch_for_indexing.error",
    "translation": "Unable to get the files batch for indexing."
  },
  {
    "id": "ent.elasticsearch.not_started.error",
    "translation": "Elasticsearch is not started"
  },
  {
    "id": "ent.elasticsearch.indexer.index_batch.nothing_left_to_index.error",
    "translation": "Trying to index a new batch when all the entities are completed"
  },
  {
    "id": "ent.elasticsearch.indexer.do_job.parse_start_time.error",
    "translation": "Elasticsearch indexing worker failed to parse the start time"
  },
  {
    "id": "ent.elasticsearch.indexer.do_job.parse_end_time.error",
    "translation": "Elasticsearch indexing worker failed to parse the end time"
  },
  {
    "id": "ent.elasticsearch.indexer.do_job.get_oldest_entity.error",
    "translation": "The oldest entity (user, channel or post), could not be retrieved from the database"
  },
  {
    "id": "ent.elasticsearch.index_user.error",
    "translation": "Failed to index the user"
  },
  {
    "id": "ent.elasticsearch.index_post.error",
    "translation": "Failed to index the post"
  },
  {
    "id": "ent.elasticsearch.index_file.error",
    "translation": "Failed to index the file"
  },
  {
    "id": "ent.elasticsearch.index_channels_batch.error",
    "translation": "Unable to get the channels batch for indexing."
  },
  {
    "id": "ent.elasticsearch.index_channel.error",
    "translation": "Failed to index the channel"
  },
  {
    "id": "ent.elasticsearch.generic.disabled",
    "translation": "Elasticsearch search is not enabled on this server"
  },
  {
    "id": "ent.elasticsearch.delete_user_posts.error",
    "translation": "Failed to delete user posts"
  },
  {
    "id": "ent.elasticsearch.delete_user_files.error",
    "translation": "Failed to delete user files"
  },
  {
    "id": "ent.elasticsearch.delete_user.error",
    "translation": "Failed to delete the user"
  },
  {
    "id": "ent.elasticsearch.delete_post_files.error",
    "translation": "Failed to delete post files"
  },
  {
    "id": "ent.elasticsearch.delete_post.error",
    "translation": "Failed to delete the post"
  },
  {
    "id": "ent.elasticsearch.delete_file.error",
    "translation": "Failed to delete file"
  },
  {
    "id": "ent.elasticsearch.delete_channel_posts.error",
    "translation": "Failed to delete channel posts"
  },
  {
    "id": "ent.elasticsearch.delete_channel.error",
    "translation": "Failed to delete the channel"
  },
  {
    "id": "ent.elasticsearch.data_retention_delete_indexes.get_indexes.error",
    "translation": "Failed to get Elasticsearch indexes"
  },
  {
    "id": "ent.elasticsearch.data_retention_delete_indexes.delete_index.error",
    "translation": "Failed to delete Elasticsearch index"
  },
  {
    "id": "ent.elasticsearch.create_template_users_if_not_exists.template_create_failed",
    "translation": "Failed to create Elasticsearch template for users"
  },
  {
    "id": "ent.elasticsearch.create_template_posts_if_not_exists.template_create_failed",
    "translation": "Failed to create Elasticsearch template for posts"
  },
  {
    "id": "ent.elasticsearch.create_template_file_info_if_not_exists.template_create_failed",
    "translation": "Failed to create Elasticsearch template for files"
  },
  {
    "id": "ent.elasticsearch.create_template_channels_if_not_exists.template_create_failed",
    "translation": "Failed to create Elasticsearch template for channels"
  },
  {
    "id": "ent.elasticsearch.create_client.connect_failed",
    "translation": "Setting up Elasticsearch Client Failed"
  },
  {
    "id": "ent.elasticsearch.aggregator_worker.index_job_failed.error",
    "translation": "Elasticsearch aggregator worker failed due to the indexing job failing"
  },
  {
    "id": "ent.elasticsearch.aggregator_worker.get_indexes.error",
    "translation": "Elasticsearch aggregator worker failed to get indexes"
  },
  {
    "id": "ent.elasticsearch.aggregator_worker.delete_indexes.error",
    "translation": "Elasticsearch aggregator worker failed to delete the indexes"
  },
  {
    "id": "ent.elasticsearch.aggregator_worker.create_index_job.error",
    "translation": "Elasticsearch aggregator worker failed to create the indexing job"
  },
  {
    "id": "ent.data_retention.policies.invalid_policy",
    "translation": "Invalid policy."
  },
  {
    "id": "ent.data_retention.policies.internal_error",
    "translation": "An error occurred while performing the requested operation."
  },
  {
    "id": "ent.data_retention.generic.license.error",
    "translation": "Your licence does not support Data Retention."
  },
  {
    "id": "ent.compliance.run_failed.error",
    "translation": "Compliance export failed for job '{{.JobName}}' at '{{.FilePath}}'"
  },
  {
    "id": "ent.compliance.run_export.template_watcher.appError",
    "translation": "Unable to load export templates. Please try again."
  },
  {
    "id": "ent.compliance.licence_disable.app_error",
    "translation": "Compliance functionality disabled by current licence. Please contact your system administrator about upgrading your enterprise licence."
  },
  {
    "id": "ent.compliance.global_relay.write_file.appError",
    "translation": "Unable to write the global relay file."
  },
  {
    "id": "ent.compliance.global_relay.rewind_temporary_file.appError",
    "translation": "Unable to re-read the Global Relay temporary export file."
  },
  {
    "id": "ent.compliance.global_relay.open_temporary_file.appError",
    "translation": "Unable to open the temporary export file."
  },
  {
    "id": "ent.compliance.global_relay.attachments_removed.appError",
    "translation": "Uploaded file was removed from Global Relay export because it was too large to send."
  },
  {
    "id": "ent.compliance.csv.zip.creation.appError",
    "translation": "Unable to create the zip export file."
  },
  {
    "id": "ent.compliance.csv.write_file.appError",
    "translation": "Unable to write the .csv file."
  },
  {
    "id": "ent.compliance.csv.warning.appError",
    "translation": "Unable to create the warning file."
  },
  {
    "id": "ent.compliance.csv.post.export.appError",
    "translation": "Unable to export a post."
  },
  {
    "id": "ent.compliance.csv.metadata.json.zipfile.appError",
    "translation": "Unable to create the zip file"
  },
  {
    "id": "ent.compliance.csv.metadata.json.marshalling.appError",
    "translation": "Unable to convert metadata to json."
  },
  {
    "id": "ent.cluster.config_changed.info",
    "translation": "Cluster configuration has changed for id={{ .id }}. The cluster may become unstable and a restart is required. To ensure the cluster is configured correctly you should perform a rolling restart immediately."
  },
  {
    "id": "ent.cluster.404.app_error",
    "translation": "Cluster API endpoint not found."
  },
  {
    "id": "ent.api.post.send_notifications_and_forget.push_image_only",
    "translation": " attached a file."
  },
  {
    "id": "ent.actiance.export.write_file.appError",
    "translation": "Unable to write the export file."
  },
  {
    "id": "ent.actiance.export.marshalToXml.appError",
    "translation": "Unable to convert export to XML."
  },
  {
    "id": "ent.account_migration.get_saml_users_failed",
    "translation": "Unable to get SAML users."
  },
  {
    "id": "ent.account_migration.get_all_failed",
    "translation": "Unable to get users."
  },
  {
    "id": "brand.save_brand_image.save_image.app_error",
    "translation": "Unable to write the image file to your file storage. Please check your connection and try again."
  },
  {
    "id": "brand.save_brand_image.open.app_error",
    "translation": "Unable to upload the custom brand image. Make sure the image size is less than 2 MB and try again."
  },
  {
    "id": "brand.save_brand_image.encode.app_error",
    "translation": "Unable to convert the image data to PNG format. Please try again."
  },
  {
    "id": "brand.save_brand_image.decode.app_error",
    "translation": "Unable to decode the image data."
  },
  {
    "id": "bleveengine.stop_user_index.error",
    "translation": "Failed to close user index."
  },
  {
    "id": "bleveengine.stop_post_index.error",
    "translation": "Failed to close post index."
  },
  {
    "id": "bleveengine.stop_file_index.error",
    "translation": "Failed to close file index."
  },
  {
    "id": "bleveengine.stop_channel_index.error",
    "translation": "Failed to close channel index."
  },
  {
    "id": "bleveengine.search_users_in_team.error",
    "translation": "User search failed to complete."
  },
  {
    "id": "bleveengine.search_users_in_channel.uchan.error",
    "translation": "User search failed to complete."
  },
  {
    "id": "bleveengine.search_users_in_channel.nuchan.error",
    "translation": "User search failed to complete."
  },
  {
    "id": "bleveengine.search_posts.error",
    "translation": "Post search failed to complete."
  },
  {
    "id": "bleveengine.search_files.error",
    "translation": "File search failed to complete."
  },
  {
    "id": "bleveengine.search_channels.error",
    "translation": "Channel search failed to complete."
  },
  {
    "id": "bleveengine.purge_user_index.error",
    "translation": "Failed to purge user indexes."
  },
  {
    "id": "bleveengine.purge_post_index.error",
    "translation": "Failed to purge post indexes."
  },
  {
    "id": "bleveengine.purge_file_index.error",
    "translation": "Failed to purge file indexes."
  },
  {
    "id": "bleveengine.purge_channel_index.error",
    "translation": "Failed to purge channel indexes."
  },
  {
    "id": "bleveengine.indexer.index_batch.nothing_left_to_index.error",
    "translation": "Trying to index a new batch when all the entities are completed."
  },
  {
    "id": "bleveengine.indexer.do_job.parse_start_time.error",
    "translation": "Bleve indexing worker failed to parse the start time."
  },
  {
    "id": "bleveengine.indexer.do_job.parse_end_time.error",
    "translation": "Bleve indexing worker failed to parse the end time."
  },
  {
    "id": "bleveengine.indexer.do_job.get_oldest_entity.error",
    "translation": "The oldest entity (user, channel or post) could not be retrieved from the database."
  },
  {
    "id": "bleveengine.indexer.do_job.engine_inactive",
    "translation": "Failed to run Bleve index job: engine is inactive."
  },
  {
    "id": "bleveengine.indexer.do_job.bulk_index_users.batch_error",
    "translation": "Failed to index user batch."
  },
  {
    "id": "bleveengine.indexer.do_job.bulk_index_posts.batch_error",
    "translation": "Failed to index post batch."
  },
  {
    "id": "bleveengine.indexer.do_job.bulk_index_files.batch_error",
    "translation": "Failed to index file batch."
  },
  {
    "id": "bleveengine.indexer.do_job.bulk_index_channels.batch_error",
    "translation": "Failed to index channel batch."
  },
  {
    "id": "bleveengine.index_user.error",
    "translation": "Failed to index the user."
  },
  {
    "id": "bleveengine.index_post.error",
    "translation": "Failed to index the post."
  },
  {
    "id": "bleveengine.index_file.error",
    "translation": "Failed to index the file."
  },
  {
    "id": "bleveengine.index_channel.error",
    "translation": "Failed to index the channel."
  },
  {
    "id": "bleveengine.delete_user_posts.error",
    "translation": "Failed to delete user posts"
  },
  {
    "id": "bleveengine.delete_user_files.error",
    "translation": "Failed to delete the user files."
  },
  {
    "id": "bleveengine.delete_user.error",
    "translation": "Failed to delete the user."
  },
  {
    "id": "bleveengine.delete_post_files.error",
    "translation": "Failed to delete the post files."
  },
  {
    "id": "bleveengine.delete_post.error",
    "translation": "Failed to delete the post."
  },
  {
    "id": "bleveengine.delete_files_batch.error",
    "translation": "Failed to delete the files."
  },
  {
    "id": "bleveengine.delete_file.error",
    "translation": "Failed to delete the file."
  },
  {
    "id": "bleveengine.delete_channel_posts.error",
    "translation": "Failed to delete channel posts"
  },
  {
    "id": "bleveengine.delete_channel.error",
    "translation": "Failed to delete the channel."
  },
  {
    "id": "bleveengine.create_user_index.error",
    "translation": "Error creating the bleve user index."
  },
  {
    "id": "bleveengine.create_post_index.error",
    "translation": "Error creating the bleve post index."
  },
  {
    "id": "bleveengine.create_file_index.error",
    "translation": "Error creating the bleve file index."
  },
  {
    "id": "bleveengine.create_channel_index.error",
    "translation": "Error creating the bleve channel index."
  },
  {
    "id": "bleveengine.already_started.error",
    "translation": "Bleve is already started."
  },
  {
    "id": "app.webhooks.update_outgoing.app_error",
    "translation": "Unable to update the webhook."
  },
  {
    "id": "app.webhooks.update_incoming.app_error",
    "translation": "Unable to update the IncomingWebhook."
  },
  {
    "id": "app.webhooks.save_outgoing.override.app_error",
    "translation": "You cannot overwrite an existing OutgoingWebhook."
  },
  {
    "id": "app.webhooks.save_outgoing.app_error",
    "translation": "Unable to save the OutgoingWebhook."
  },
  {
    "id": "app.webhooks.save_incoming.existing.app_error",
    "translation": "You cannot overwrite an existing IncomingWebhook."
  },
  {
    "id": "app.webhooks.save_incoming.app_error",
    "translation": "Unable to save the IncomingWebhook."
  },
  {
    "id": "app.webhooks.permanent_delete_outgoing_by_user.app_error",
    "translation": "Unable to delete the webhook."
  },
  {
    "id": "app.webhooks.permanent_delete_outgoing_by_channel.app_error",
    "translation": "Unable to delete the webhook."
  },
  {
    "id": "app.webhooks.permanent_delete_incoming_by_user.app_error",
    "translation": "Unable to delete the webhook."
  },
  {
    "id": "app.webhooks.permanent_delete_incoming_by_channel.app_error",
    "translation": "Unable to delete the webhook."
  },
  {
    "id": "app.webhooks.get_outgoing_by_team.app_error",
    "translation": "Unable to get the webhooks."
  },
  {
    "id": "app.webhooks.get_outgoing_by_channel.app_error",
    "translation": "Unable to get the webhooks."
  },
  {
    "id": "app.webhooks.get_outgoing.app_error",
    "translation": "Unable to get the webhook."
  },
  {
    "id": "app.webhooks.get_incoming_by_user.app_error",
    "translation": "Unable to get the webhook."
  },
  {
    "id": "app.webhooks.get_incoming_by_channel.app_error",
    "translation": "Unable to get the webhooks."
  },
  {
    "id": "app.webhooks.get_incoming.app_error",
    "translation": "Unable to get the webhook."
  },
  {
    "id": "app.webhooks.delete_outgoing.app_error",
    "translation": "Unable to delete the webhook."
  },
  {
    "id": "app.webhooks.delete_incoming.app_error",
    "translation": "Unable to delete the webhook."
  },
  {
    "id": "app.webhooks.analytics_outgoing_count.app_error",
    "translation": "Unable to count the outgoing webhooks."
  },
  {
    "id": "app.webhooks.analytics_incoming_count.app_error",
    "translation": "Unable to count the incoming webhooks."
  },
  {
    "id": "app.valid_password_generic.app_error",
    "translation": "Password is not valid"
  },
  {
    "id": "app.user_terms_of_service.save.app_error",
    "translation": "Unable to save terms of service."
  },
  {
    "id": "app.user_terms_of_service.get_by_user.no_rows.app_error",
    "translation": "No terms of service found."
  },
  {
    "id": "app.user_terms_of_service.get_by_user.app_error",
    "translation": "Unable to fetch terms of service."
  },
  {
    "id": "app.user_terms_of_service.delete.app_error",
    "translation": "Unable to delete terms of service."
  },
  {
    "id": "app.user_access_token.update_token_enable.app_error",
    "translation": "Unable to enable the access token."
  },
  {
    "id": "app.user_access_token.update_token_disable.app_error",
    "translation": "Unable to disable the access token."
  },
  {
    "id": "app.user_access_token.search.app_error",
    "translation": "An error occurred while searching user access tokens."
  },
  {
    "id": "app.user_access_token.save.app_error",
    "translation": "Unable to save the personal access token."
  },
  {
    "id": "app.user_access_token.invalid_or_missing",
    "translation": "Invalid or missing token."
  },
  {
    "id": "app.user_access_token.get_by_user.app_error",
    "translation": "Unable to get the personal access tokens by user."
  },
  {
    "id": "app.user_access_token.get_all.app_error",
    "translation": "Unable to get all personal access tokens."
  },
  {
    "id": "app.user_access_token.disabled",
    "translation": "Personal access tokens are disabled on this server. Please contact your system administrator for details."
  },
  {
    "id": "app.user_access_token.delete.app_error",
    "translation": "Unable to delete the personal access token."
  },
  {
    "id": "app.user.verify_email.app_error",
    "translation": "Unable to update verify email field."
  },
  {
    "id": "app.user.update_update.app_error",
    "translation": "Unable to update the date of the last update of the user."
  },
  {
    "id": "app.user.update_threads_read_for_user.app_error",
    "translation": "Unable to update all user threads as read"
  },
  {
    "id": "app.user.update_thread_read_for_user.app_error",
    "translation": "Unable to update read state for thread"
  },
  {
    "id": "app.user.update_thread_follow_for_user.app_error",
    "translation": "Unable to update following state for thread"
  },
  {
    "id": "app.user.update_failed_pwd_attempts.app_error",
    "translation": "Unable to update the failed_attempts."
  },
  {
    "id": "app.user.update_auth_data.email_exists.app_error",
    "translation": "Unable to switch account to {{.Service}}. An account using the email {{.Email}} already exists."
  },
  {
    "id": "app.user.update_auth_data.app_error",
    "translation": "Unable to update the auth data."
  },
  {
    "id": "app.user.update_active_for_multiple_users.updating.app_error",
    "translation": "Unable to deactivate guests."
  },
  {
    "id": "app.user.update.finding.app_error",
    "translation": "An error occurred while finding the account."
  },
  {
    "id": "app.user.update.find.app_error",
    "translation": "Unable to find the existing account to update."
  },
  {
    "id": "app.user.send_emails.app_error",
    "translation": "No emails were successfully sent"
  },
  {
    "id": "app.user.send_auto_response.app_error",
    "translation": "Unable to send auto response from user."
  },
  {
    "id": "app.user.search.app_error",
    "translation": "Unable to find any user matching the search parameters."
  },
  {
    "id": "app.user.save.username_exists.app_error",
    "translation": "An account with that username already exists."
  },
  {
    "id": "app.user.save.existing.app_error",
    "translation": "Must call update for existing user."
  },
  {
    "id": "app.user.save.email_exists.app_error",
    "translation": "An account with that email already exists."
  },
  {
    "id": "app.user.save.app_error",
    "translation": "Unable to save the account."
  },
  {
    "id": "app.user.promote_guest.user_update.app_error",
    "translation": "Failed to update the user."
  },
  {
    "id": "app.user.permanentdeleteuser.internal_error",
    "translation": "Unable to delete user."
  },
  {
    "id": "app.user.permanent_delete.app_error",
    "translation": "Unable to delete the existing account."
  },
  {
    "id": "app.user.missing_account.const",
    "translation": "Unable to find the user."
  },
  {
    "id": "app.user.get_users_batch_for_indexing.get_users.app_error",
    "translation": "Unable to get the users batch for indexing."
  },
  {
    "id": "app.user.get_unread_count.app_error",
    "translation": "Could not get the unread message count for the user."
  },
  {
    "id": "app.user.get_total_users_count.app_error",
    "translation": "Could not count the users."
  },
  {
    "id": "app.user.get_threads_for_user.not_found",
    "translation": "User thread doesn't exist or is not followed"
  },
  {
    "id": "app.user.get_threads_for_user.app_error",
    "translation": "Unable to get user threads"
  },
  {
    "id": "app.user.get_recently_active_users.app_error",
    "translation": "An error occurred while finding the recently active users."
  },
  {
    "id": "app.user.get_profiles.app_error",
    "translation": "An error occurred while finding user profiles."
  },
  {
    "id": "app.user.get_profile_by_group_channel_ids_for_user.app_error",
    "translation": "An error occurred while finding user profiles."
  },
  {
    "id": "app.user.get_new_users.app_error",
    "translation": "An error occurred while finding the new users."
  },
  {
    "id": "app.user.get_known_users.get_users.app_error",
    "translation": "Unable to get known users from the database."
  },
  {
    "id": "app.user.get_by_username.app_error",
    "translation": "Unable to find an existing account matching your username for this team. This team may require an invite from the team owner to join."
  },
  {
    "id": "app.user.get_by_auth.other.app_error",
    "translation": "An error occurred while trying to find the account by authentication type."
  },
  {
    "id": "app.user.get_by_auth.missing_account.app_error",
    "translation": "Unable to find an existing account matching your authentication type for this team. This team may require an invite from the team owner to join."
  },
  {
    "id": "app.user.get.app_error",
    "translation": "An error occurred while finding the account."
  },
  {
    "id": "app.user.demote_user_to_guest.user_update.app_error",
    "translation": "Failed to update the user."
  },
  {
    "id": "app.user.convert_bot_to_user.app_error",
    "translation": "Unable to convert bot to user."
  },
  {
    "id": "app.user.clear_all_custom_role_assignments.select.app_error",
    "translation": "Failed to retrieve the users."
  },
  {
    "id": "app.user.analytics_get_inactive_users_count.app_error",
    "translation": "An error occurred while counting the inactive users."
  },
  {
    "id": "app.user.analytics_daily_active_users.app_error",
    "translation": "Unable to get the active users during the requested period."
  },
  {
    "id": "app.upload.upload_data.update.app_error",
    "translation": "Failed to update the upload session."
  },
  {
    "id": "app.upload.upload_data.save.app_error",
    "translation": "Failed to save file info."
  },
  {
    "id": "app.upload.upload_data.read_file.app_error",
    "translation": "Failed to read a file."
  },
  {
    "id": "app.upload.upload_data.move_file.app_error",
    "translation": "Failed to move uploaded file."
  },
  {
    "id": "app.upload.upload_data.large_image.app_error",
    "translation": "{{.Filename}} dimensions ({{.Width}} by {{.Height}} pixels) exceed the limits."
  },
  {
    "id": "app.upload.upload_data.first_part_too_small.app_error",
    "translation": "Failed to upload data. First part must be at least {{.Size}} Bytes."
  },
  {
    "id": "app.upload.upload_data.concurrent.app_error",
    "translation": "Unable to upload data from more than one request."
  },
  {
    "id": "app.upload.run_plugins_hook.rejected",
    "translation": "Unable to upload file {{.Filename}}. Rejected by plugin: {{.Reason}}"
  },
  {
    "id": "app.upload.run_plugins_hook.move_fail",
    "translation": "Failed to move file."
  },
  {
    "id": "app.upload.get_for_user.app_error",
    "translation": "Failed to get uploads for user."
  },
  {
    "id": "app.upload.get.app_error",
    "translation": "Failed to get upload."
  },
  {
    "id": "app.upload.create.save.app_error",
    "translation": "Failed to save upload."
  },
  {
    "id": "app.upload.create.incorrect_channel_id.app_error",
    "translation": "Cannot upload to the specified channel."
  },
  {
    "id": "app.upload.create.cannot_upload_to_deleted_channel.app_error",
    "translation": "Cannot upload to a deleted channel."
  },
  {
    "id": "app.update_error",
    "translation": "update error"
  },
  {
    "id": "app.terms_of_service.get.no_rows.app_error",
    "translation": "No terms of service found."
  },
  {
    "id": "app.terms_of_service.get.app_error",
    "translation": "Unable to fetch terms of service."
  },
  {
    "id": "app.terms_of_service.create.existing.app_error",
    "translation": "Must not call save for existing terms of service."
  },
  {
    "id": "app.terms_of_service.create.app_error",
    "translation": "Unable to save terms of service."
  },
  {
    "id": "app.team.user_belongs_to_teams.app_error",
    "translation": "Unable to determine if the user belongs to a list of teams."
  },
  {
    "id": "app.team.update.updating.app_error",
    "translation": "An error occurred while updating the team."
  },
  {
    "id": "app.team.update.find.app_error",
    "translation": "Unable to find the existing team to update."
  },
  {
    "id": "app.team.search_private_team.app_error",
    "translation": "An error occurred while searching private teams."
  },
  {
    "id": "app.team.search_open_team.app_error",
    "translation": "An error occurred while searching open teams."
  },
  {
    "id": "app.team.search_all_team.app_error",
    "translation": "An error occurred while searching teams."
  },
  {
    "id": "app.team.save_member.save.app_error",
    "translation": "Unable to save the team member."
  },
  {
    "id": "app.team.save.existing.app_error",
    "translation": "Must call update for existing team."
  },
  {
    "id": "app.team.save.app_error",
    "translation": "Unable to save the team."
  },
  {
    "id": "app.team.reset_all_team_schemes.app_error",
    "translation": "An error occurred while resetting the team schemes."
  },
  {
    "id": "app.team.rename_team.name_occupied",
    "translation": "Unable to rename the team, the name is already in use."
  },
  {
    "id": "app.team.remove_member.app_error",
    "translation": "Unable to remove the team member."
  },
  {
    "id": "app.team.permanentdeleteteam.internal_error",
    "translation": "Unable to delete team."
  },
  {
    "id": "app.team.permanent_delete.app_error",
    "translation": "Unable to delete the existing team."
  },
  {
    "id": "app.team.migrate_team_members.update.app_error",
    "translation": "Failed to update the team member."
  },
  {
    "id": "app.team.join_user_to_team.save_member.max_accounts.app_error",
    "translation": "Unable to create the new team membership because the team has reached the limit of members"
  },
  {
    "id": "app.team.join_user_to_team.save_member.conflict.app_error",
    "translation": "Unable to create the new team membership because it already exists"
  },
  {
    "id": "app.team.join_user_to_team.save_member.app_error",
    "translation": "Unable to create the new team membership"
  },
  {
    "id": "app.team.join_user_to_team.max_accounts.app_error",
    "translation": "This team has reached the maximum number of allowed accounts. Contact your System Administrator to set a higher limit."
  },
  {
    "id": "app.team.invite_token.group_constrained.error",
    "translation": "Unable to join a group-constrained team by token."
  },
  {
    "id": "app.team.invite_id.group_constrained.error",
    "translation": "Unable to join a group-constrained team by invite."
  },
  {
    "id": "app.team.get_user_team_ids.app_error",
    "translation": "Unable to get the list of teams of a user."
  },
  {
    "id": "app.team.get_unread.app_error",
    "translation": "Unable to get the teams unread messages."
  },
  {
    "id": "app.team.get_members_by_ids.app_error",
    "translation": "Unable to get the team members."
  },
  {
    "id": "app.team.get_members.app_error",
    "translation": "Unable to get the team members."
  },
  {
    "id": "app.team.get_member_count.app_error",
    "translation": "Unable to count the team members."
  },
  {
    "id": "app.team.get_member.missing.app_error",
    "translation": "No team member found for that user ID and team ID."
  },
  {
    "id": "app.team.get_member.app_error",
    "translation": "Unable to get the team member."
  },
  {
    "id": "app.team.get_common_team_ids_for_users.app_error",
    "translation": "Unable to get the common team IDs."
  },
  {
    "id": "app.team.get_by_scheme.app_error",
    "translation": "Unable to get the channels for the provided scheme."
  },
  {
    "id": "app.team.get_by_name.missing.app_error",
    "translation": "Unable to find the existing team."
  },
  {
    "id": "app.team.get_by_name.app_error",
    "translation": "Unable to find the existing team."
  },
  {
    "id": "app.team.get_by_invite_id.finding.app_error",
    "translation": "Unable to find the existing team."
  },
  {
    "id": "app.team.get_all_team_listing.app_error",
    "translation": "Could not get all teams."
  },
  {
    "id": "app.team.get_all_private_team_listing.app_error",
    "translation": "Could not get all private teams."
  },
  {
    "id": "app.team.get_all.app_error",
    "translation": "Could not get all teams."
  },
  {
    "id": "app.team.get_active_member_count.app_error",
    "translation": "Unable to count the team members."
  },
  {
    "id": "app.team.get.finding.app_error",
    "translation": "An error occurred while finding the team."
  },
  {
    "id": "app.create_basic_user.save_member.app_error",
    "translation": "Unable to create default team memberships"
  },
  {
    "id": "app.compliance.save.saving.app_error",
    "translation": "An error occurred while saving the compliance report."
  },
  {
    "id": "app.compliance.get.finding.app_error",
    "translation": "An error occurred while retrieving the compliance reports."
  },
  {
    "id": "app.command_webhook.try_use.invalid",
    "translation": "Invalid webhook."
  },
  {
    "id": "app.command_webhook.try_use.internal_error",
    "translation": "Unable to use the webhook."
  },
  {
    "id": "app.command_webhook.handle_command_webhook.parse",
    "translation": "Unable to parse incoming data."
  },
  {
    "id": "app.command_webhook.get.missing",
    "translation": "Unable to find the webhook."
  },
  {
    "id": "app.command_webhook.get.internal_error",
    "translation": "Unable to get the webhook."
  },
  {
    "id": "app.command_webhook.create_command_webhook.internal_error",
    "translation": "Unable to save the CommandWebhook."
  },
  {
    "id": "app.command_webhook.create_command_webhook.existing",
    "translation": "You cannot update an existing CommandWebhook."
  },
  {
    "id": "app.command.updatecommand.internal_error",
    "translation": "Unable to update the command."
  },
  {
    "id": "app.command.tryexecutecustomcommand.internal_error",
    "translation": "Unable to execute the custom command."
  },
  {
    "id": "app.command.regencommandtoken.internal_error",
    "translation": "Unable to regenerate the command token."
  },
  {
    "id": "app.command.movecommand.internal_error",
    "translation": "Unable to move the command."
  },
  {
    "id": "app.command.listteamcommands.internal_error",
    "translation": "Unable to list the team commands."
  },
  {
    "id": "app.command.listautocompletecommands.internal_error",
    "translation": "Unable to list the autocomplete commands."
  },
  {
    "id": "app.command.listallcommands.internal_error",
    "translation": "Unable to list the commands."
  },
  {
    "id": "app.command.getcommand.internal_error",
    "translation": "Unable to get the command."
  },
  {
    "id": "app.command.deletecommand.internal_error",
    "translation": "Unable to delete the command."
  },
  {
    "id": "app.command.createcommand.internal_error",
    "translation": "Unable to save the command."
  },
  {
    "id": "app.channel_member_history.log_leave_event.internal_error",
    "translation": "Failed to record channel member history. Failed to update existing join record"
  },
  {
    "id": "app.channel_member_history.log_join_event.internal_error",
    "translation": "Failed to record channel member history."
  },
  {
    "id": "app.channel.user_belongs_to_channels.app_error",
    "translation": "Unable to determine if the user belongs to a list of channels."
  },
  {
    "id": "app.channel.update_last_viewed_at_post.app_error",
    "translation": "Unable to mark channel as unread."
  },
  {
    "id": "app.channel.update_last_viewed_at.app_error",
    "translation": "Unable to update the last viewed at time."
  },
  {
    "id": "app.channel.update_channel.internal_error",
    "translation": "Unable to update channel."
  },
  {
    "id": "app.channel.update.bad_id",
    "translation": "Unable to update the channel."
  },
  {
    "id": "app.channel.sidebar_categories.app_error",
    "translation": "Failed to insert record to database."
  },
  {
    "id": "app.channel.search_group_channels.app_error",
    "translation": "Unable to get the group channels for the given user and term."
  },
  {
    "id": "app.channel.search.app_error",
    "translation": "An error occurred while searching channels."
  },
  {
    "id": "app.channel.save_member.exists.app_error",
    "translation": "A channel member with that ID already exists."
  },
  {
    "id": "app.channel.restore.app_error",
    "translation": "Unable to restore the channel."
  },
  {
    "id": "app.channel.reset_all_channel_schemes.app_error",
    "translation": "An error occurred while resetting the channel schemes."
  },
  {
    "id": "app.channel.remove_member.app_error",
    "translation": "Unable to remove the channel member."
  },
  {
    "id": "app.channel.remove_all_deactivated_members.app_error",
    "translation": "The deactivated users could not be removed from the channel."
  },
  {
    "id": "app.channel.post_update_channel_purpose_message.updated_to",
    "translation": "%s updated the channel purpose to: %s"
  },
  {
    "id": "app.channel.post_update_channel_purpose_message.updated_from",
    "translation": "%s updated the channel purpose from: %s to: %s"
  },
  {
    "id": "app.channel.post_update_channel_purpose_message.retrieve_user.error",
    "translation": "Failed to retrieve user while updating channel purpose message %v"
  },
  {
    "id": "app.channel.post_update_channel_purpose_message.removed",
    "translation": "%s removed the channel purpose (was: %s)"
  },
  {
    "id": "app.channel.post_update_channel_purpose_message.post.error",
    "translation": "Failed to post channel purpose message"
  },
  {
    "id": "app.channel.pinned_posts.app_error",
    "translation": "Unable to find the pinned posts."
  },
  {
    "id": "app.channel.permanent_delete_members_by_user.app_error",
    "translation": "Unable to remove the channel member."
  },
  {
    "id": "app.channel.permanent_delete.app_error",
    "translation": "Unable to delete the channel."
  },
  {
    "id": "app.channel.move_channel.members_do_not_match.error",
    "translation": "Unable to move a channel unless all its members are already members of the destination team."
  },
  {
    "id": "app.channel.migrate_channel_members.select.app_error",
    "translation": "Failed to select the batch of channel members."
  },
  {
    "id": "app.channel.get_unread.app_error",
    "translation": "Unable to get the channel unread messages."
  },
  {
    "id": "app.channel.get_public_channels.get.app_error",
    "translation": "Unable to get public channels."
  },
  {
    "id": "app.channel.get_private_channels.get.app_error",
    "translation": "Unable to get private channels."
  },
  {
    "id": "app.channel.get_pinnedpost_count.app_error",
    "translation": "Unable to get the channel pinned post count."
  },
  {
    "id": "app.channel.get_more_channels.get.app_error",
    "translation": "Unable to get the channels."
  },
  {
    "id": "app.channel.get_members_by_ids.app_error",
    "translation": "Unable to get the channel members."
  },
  {
    "id": "app.channel.get_members.app_error",
    "translation": "Unable to get the channel members."
  },
  {
    "id": "app.channel.get_member_count.app_error",
    "translation": "Unable to get the channel member count."
  },
  {
    "id": "app.channel.get_member.missing.app_error",
    "translation": "No channel member found for that user ID and channel ID."
  },
  {
    "id": "app.channel.get_member.app_error",
    "translation": "Unable to get the channel member."
  },
  {
    "id": "app.channel.get_for_post.app_error",
    "translation": "Unable to get the channel for the given post."
  },
  {
    "id": "app.channel.get_deleted.missing.app_error",
    "translation": "No deleted channels exist."
  },
  {
    "id": "app.channel.get_deleted.existing.app_error",
    "translation": "Unable to find the existing deleted channel."
  },
  {
    "id": "app.channel.get_channels_by_ids.not_found.app_error",
    "translation": "No channel found."
  },
  {
    "id": "app.channel.get_channels_by_ids.get.app_error",
    "translation": "Unable to get the channels."
  },
  {
    "id": "app.channel.get_channels_by_ids.app_error",
    "translation": "Unable to get channels by ids."
  },
  {
    "id": "app.channel.get_channels_batch_for_indexing.get.app_error",
    "translation": "Unable to get the channels batch for indexing."
  },
  {
    "id": "app.channel.get_channels.not_found.app_error",
    "translation": "No channels were found."
  },
  {
    "id": "app.channel.get_channels.get.app_error",
    "translation": "Unable to get the channels."
  },
  {
    "id": "app.channel.get_channel_counts.get.app_error",
    "translation": "Unable to get the channel counts."
  },
  {
    "id": "app.channel.get_by_scheme.app_error",
    "translation": "Unable to get the channels for the provided scheme."
  },
  {
    "id": "app.channel.get_by_name.missing.app_error",
    "translation": "Channel does not exist."
  },
  {
    "id": "app.channel.get_by_name.existing.app_error",
    "translation": "Unable to find the existing channel."
  },
  {
    "id": "app.channel.get_all_direct.app_error",
    "translation": "Unable to get all the direct channels."
  },
  {
    "id": "app.channel.get_all_channels_count.app_error",
    "translation": "Unable to count all the channels."
  },
  {
    "id": "app.channel.get_all_channels.app_error",
    "translation": "Unable to get all the channels."
  },
  {
    "id": "app.channel.get_all.app_error",
    "translation": "Unable to get all the channels."
  },
  {
    "id": "app.channel.get.find.app_error",
    "translation": "An error occurred while finding the channel."
  },
  {
    "id": "app.channel.get.existing.app_error",
    "translation": "Unable to find the existing channel."
  },
  {
    "id": "app.channel.delete.app_error",
    "translation": "Unable to delete the channel."
  },
  {
    "id": "app.channel.create_initial_sidebar_categories.internal_error",
    "translation": "Unable to create initial sidebar categories for user."
  },
  {
    "id": "app.channel.create_direct_channel.internal_error",
    "translation": "Unable to save direct channel."
  },
  {
    "id": "app.channel.create_channel.no_team_id.app_error",
    "translation": "Must specify the team ID to create a channel."
  },
  {
    "id": "app.channel.create_channel.internal_error",
    "translation": "Unable to save channel."
  },
  {
    "id": "app.channel.count_posts_since.app_error",
    "translation": "Unable to count messages since given date."
  },
  {
    "id": "app.channel.clear_all_custom_role_assignments.select.app_error",
    "translation": "Failed to retrieve the channel members."
  },
  {
    "id": "app.channel.autofollow.app_error",
    "translation": "Failed to update thread membership for mentioned user"
  },
  {
    "id": "app.channel.analytics_type_count.app_error",
    "translation": "Unable to get channel type counts."
  },
  {
    "id": "app.bot.permenent_delete.bad_id",
    "translation": "Unable to delete the bot."
  },
  {
    "id": "app.bot.permanent_delete.internal_error",
    "translation": "Unable to delete the bot permanently."
  },
  {
    "id": "app.bot.patchbot.internal_error",
    "translation": "Unable to update the bot."
  },
  {
    "id": "app.bot.getbots.internal_error",
    "translation": "Unable to get the bots."
  },
  {
    "id": "app.bot.getbot.internal_error",
    "translation": "Unable to get the bot."
  },
  {
    "id": "app.bot.get_disable_bot_sysadmin_message",
    "translation": "{{if .disableBotsSetting}}{{if .printAllBots}}{{.UserName}} was deactivated. They managed the following bot accounts which have now been disabled.\n\n{{.BotNames}}{{else}}{{.UserName}} was deactivated. They managed {{.NumBots}} bot accounts which have now been disabled, including the following:\n\n{{.BotNames}}{{end}}You can take ownership of each bot by enabling it at **Integrations > Bot Accounts** and creating new tokens for the bot.\n\nFor more information, see our [documentation](https://docs.mattermost.com/developer/bot-accounts.html#what-happens-when-a-user-who-owns-bot-accounts-is-disabled).{{else}}{{if .printAllBots}}{{.UserName}} was deactivated. They managed the following bot accounts which are still enabled.\n\n{{.BotNames}}\n{{else}}{{.UserName}} was deactivated. They managed {{.NumBots}} bot accounts which are still enabled, including the following:\n\n{{.BotNames}}{{end}}We strongly recommend you to take ownership of each bot by re-enabling it at **Integrations > Bot Accounts** and creating new tokens for the bot.\n\nFor more information, see our [documentation](https://docs.mattermost.com/developer/bot-accounts.html#what-happens-when-a-user-who-owns-bot-accounts-is-disabled).\n\nIf you want bot accounts to disable automatically after owner deactivation, set 'Disable bot accounts when owner is deactivated' in **System Console > Integrations > Bot Accounts** to true.{{end}}"
  },
  {
    "id": "app.bot.createbot.internal_error",
    "translation": "Unable to save the bot."
  },
  {
    "id": "app.audit.save.saving.app_error",
    "translation": "An error occurred while saving the audit."
  },
  {
    "id": "app.audit.permanent_delete_by_user.app_error",
    "translation": "An error occurred while deleting the audits."
  },
  {
    "id": "app.audit.get.limit.app_error",
    "translation": "Limit exceeded for paging."
  },
  {
    "id": "app.audit.get.finding.app_error",
    "translation": "An error occurred while finding the audits."
  },
  {
    "id": "app.analytics.getanalytics.internal_error",
    "translation": "Unable to get the analytics."
  },
  {
    "id": "app.admin.test_site_url.failure",
    "translation": "This is not a valid live URL"
  },
  {
    "id": "app.admin.test_email.failure",
    "translation": "Connection unsuccessful: {{.Error}}"
  },
  {
    "id": "app.admin.saml.invalid_response_from_idp.app_error",
    "translation": "Could not read the response received from the Identity Provider."
  },
  {
    "id": "app.admin.saml.failure_read_response_body_from_idp.app_error",
    "translation": "Failure encountered when reading the response payload received from the Identity Provider."
  },
  {
    "id": "app.admin.saml.failure_decode_metadata_xml_from_idp.app_error",
    "translation": "Could not decode the XML metadata information received from the Identity Provider."
  },
  {
    "id": "api.websocket_handler.server_busy.app_error",
    "translation": "Server is busy, non-critical services are temporarily unavailable."
  },
  {
    "id": "api.websocket_handler.invalid_param.app_error",
    "translation": "Invalid {{.Name}} parameter."
  },
  {
    "id": "api.webhook.update_outgoing.intersect.app_error",
    "translation": "Outgoing webhooks from the same channel cannot have the same trigger words/callback URLs."
  },
  {
    "id": "api.webhook.team_mismatch.app_error",
    "translation": "Unable to update webhook across teams."
  },
  {
    "id": "api.webhook.incoming.error",
    "translation": "Could not decode the multipart payload of incoming webhook."
  },
  {
    "id": "api.webhook.create_outgoing.triggers.app_error",
    "translation": "Either trigger_words or channel_id must be set."
  },
  {
    "id": "api.webhook.create_outgoing.permissions.app_error",
    "translation": "Invalid permissions to create outgoing webhook."
  },
  {
    "id": "api.webhook.create_outgoing.not_open.app_error",
    "translation": "Outgoing webhooks can only be created for public channels."
  },
  {
    "id": "api.webhook.create_outgoing.intersect.app_error",
    "translation": "Outgoing webhooks from the same channel cannot have the same trigger words/callback URLs."
  },
  {
    "id": "api.web_socket_router.not_authenticated.app_error",
    "translation": "WebSocket connection is not authenticated. Please log in and try again."
  },
  {
    "id": "api.web_socket_router.no_action.app_error",
    "translation": "No WebSocket action."
  },
  {
    "id": "api.web_socket_router.bad_seq.app_error",
    "translation": "Invalid sequence for WebSocket message."
  },
  {
    "id": "api.web_socket_router.bad_action.app_error",
    "translation": "Unknown WebSocket action."
  },
  {
    "id": "api.web_socket.connect.upgrade.app_error",
    "translation": "Failed to upgrade WebSocket connection."
  },
  {
    "id": "api.user.verify_email.token_parse.error",
    "translation": "Failed to parse token data from email verification"
  },
  {
    "id": "api.upgrade_to_enterprise.invalid-permission.app_error",
    "translation": "Mattermost was unable to upgrade to Enterprise Edition. The Mattermost system user {{.MattermostUsername}} does not have write access to the necessary binary file. A system administrator can update the file permissions by executing the following command on the server where Mattermost is installed:\n\n```\nchmod +w '{{.Path}}'\n```\n\nAfter changing the file permissions, try to upgrade Mattermost again. When you have upgraded and restarted, remember to restore the original binary file permissions:\n\n```\nchmod -w '{{.Path}}'\n```"
  },
  {
    "id": "api.upgrade_to_enterprise.generic_error.app_error",
    "translation": "Mattermost was unable to upgrade to Enterprise Edition."
  },
  {
    "id": "api.upgrade_to_enterprise.app_error",
    "translation": "An upgrade to Mattermost Enterprise Edition is already running."
  },
  {
    "id": "api.upgrade_to_enterprise.already-enterprise.app_error",
    "translation": "You cannot upgrade because you are already running Mattermost Enterprise Edition."
  },
  {
    "id": "api.upgrade_to_enterprise.already-done.app_error",
    "translation": "You have already upgraded to Mattermost Enterprise Edition. Please restart the server to finish the upgrade."
  },
  {
    "id": "api.unable_to_read_file_from_backend",
    "translation": "Error reading file from backend"
  },
  {
    "id": "api.unable_to_create_zip_file",
    "translation": "Error creating zip file."
  },
  {
    "id": "api.templates.welcome_subject",
    "translation": "[{{ .SiteName }}] You joined {{ .ServerURL }}"
  },
  {
    "id": "api.templates.welcome_body.title",
    "translation": "Welcome to the team"
  },
  {
    "id": "api.templates.welcome_body.subTitle2",
    "translation": "Click below to verify your email address."
  },
  {
    "id": "api.templates.welcome_body.subTitle1",
    "translation": "Thanks for joining "
  },
  {
    "id": "api.templates.welcome_body.serverURL",
    "translation": "{{ .ServerURL }}."
  },
  {
    "id": "api.templates.welcome_body.info1",
    "translation": "If it was not you, you can safely ignore this email."
  },
  {
    "id": "api.templates.welcome_body.info",
    "translation": "This email address was used to create an account with Mattermost."
  },
  {
    "id": "api.templates.welcome_body.button",
    "translation": "Verify Email"
  },
  {
    "id": "api.templates.welcome_body.app_download_title",
    "translation": "Download the desktop and mobile apps"
  },
  {
    "id": "api.templates.welcome_body.app_download_info",
    "translation": "For the best experience, download the apps for PC, Mac, iOS and Android."
  },
  {
    "id": "api.templates.welcome_body.app_download_button",
    "translation": "Download"
  },
  {
    "id": "api.templates.warn_metric_ack.subject",
    "translation": "Mattermost Contact Us request"
  },
  {
    "id": "api.templates.warn_metric_ack.footer",
    "translation": "If you have any additional inquiries, please contact support@mattermost.com"
  },
  {
    "id": "api.templates.warn_metric_ack.body.site_url_header",
    "translation": "Site URL: "
  },
  {
    "id": "api.templates.warn_metric_ack.body.registered_users_header",
    "translation": "Total Active Users: "
  },
  {
    "id": "api.templates.warn_metric_ack.body.diagnostic_id_header",
    "translation": "Diagnostic ID: "
  },
  {
    "id": "api.templates.warn_metric_ack.body.contact_name_header",
    "translation": "Contact: "
  },
  {
    "id": "api.templates.warn_metric_ack.body.contact_email_header",
    "translation": "Email: "
  },
  {
    "id": "api.templates.verify_subject",
    "translation": "[{{ .SiteName }}] Email Verification"
  },
  {
    "id": "api.templates.verify_body.title",
    "translation": "Verify your email address"
  },
  {
    "id": "api.templates.verify_body.subTitle2",
    "translation": "Click below to verify your email address."
  },
  {
    "id": "api.templates.verify_body.subTitle1",
    "translation": "Thanks for joining "
  },
  {
    "id": "api.templates.verify_body.serverURL",
    "translation": "{{ .ServerURL }}."
  },
  {
    "id": "api.templates.verify_body.info1",
    "translation": "If it was not you, you can safely ignore this email."
  },
  {
    "id": "api.templates.verify_body.info",
    "translation": "This email address was used to create an account with Mattermost."
  },
  {
    "id": "api.templates.verify_body.button",
    "translation": "Verify Email"
  },
  {
    "id": "api.templates.username_change_subject",
    "translation": "[{{ .SiteName }}] Your username has changed"
  },
  {
    "id": "api.templates.username_change_body.title",
    "translation": "You updated your username"
  },
  {
    "id": "api.templates.username_change_body.info",
    "translation": "Your username for {{.TeamDisplayName}} has been changed to {{.NewUsername}}."
  },
  {
    "id": "api.templates.user_access_token_subject",
    "translation": "[{{ .SiteName }}] Personal access token added to your account"
  },
  {
    "id": "api.templates.user_access_token_body.title",
    "translation": "Personal access token added to your account"
  },
  {
    "id": "api.templates.user_access_token_body.info",
    "translation": "A personal access token was added to your account on {{ .SiteURL }}. They can be used to access {{.SiteName}} with your account."
  },
  {
    "id": "api.templates.signin_change_email.subject",
    "translation": "[{{ .SiteName }}] Your sign-in method has been updated"
  },
  {
    "id": "api.templates.signin_change_email.body.title",
    "translation": "You updated your sign-in method"
  },
  {
    "id": "api.templates.signin_change_email.body.method_email",
    "translation": "email and password"
  },
  {
    "id": "api.templates.signin_change_email.body.info",
    "translation": "You updated your sign-in method on {{ .SiteName }} to {{.Method}}."
  },
  {
    "id": "api.templates.reset_subject",
    "translation": "[{{ .SiteName }}] Reset your password"
  },
  {
    "id": "api.templates.reset_body.title",
    "translation": "Reset Your Password"
  },
  {
    "id": "api.templates.reset_body.subTitle",
    "translation": "Click the button below to reset your password. If you didn’t request this, you can safely ignore this email."
  },
  {
    "id": "api.templates.reset_body.info",
    "translation": "The password reset link expires in 24 hours."
  },
  {
    "id": "api.templates.reset_body.button",
    "translation": "Reset Password"
  },
  {
    "id": "api.templates.remove_expired_license.subject",
    "translation": "Mattermost Enterprise licence has been disabled."
  },
  {
    "id": "api.templates.remove_expired_license.body.title",
    "translation": "Your Enterprise Edition licence has expired and some features may be disabled. Please renew your licence now."
  },
  {
    "id": "api.templates.remove_expired_license.body.renew_button",
    "translation": "Renew Licence Now"
  },
  {
    "id": "api.templates.questions_footer.title",
    "translation": "Questions?"
  },
  {
    "id": "api.templates.questions_footer.info",
    "translation": "Need help or have questions? Email us at "
  },
  {
    "id": "api.templates.post_body.button",
    "translation": "Reply in Mattermost"
  },
  {
    "id": "api.templates.payment_failed_no_card.title",
    "translation": "Your Mattermost Cloud Invoice is due"
  },
  {
    "id": "api.templates.payment_failed_no_card.subject",
    "translation": "Payment is due for your Mattermost Cloud subscription"
  },
  {
    "id": "api.templates.payment_failed_no_card.info3",
    "translation": "To review your invoice and add a payment method, select Pay now."
  },
  {
    "id": "api.templates.payment_failed_no_card.info1",
    "translation": "Your Mattermost Cloud invoice for the most recent billing period has been processed. However, you may need to re-enter your payment information."
  },
  {
    "id": "api.templates.payment_failed_no_card.button",
    "translation": "Pay now"
  },
  {
    "id": "api.templates.payment_failed.title",
    "translation": "The payment wasn't successful"
  },
  {
    "id": "api.templates.payment_failed.subject",
    "translation": "Action required: Payment failed for Mattermost {{.Plan}}"
  },
  {
    "id": "api.templates.payment_failed.info3",
    "translation": "To ensure uninterrupted access to Mattermost {{.Plan}}, please either contact your financial institution to fix the underlying problem or update your payment information. Once payment information is updated, Mattermost will attempt to settle any outstanding balance."
  },
  {
    "id": "api.templates.payment_failed.info2",
    "translation": "They provided the following reason:"
  },
  {
    "id": "api.templates.payment_failed.info1",
    "translation": "Your financial institution declined a payment from your {{.CardBrand}} ****{{.LastFour}} associated with your Mattermost Cloud workspace."
  },
  {
    "id": "api.templates.password_change_subject",
    "translation": "[{{ .SiteName }}] Your password has been updated"
  },
  {
    "id": "api.templates.password_change_body.title",
    "translation": "Your password has been updated"
  },
  {
    "id": "api.templates.password_change_body.info",
    "translation": "Your password has been updated for {{.TeamDisplayName}} on {{ .TeamURL }} by {{.Method}}."
  },
  {
    "id": "ent.compliance.csv.metadata.export.appError",
    "translation": "Unable to add metadata file to the zip file."
  },
  {
    "id": "ent.compliance.csv.header.export.appError",
    "translation": "Unable to add header to the CSV export."
  },
  {
    "id": "ent.compliance.csv.file.creation.appError",
    "translation": "Unable to create temporary CSV export file."
  },
  {
    "id": "ent.compliance.csv.attachment.export.appError",
    "translation": "Unable to add attachment to the CSV export."
  },
  {
    "id": "ent.compliance.csv.attachment.copy.appError",
    "translation": "Unable to copy the attachment into the zip file."
  },
  {
    "id": "ent.compliance.bad_export_type.appError",
    "translation": "Unknown output format {{.ExportType}}"
  },
  {
    "id": "ent.cluster.timeout.error",
    "translation": "Timed out waiting for cluster response"
  },
  {
    "id": "ent.cluster.save_config.error",
    "translation": "System Console is set to read-only when High Availability is enabled unless ReadOnlyConfig is disabled in the configuration file."
  },
  {
    "id": "ent.cluster.json_encode.error",
    "translation": "Error occurred while marshalling JSON request"
  },
  {
    "id": "app.import.validate_reaction_import_data.user_missing.error",
    "translation": "Missing required Reaction property: User."
  },
  {
    "id": "app.import.validate_reaction_import_data.emoji_name_missing.error",
    "translation": "Missing required Reaction property: EmojiName."
  },
  {
    "id": "app.import.validate_reaction_import_data.emoji_name_length.error",
    "translation": "Reaction EmojiName property is longer than the maximum permitted length."
  },
  {
    "id": "app.import.validate_reaction_import_data.create_at_zero.error",
    "translation": "Reaction CreateAt property must not be zero."
  },
  {
    "id": "app.import.validate_reaction_import_data.create_at_missing.error",
    "translation": "Missing required Reaction property: create_at."
  },
  {
    "id": "app.import.validate_reaction_import_data.create_at_before_parent.error",
    "translation": "Reaction CreateAt property must be greater than the parent post CreateAt."
  },
  {
    "id": "app.import.validate_post_import_data.user_missing.error",
    "translation": "Missing required Post property: User."
  },
  {
    "id": "app.import.validate_post_import_data.team_missing.error",
    "translation": "Missing required Post property: Team."
  },
  {
    "id": "app.import.validate_post_import_data.props_too_large.error",
    "translation": "Post Props are longer than the maximum permitted length."
  },
  {
    "id": "app.import.validate_post_import_data.message_missing.error",
    "translation": "Missing required Post property: Message."
  },
  {
    "id": "app.import.validate_post_import_data.message_length.error",
    "translation": "Post Message property is longer than the maximum permitted length."
  },
  {
    "id": "app.import.validate_post_import_data.create_at_zero.error",
    "translation": "Post CreateAt property must not be zero."
  },
  {
    "id": "app.import.validate_post_import_data.create_at_missing.error",
    "translation": "Missing required Post property: create_at."
  },
  {
    "id": "app.import.validate_post_import_data.channel_missing.error",
    "translation": "Missing required Post property: Channel."
  },
  {
    "id": "app.import.validate_emoji_import_data.name_missing.error",
    "translation": "Import emoji name field missing or blank."
  },
  {
    "id": "app.import.validate_emoji_import_data.image_missing.error",
    "translation": "Import emoji image field missing or blank."
  },
  {
    "id": "api.templates.mfa_deactivated_body.title",
    "translation": "Multi-factor authentication was removed"
  },
  {
    "id": "api.templates.mfa_deactivated_body.info",
    "translation": "Multi-factor authentication has been removed from your account on {{ .SiteURL }}."
  },
  {
    "id": "api.templates.mfa_change_subject",
    "translation": "[{{ .SiteName }}] Your MFA has been updated"
  },
  {
    "id": "api.templates.mfa_activated_body.title",
    "translation": "Multi-factor authentication was added"
  },
  {
    "id": "api.templates.mfa_activated_body.info",
    "translation": "Multi-factor authentication has been added to your account on {{ .SiteURL }}."
  },
  {
    "id": "api.templates.invite_subject",
    "translation": "[{{ .SiteName }}] {{ .SenderName }} invited you to join {{ .TeamDisplayName }} Team"
  },
  {
    "id": "api.templates.invite_guest_subject",
    "translation": "[{{ .SiteName }}] {{ .SenderName }} invited you to join the team {{ .TeamDisplayName }} as a guest"
  },
  {
    "id": "api.templates.invite_body_guest.subTitle",
    "translation": "You were invited as a guest to collaborate with the team"
  },
  {
    "id": "api.templates.invite_body_footer.title",
    "translation": "What is Mattermost?"
  },
  {
    "id": "api.templates.invite_body_footer.learn_more",
    "translation": "Learn more"
  },
  {
    "id": "api.templates.invite_body_footer.info",
    "translation": "Mattermost is a flexible, open source messaging platform that enables secure team collaboration."
  },
  {
    "id": "api.templates.invite_body.title",
    "translation": "{{ .SenderName }} invited you to join the {{ .TeamDisplayName }} team."
  },
  {
    "id": "api.templates.invite_body.subTitle",
    "translation": "Start collaborating with your team on Mattermost"
  },
  {
    "id": "api.templates.invite_body.button",
    "translation": "Join now"
  },
  {
    "id": "api.templates.email_warning",
    "translation": "If you did not make this change, please contact the system administrator."
  },
  {
    "id": "api.templates.email_us_anytime_at",
    "translation": "Email us any time at "
  },
  {
    "id": "api.templates.email_organization",
    "translation": "Sent by "
  },
  {
    "id": "api.templates.email_info3",
    "translation": "The {{.SiteName}} Team"
  },
  {
    "id": "api.templates.email_info2",
    "translation": "Best wishes,"
  },
  {
    "id": "api.templates.email_info1",
    "translation": "Any questions at all, mail us any time: "
  },
  {
    "id": "api.templates.email_footer_v2",
    "translation": "© 2021 Mattermost, Inc. 530 Lytton Avenue, Second floor, Palo Alto, CA, 94301"
  },
  {
    "id": "api.templates.email_footer",
    "translation": "To change your notification preferences, log in to your team site and go to Settings > Notifications."
  },
  {
    "id": "api.templates.email_change_verify_subject",
    "translation": "[{{ .SiteName }}] Verify new email address"
  },
  {
    "id": "api.templates.email_change_verify_body.title",
    "translation": "You successfully updated your email"
  },
  {
    "id": "api.templates.email_change_verify_body.info",
    "translation": "To finish updating your email address for {{.TeamDisplayName}}, please click the link below to confirm this is the right address."
  },
  {
    "id": "api.templates.email_change_verify_body.button",
    "translation": "Verify Email"
  },
  {
    "id": "api.templates.email_change_subject",
    "translation": "[{{ .SiteName }}] Your email address has changed"
  },
  {
    "id": "api.templates.email_change_body.title",
    "translation": "You updated your email"
  },
  {
    "id": "api.templates.email_change_body.info",
    "translation": "Your email address for {{.TeamDisplayName}} has been changed to {{.NewEmail}}."
  },
  {
    "id": "api.templates.deactivate_subject",
    "translation": "[{{ .SiteName }}] Your account at {{ .ServerURL }} has been deactivated"
  },
  {
    "id": "api.templates.deactivate_body.warning",
    "translation": "If this change was not initiated by you or you want to reactivate your account, contact your system administrator."
  },
  {
    "id": "api.templates.deactivate_body.title",
    "translation": "Your account has been deactivated at {{ .ServerURL }}"
  },
  {
    "id": "api.templates.deactivate_body.info",
    "translation": "You deactivated your account on {{ .SiteURL }}."
  },
  {
    "id": "api.templates.copyright",
    "translation": "© 2021 Mattermost, Inc. 530 Lytton Avenue, Second floor, Palo Alto, CA, 94301"
  },
  {
    "id": "api.templates.cloud_welcome_email.title",
    "translation": "Your workspace is ready to go!"
  },
  {
    "id": "api.templates.cloud_welcome_email.subtitle_info",
    "translation": "Take the following steps to build out your teams and get the most out of your workspace."
  },
  {
    "id": "api.templates.cloud_welcome_email.subtitle",
    "translation": "Set up your workspace"
  },
  {
    "id": "api.templates.cloud_welcome_email.subject",
    "translation": "Congratulations!"
  },
  {
    "id": "api.templates.cloud_welcome_email.start_questions",
    "translation": "Having questions about getting started? Email us at"
  },
  {
    "id": "api.templates.cloud_welcome_email.signin_sub_info2",
    "translation": "for the best experience on Windows, Linux, Mac, iOS and Android."
  },
  {
    "id": "api.templates.cloud_welcome_email.signin_sub_info",
    "translation": "Sign into your workspace on our"
  },
  {
    "id": "api.templates.cloud_welcome_email.mm_apps",
    "translation": "mobile and desktop apps"
  },
  {
    "id": "api.templates.cloud_welcome_email.invite_sub_info",
    "translation": "Share this link to invite your members to join {{.WorkSpace}}:"
  },
  {
    "id": "api.templates.cloud_welcome_email.invite_info",
    "translation": "Invite people to your workspace"
  },
  {
    "id": "api.templates.cloud_welcome_email.info2",
    "translation": "Make sure to save or bookmark your link for future use."
  },
  {
    "id": "api.templates.cloud_welcome_email.info",
    "translation": "Thanks for creating "
  },
  {
    "id": "api.templates.cloud_welcome_email.download_mm_info",
    "translation": "Download the Mattermost App"
  },
  {
    "id": "api.templates.cloud_welcome_email.button",
    "translation": "Open Mattermost"
  },
  {
    "id": "api.templates.cloud_welcome_email.app_market_place",
    "translation": "app marketplace."
  },
  {
    "id": "api.templates.cloud_welcome_email.add_apps_sub_info",
    "translation": "Streamline your work with tools like GitHub, Jira and Zoom. Explore all of the integrations we have on our"
  },
  {
    "id": "api.templates.cloud_welcome_email.add_apps_info",
    "translation": "Add apps to your workspace"
  },
  {
    "id": "api.team.update_team_scheme.scheme_scope.error",
    "translation": "Unable to set the scheme to the team because the supplied scheme is not a team scheme."
  },
  {
    "id": "api.team.update_team_scheme.license.error",
    "translation": "Your licence does not support updating a team's scheme"
  },
  {
    "id": "api.team.update_team_member_roles.guest_and_user.app_error",
    "translation": "Invalid team member update: A user must be a guest or a user but not both."
  },
  {
    "id": "api.team.update_restricted_domains.mismatch.app_error",
    "translation": "Restricting team to {{ .Domain }} is not allowed by the system config. Please contact your system administrator."
  },
  {
    "id": "api.team.update_member_roles.not_a_member",
    "translation": "Specified user is not a member of specified team."
  },
  {
    "id": "api.team.team_icon.update.app_error",
    "translation": "An error occurred updating the team icon."
  },
  {
    "id": "api.team.set_team_icon.write_file.app_error",
    "translation": "Could not save team icon."
  },
  {
    "id": "api.team.set_team_icon.too_large.app_error",
    "translation": "Unable to upload team icon. File is too large."
  },
  {
    "id": "api.team.set_team_icon.storage.app_error",
    "translation": "Unable to upload team icon. Image storage is not configured."
  },
  {
    "id": "api.team.set_team_icon.parse.app_error",
    "translation": "Could not parse multipart form."
  },
  {
    "id": "api.team.set_team_icon.open.app_error",
    "translation": "Could not open image file."
  },
  {
    "id": "api.team.set_team_icon.no_file.app_error",
    "translation": "No file under 'image' in request."
  },
  {
    "id": "api.team.set_team_icon.get_team.app_error",
    "translation": "An error occurred getting the team."
  },
  {
    "id": "api.team.set_team_icon.encode.app_error",
    "translation": "Could not encode team icon."
  },
  {
    "id": "api.team.set_team_icon.decode.app_error",
    "translation": "Could not decode team icon."
  },
  {
    "id": "api.team.set_team_icon.array.app_error",
    "translation": "Empty array under 'image' in request."
  },
  {
    "id": "api.team.search_teams.pagination_not_implemented.public_team_search",
    "translation": "Pagination not implemented for public-only team search."
  },
  {
    "id": "api.team.search_teams.pagination_not_implemented.private_team_search",
    "translation": "Pagination not implemented for private-only team search."
  },
  {
    "id": "api.team.remove_user_from_team.removed",
    "translation": "%v removed from the team."
  },
  {
    "id": "api.team.remove_user_from_team.missing.app_error",
    "translation": "The user does not appear to be part of this team."
  },
  {
    "id": "api.team.remove_team_icon.get_team.app_error",
    "translation": "An error occurred getting the team."
  },
  {
    "id": "api.team.remove_member.group_constrained.app_error",
    "translation": "Unable to remove a user from a group-constrained team."
  },
  {
    "id": "api.team.move_channel.success",
    "translation": "This channel has been moved to this team from %v."
  },
  {
    "id": "api.team.move_channel.post.error",
    "translation": "Failed to post channel move message."
  },
  {
    "id": "api.team.leave.left",
    "translation": "%v left the team."
  },
  {
    "id": "api.team.join_user_to_team.allowed_domains.app_error",
    "translation": "The user cannot be added as the domain associated with the account is not permitted. Contact your System Administrator for additional details."
  },
  {
    "id": "api.team.join_team.post_and_forget",
    "translation": "%v joined the team."
  },
  {
    "id": "api.team.is_team_creation_allowed.domain.app_error",
    "translation": "The user cannot be added as the domain associated with the account is not permitted. Contact your System Administrator for additional details."
  },
  {
    "id": "api.team.is_team_creation_allowed.disabled.app_error",
    "translation": "Team creation has been disabled. Please ask your System Administrator for details."
  },
  {
    "id": "api.team.invite_members.no_one.app_error",
    "translation": "No one to invite."
  },
  {
    "id": "api.team.invite_members.invalid_email.app_error",
    "translation": "The following email addresses do not belong to an accepted domain: {{.Addresses}}. Please contact your System Administrator for details."
  },
  {
    "id": "api.team.invite_members.disabled.app_error",
    "translation": "Email invitations are disabled."
  },
  {
    "id": "api.team.invite_guests_to_channels.invalid_body.app_error",
    "translation": "Invalid or missing request body."
  },
  {
    "id": "api.team.invite_guests.channel_in_invalid_team.app_error",
    "translation": "The channels of the invite must be part of the team of the invite."
  },
  {
    "id": "api.team.invalidate_all_email_invites.app_error",
    "translation": "Error invalidating email invites."
  },
  {
    "id": "api.team.import_team.unknown_import_from.app_error",
    "translation": "Unknown import source."
  },
  {
    "id": "api.team.import_team.unavailable.app_error",
    "translation": "Malformed request: filesize field is not present."
  },
  {
    "id": "api.team.import_team.parse.app_error",
    "translation": "Could not parse multipart form."
  },
  {
    "id": "api.team.import_team.open.app_error",
    "translation": "Could not open file."
  },
  {
    "id": "api.team.import_team.no_import_from.app_error",
    "translation": "Malformed request: importFrom field is not present."
  },
  {
    "id": "api.team.import_team.no_file.app_error",
    "translation": "No file under 'file' in request."
  },
  {
    "id": "api.team.import_team.integer.app_error",
    "translation": "Filesize not an integer."
  },
  {
    "id": "api.team.import_team.array.app_error",
    "translation": "Empty array under 'file' in request."
  },
  {
    "id": "api.team.get_team_icon.read_file.app_error",
    "translation": "Unable to read the team icon file."
  },
  {
    "id": "api.team.get_team_icon.filesettings_no_driver.app_error",
    "translation": "Invalid driver name for file settings.  Must be 'local' or 'amazons3'."
  },
  {
    "id": "api.team.get_invite_info.not_open_team",
    "translation": "Invite is invalid because this is not an open team."
  },
  {
    "id": "api.post.create_post.channel_root_id.app_error",
    "translation": "Invalid ChannelID for RootID parameter."
  },
  {
    "id": "api.post.create_post.can_not_post_to_deleted.error",
    "translation": "Can not post to deleted channel."
  },
  {
    "id": "api.post.check_for_out_of_channel_mentions.message.one",
    "translation": "@{{.Username}} did not get notified by this mention because they are not in the channel."
  },
  {
    "id": "api.post.check_for_out_of_channel_mentions.message.multiple",
    "translation": "@{{.Usernames}} and @{{.LastUsername}} did not get notified by this mention because they are not in the channel."
  },
  {
    "id": "api.post.check_for_out_of_channel_groups_mentions.message.one",
    "translation": "@{{.Username}} did not get notified by this mention because they are not in the channel. They cannot be added to the channel because they are not a member of the linked groups. To add them to this channel, they must be added to the linked groups."
  },
  {
    "id": "api.post.check_for_out_of_channel_groups_mentions.message.multiple",
    "translation": "@{{.Usernames}} and @{{.LastUsername}} did not get notified by this mention because they are not in the channel. They cannot be added to the channel because they are not a member of the linked groups. To add them to this channel, they must be added to the linked groups."
  },
  {
    "id": "api.post.check_for_out_of_channel_group_users.message.none",
    "translation": "@{{.GroupName}} has no members on this team"
  },
  {
    "id": "api.plugin.verify_plugin.app_error",
    "translation": "Unable to verify plugin signature."
  },
  {
    "id": "api.plugin.upload.no_file.app_error",
    "translation": "Missing file in multipart/form request."
  },
  {
    "id": "api.plugin.upload.file.app_error",
    "translation": "Unable to open file in multipart/form request."
  },
  {
    "id": "api.plugin.upload.array.app_error",
    "translation": "File array is empty in multipart/form request."
  },
  {
    "id": "api.plugin.install.download_failed.app_error",
    "translation": "An error occurred while downloading the plugin."
  },
  {
    "id": "api.outgoing_webhook.disabled.app_error",
    "translation": "Outgoing webhooks have been disabled by the system admin."
  },
  {
    "id": "api.oauth.singup_with_oauth.invalid_link.app_error",
    "translation": "The signup link does not appear to be valid."
  },
  {
    "id": "api.oauth.singup_with_oauth.expired_link.app_error",
    "translation": "The signup link has expired."
  },
  {
    "id": "api.oauth.singup_with_oauth.disabled.app_error",
    "translation": "User sign-up is disabled."
  },
  {
    "id": "api.oauth.revoke_access_token.get.app_error",
    "translation": "Error getting access token from DB before deletion."
  },
  {
    "id": "api.oauth.revoke_access_token.del_token.app_error",
    "translation": "Error deleting access token from DB."
  },
  {
    "id": "api.oauth.revoke_access_token.del_session.app_error",
    "translation": "Error deleting session from DB."
  },
  {
    "id": "api.oauth.register_oauth_app.turn_off.app_error",
    "translation": "The system admin has turned off OAuth2 Service Provider."
  },
  {
    "id": "api.oauth.redirecting_back",
    "translation": "Redirecting you back to the app."
  },
  {
    "id": "api.oauth.invalid_state_token.app_error",
    "translation": "Invalid state token."
  },
  {
    "id": "api.oauth.get_access_token.refresh_token.app_error",
    "translation": "invalid_grant: Invalid refresh token."
  },
  {
    "id": "api.oauth.get_access_token.redirect_uri.app_error",
    "translation": "invalid_request: Supplied redirect_uri does not match authorisation code redirect_uri."
  },
  {
    "id": "api.oauth.get_access_token.missing_refresh_token.app_error",
    "translation": "invalid_request: Missing refresh_token."
  },
  {
    "id": "api.oauth.get_access_token.missing_code.app_error",
    "translation": "invalid_request: Missing code."
  },
  {
    "id": "api.oauth.get_access_token.internal_user.app_error",
    "translation": "server_error: Encountered internal server error while pulling user from database."
  },
  {
    "id": "api.oauth.get_access_token.internal_session.app_error",
    "translation": "server_error: Encountered internal server error while saving session to database."
  },
  {
    "id": "api.oauth.get_access_token.internal_saving.app_error",
    "translation": "server_error: Encountered internal server error while saving access token to database."
  },
  {
    "id": "api.oauth.get_access_token.internal.app_error",
    "translation": "server_error: Encountered internal server error while accessing database."
  },
  {
    "id": "api.oauth.get_access_token.expired_code.app_error",
    "translation": "invalid_grant: Invalid or expired authorisation code."
  },
  {
    "id": "api.oauth.get_access_token.disabled.app_error",
    "translation": "The system admin has turned off OAuth2 Service Provider."
  },
  {
    "id": "api.oauth.get_access_token.credentials.app_error",
    "translation": "invalid_client: Invalid client credentials."
  },
  {
    "id": "api.oauth.get_access_token.bad_grant.app_error",
    "translation": "invalid_request: Bad grant_type."
  },
  {
    "id": "api.oauth.get_access_token.bad_client_secret.app_error",
    "translation": "invalid_request: Missing client_secret."
  },
  {
    "id": "api.oauth.get_access_token.bad_client_id.app_error",
    "translation": "invalid_request: Bad client_id."
  },
  {
    "id": "api.oauth.close_browser",
    "translation": "You can close this browser tab now."
  },
  {
    "id": "api.oauth.click_redirect",
    "translation": "If you are not redirected automatically, please click the <a href='{{.Link}}'>link</a>"
  },
  {
    "id": "api.oauth.authorize_oauth.disabled.app_error",
    "translation": "The system admin has turned off OAuth2 Service Provider."
  },
  {
    "id": "api.oauth.auth_complete",
    "translation": "Authentication complete"
  },
  {
    "id": "api.oauth.allow_oauth.turn_off.app_error",
    "translation": "The system admin has turned off OAuth2 Service Provider."
  },
  {
    "id": "api.oauth.allow_oauth.redirect_callback.app_error",
    "translation": "invalid_request: Supplied redirect_uri did not match registered callback_url."
  },
  {
    "id": "api.no_license",
    "translation": "E10 or E20 licence required to use this endpoint."
  },
  {
    "id": "api.migrate_to_saml.error",
    "translation": "Unable to migrate SAML."
  },
  {
    "id": "api.marshal_error",
    "translation": "Failed to marshal."
  },
  {
    "id": "api.license.request_trial_license.fail_get_user_count.app_error",
    "translation": "Unable to get a trial licence, please try again or contact with support@mattermost.com. Cannot obtain the number of registered users."
  },
  {
    "id": "api.license.request_trial_license.app_error",
    "translation": "Unable to get a trial licence, please try again or contact with support@mattermost.com."
  },
  {
    "id": "api.license.request_renewal_link.app_error",
    "translation": "Error getting the licence renewal link"
  },
  {
    "id": "api.license.request-trial.bad-request.terms-not-accepted",
    "translation": "You must accept the Mattermost Software Evaluation Agreement and Privacy Policy to request a licence."
  },
  {
    "id": "api.license.request-trial.bad-request",
    "translation": "The number of users requested is not correct."
  },
  {
    "id": "api.license.remove_expired_license.failed.error",
    "translation": "Failed to send the disable licence email successfully."
  },
  {
    "id": "api.license.client.old_format.app_error",
    "translation": "New format for the client licence is not supported yet. Please specify format=old in the query string."
  },
  {
    "id": "api.license.add_license.unique_users.app_error",
    "translation": "This licence only supports {{.Users}} users, when your system has {{.Count}} unique users. Unique users are counted distinctly by email address. You can see total user count under Site Reports -> View Statistics."
  },
  {
    "id": "api.license.add_license.save_active.app_error",
    "translation": "Active licence ID did not save properly."
  },
  {
    "id": "api.license.add_license.save.app_error",
    "translation": "Licence did not save properly."
  },
  {
    "id": "api.license.add_license.open.app_error",
    "translation": "Could not open licence file."
  },
  {
    "id": "api.license.add_license.no_file.app_error",
    "translation": "No file under 'licence' in request."
  },
  {
    "id": "api.license.add_license.invalid_count.app_error",
    "translation": "Unable to count total unique users."
  },
  {
    "id": "api.license.add_license.invalid.app_error",
    "translation": "Invalid licence file."
  },
  {
    "id": "api.license.add_license.expired.app_error",
    "translation": "Licence is either expired or has not yet started."
  },
  {
    "id": "api.license.add_license.array.app_error",
    "translation": "Empty array under 'licence' in request."
  },
  {
    "id": "api.ldap_groups.license_error",
    "translation": "your licence does not support LDAP groups"
  },
  {
    "id": "api.ldap_groups.existing_user_name_error",
    "translation": "group name already exists as a user name"
  },
  {
    "id": "api.ldap_groups.existing_reserved_name_error",
    "translation": "group name already exists as a reserved name"
  },
  {
    "id": "api.ldap_groups.existing_group_name_error",
    "translation": "group name already exists"
  },
  {
    "id": "api.ldap_group.not_found",
    "translation": "ldap group not found"
  },
  {
    "id": "api.job.unable_to_download_job.incorrect_job_type",
    "translation": "The job type you are trying to download is not supported at the moment"
  },
  {
    "id": "api.job.unable_to_download_job",
    "translation": "Unable to download this job"
  },
  {
    "id": "api.job.unable_to_create_job.incorrect_job_type",
    "translation": "The job type of the job you are trying to create is invalid"
  },
  {
    "id": "api.job.retrieve.nopermissions",
    "translation": "The job types of a job you are trying to retrieve does not contain permissions"
  },
  {
    "id": "api.io_error",
    "translation": "input/output error"
  },
  {
    "id": "api.invalid_redirect_url",
    "translation": "Invalid redirect url has been provided"
  },
  {
    "id": "api.invalid_custom_url_scheme",
    "translation": "Invalid custom url scheme has been provided"
  },
  {
    "id": "api.invalid_channel",
    "translation": "Channel listed in the request doesn't belong to the user"
  },
  {
    "id": "api.incoming_webhook.invalid_username.app_error",
    "translation": "Invalid username."
  },
  {
    "id": "api.incoming_webhook.disabled.app_error",
    "translation": "Incoming webhooks have been disabled by the system admin."
  },
  {
    "id": "api.image.get.app_error",
    "translation": "Requested image url cannot be parsed."
  },
  {
    "id": "api.getThreadsForUser.bad_params",
    "translation": "Before and After parameters to getThreadsForUser are mutually exclusive"
  },
  {
    "id": "api.file.write_file.app_error",
    "translation": "Unable to write the file."
  },
  {
    "id": "api.file.upload_file.too_large_detailed.app_error",
    "translation": "Unable to upload file {{.Filename}}. {{.Length}} bytes exceeds the maximum allowed {{.Limit}} bytes."
  },
  {
    "id": "api.file.upload_file.storage.app_error",
    "translation": "Unable to upload file. Image storage is not configured."
  },
  {
    "id": "api.file.upload_file.read_request.app_error",
    "translation": "Unable to upload file(s). Error reading or parsing request data."
  },
  {
    "id": "api.file.upload_file.read_form_value.app_error",
    "translation": "Unable to upload file(s). Error reading the value for {{.Formname}}."
  },
  {
    "id": "api.file.upload_file.multiple_channel_ids.app_error",
    "translation": "Unable to upload file(s). Multiple conflicting channel_ids."
  },
  {
    "id": "api.file.upload_file.large_image_detailed.app_error",
    "translation": "{{.Filename}} dimensions ({{.Width}} by {{.Height}} pixels) exceed the limits."
  },
  {
    "id": "api.file.upload_file.large_image.app_error",
    "translation": "File above maximum dimensions could not be uploaded: {{.Filename}}"
  },
  {
    "id": "api.file.upload_file.incorrect_number_of_client_ids.app_error",
    "translation": "Unable to upload file(s). Have {{.NumClientIds}} client_ids for {{.NumFiles}} files."
  },
  {
    "id": "api.file.upload_file.incorrect_channelId.app_error",
    "translation": "Unable to upload the file. Incorrect channel ID: {{.channelId}}"
  },
  {
    "id": "api.file.test_connection_s3_bucket_does_not_exist.app_error",
    "translation": "Ensure your Amazon S3 bucket is available, and verify your bucket permissions."
  },
  {
    "id": "api.file.test_connection_s3_auth.app_error",
    "translation": "Unable to connect to S3. Verify your Amazon S3 connection authorisation parameters and authentication settings."
  },
  {
    "id": "api.file.test_connection.app_error",
    "translation": "Unable to access the file storage."
  },
  {
    "id": "api.file.remove_file.app_error",
    "translation": "Unable to remove the file."
  },
  {
    "id": "api.file.remove_directory.app_error",
    "translation": "Unable to remove the directory."
  },
  {
    "id": "api.file.read_file.reading_local.app_error",
    "translation": "Encountered an error reading from local server file storage."
  },
  {
    "id": "api.file.read_file.app_error",
    "translation": "Unable to read the file."
  },
  {
    "id": "api.file.no_driver.app_error",
    "translation": "No file driver selected."
  },
  {
    "id": "api.file.move_file.app_error",
    "translation": "Unable to move file."
  },
  {
    "id": "api.user.verify_email.link_expired.app_error",
    "translation": "The email verification link has expired."
  },
  {
    "id": "api.user.verify_email.broken_token.app_error",
    "translation": "Bad verify email token type."
  },
  {
    "id": "api.user.verify_email.bad_link.app_error",
    "translation": "Bad verify email link."
  },
  {
    "id": "api.user.upload_profile_user.upload_profile.app_error",
    "translation": "Couldn't upload profile image."
  },
  {
    "id": "api.user.upload_profile_user.too_large.app_error",
    "translation": "Unable to upload profile image. File is too large."
  },
  {
    "id": "api.user.upload_profile_user.storage.app_error",
    "translation": "Unable to upload file. Image storage is not configured."
  },
  {
    "id": "api.user.upload_profile_user.parse.app_error",
    "translation": "Could not parse multipart form."
  },
  {
    "id": "api.user.upload_profile_user.open.app_error",
    "translation": "Could not open image file."
  },
  {
    "id": "api.user.upload_profile_user.no_file.app_error",
    "translation": "No file under 'image' in request."
  },
  {
    "id": "api.user.upload_profile_user.login_provider_attribute_set.app_error",
    "translation": "Profile picture must be set through user's login provider."
  },
  {
    "id": "api.user.upload_profile_user.encode.app_error",
    "translation": "Could not encode profile image."
  },
  {
    "id": "api.user.upload_profile_user.decode.app_error",
    "translation": "Could not decode profile image."
  },
  {
    "id": "api.user.upload_profile_user.array.app_error",
    "translation": "Empty array under 'image' in request."
  },
  {
    "id": "api.user.update_user_roles.license.app_error",
    "translation": "Custom Permission Schemes not supported by current licence"
  },
  {
    "id": "api.user.update_user_auth.invalid_request",
    "translation": "Request is missing either AuthData or AuthService parameter."
  },
  {
    "id": "api.user.update_user.login_provider_attribute_set.app_error",
    "translation": "Field '{{.Field}}' must be set through user's login provider."
  },
  {
    "id": "api.user.update_user.accepted_guest_domain.app_error",
    "translation": "The email you provided does not belong to an accepted domain for guest accounts. Please contact your administrator or sign up with a different email."
  },
  {
    "id": "api.user.update_user.accepted_domain.app_error",
    "translation": "The email you provided does not belong to an accepted domain. Please contact your administrator or sign up with a different email."
  },
  {
    "id": "api.user.update_password.valid_account.app_error",
    "translation": "Update password failed because a valid account does not exist."
  },
  {
    "id": "api.user.update_password.user_and_hashed.app_error",
    "translation": "Only system administrators can set already-hashed passwords."
  },
  {
    "id": "api.user.update_password.oauth.app_error",
    "translation": "Update password failed because the user is logged in through an OAuth service."
  },
  {
    "id": "api.user.update_password.menu",
    "translation": "using the settings menu"
  },
  {
    "id": "api.user.update_password.incorrect.app_error",
    "translation": "The 'Current Password' you entered is incorrect. Please check that Caps Lock is off and try again."
  },
  {
    "id": "api.user.update_password.failed.app_error",
    "translation": "Update password failed."
  },
  {
    "id": "api.user.update_password.context.app_error",
    "translation": "Update password failed because context user_id did not match props user_id."
  },
  {
    "id": "api.user.update_oauth_user_attrs.get_user.app_error",
    "translation": "Could not get user from {{.Service}} user object."
  },
  {
    "id": "api.user.update_active.permissions.app_error",
    "translation": "You do not have the appropriate permissions."
  },
  {
    "id": "api.user.update_active.not_enable.app_error",
    "translation": "You cannot deactivate yourself because this feature is not enabled. Please contact your System Administrator."
  },
  {
    "id": "api.user.update_active.cannot_enable_guest_when_guest_feature_is_disabled.app_error",
    "translation": "You cannot activate a guest account because Guest Access feature is not enabled."
  },
  {
    "id": "api.user.send_verify_email_and_forget.failed.error",
    "translation": "Failed to send verification email successfully"
  },
  {
    "id": "api.user.send_sign_in_change_email_and_forget.error",
    "translation": "Failed to send update password email successfully"
  },
  {
    "id": "api.user.send_password_reset.sso.app_error",
    "translation": "Unable to reset password for SSO accounts."
  },
  {
    "id": "api.user.send_password_reset.send.app_error",
    "translation": "Failed to send password reset email successfully."
  },
  {
    "id": "api.user.send_email_change_verify_email_and_forget.error",
    "translation": "Failed to send email change verification email successfully"
  },
  {
    "id": "api.user.send_deactivate_email_and_forget.failed.error",
    "translation": "Failed to send the deactivate account email successfully"
  },
  {
    "id": "api.user.send_cloud_welcome_email.error",
    "translation": "Failed to send cloud welcome email"
  },
  {
    "id": "api.user.saml.not_available.app_error",
    "translation": "SAML 2.0 is not configured or supported on this server."
  },
  {
    "id": "api.user.reset_password.token_parse.error",
    "translation": "Unable to parse the reset password token"
  },
  {
    "id": "api.user.reset_password.sso.app_error",
    "translation": "Unable to reset password for SSO accounts."
  },
  {
    "id": "api.user.reset_password.method",
    "translation": "using a reset password link"
  },
  {
    "id": "api.user.reset_password.link_expired.app_error",
    "translation": "The password reset link has expired."
  },
  {
    "id": "api.user.reset_password.invalid_link.app_error",
    "translation": "The reset password link does not appear to be valid."
  },
  {
    "id": "api.user.reset_password.broken_token.app_error",
    "translation": "The reset password token does not appear to be valid."
  },
  {
    "id": "api.user.promote_guest_to_user.no_guest.app_error",
    "translation": "Unable to convert the guest to regular user because is not a guest."
  },
  {
    "id": "api.user.patch_user.login_provider_attribute_set.app_error",
    "translation": "Field '{{.Field}}' must be set through user's login provider."
  },
  {
    "id": "api.user.oauth_to_email.not_available.app_error",
    "translation": "Authentication Transfer not configured or available on this server."
  },
  {
    "id": "api.user.oauth_to_email.context.app_error",
    "translation": "Update password failed because context user_id did not match provided user's ID."
  },
  {
    "id": "api.user.login_ldap.not_available.app_error",
    "translation": "AD/LDAP not available on this server."
  },
  {
    "id": "api.user.login_cws.license.error",
    "translation": "CWS login is forbidden."
  },
  {
    "id": "api.user.login_by_oauth.parse.app_error",
    "translation": "Could not parse auth data out of {{.Service}} user object."
  },
  {
    "id": "api.user.login_by_oauth.not_available.app_error",
    "translation": "{{.Service}} SSO through OAuth 2.0 not available on this server."
  },
  {
    "id": "api.user.login_by_oauth.bot_login_forbidden.app_error",
    "translation": "Bot login is forbidden."
  },
  {
    "id": "api.user.login_by_cws.invalid_token.app_error",
    "translation": "CWS token is not valid"
  },
  {
    "id": "api.user.login.use_auth_service.app_error",
    "translation": "Please sign in using {{.AuthService}}."
  },
  {
    "id": "api.user.login.not_verified.app_error",
    "translation": "Login failed because email address has not been verified."
  },
  {
    "id": "api.user.login.invalid_credentials_username",
    "translation": "Enter a valid username and/or password."
  },
  {
    "id": "api.user.login.invalid_credentials_sso",
    "translation": "Enter a valid email or username and/or password, or sign in using another method."
  },
  {
    "id": "api.user.login.invalid_credentials_email_username",
    "translation": "Enter a valid email or username and/or password."
  },
  {
    "id": "api.user.login.invalid_credentials_email",
    "translation": "Enter a valid email and/or password"
  },
  {
    "id": "api.user.login.inactive.app_error",
    "translation": "Login failed because your account has been deactivated.  Please contact an administrator."
  },
  {
    "id": "api.user.login.guest_accounts.license.error",
    "translation": "Your licence does not support guest accounts"
  },
  {
    "id": "api.user.login.guest_accounts.disabled.error",
    "translation": "Guest accounts are disabled"
  },
  {
    "id": "api.user.login.client_side_cert.license.app_error",
    "translation": "Attempt to use the experimental feature ClientSideCertEnable without a valid enterprise licence."
  },
  {
    "id": "api.user.login.client_side_cert.certificate.app_error",
    "translation": "Attempted to sign in using the experimental feature ClientSideCert without providing a valid certificate."
  },
  {
    "id": "api.user.login.bot_login_forbidden.app_error",
    "translation": "Bot login is forbidden."
  },
  {
    "id": "api.user.login.blank_pwd.app_error",
    "translation": "Password field must not be blank"
  },
  {
    "id": "api.user.ldap_to_email.not_ldap_account.app_error",
    "translation": "This user account does not use AD/LDAP."
  },
  {
    "id": "api.user.ldap_to_email.not_available.app_error",
    "translation": "AD/LDAP not available on this server."
  },
  {
    "id": "api.user.get_user_by_email.permissions.app_error",
    "translation": "Unable to get user by email."
  },
  {
    "id": "api.user.get_uploads_for_user.forbidden.app_error",
    "translation": "Failed to get uploads."
  },
  {
    "id": "api.user.get_authorization_code.endpoint.app_error",
    "translation": "Error retrieving endpoint from Discovery Document."
  },
  {
    "id": "api.user.email_to_oauth.not_available.app_error",
    "translation": "Authentication Transfer not configured or available on this server."
  },
  {
    "id": "api.user.email_to_ldap.not_available.app_error",
    "translation": "AD/LDAP not available on this server."
  },
  {
    "id": "api.user.demote_user_to_guest.already_guest.app_error",
    "translation": "Unable to convert the user to guest because is already a guest."
  },
  {
    "id": "api.user.delete_user.not_enabled.app_error",
    "translation": "Permanent user deletion feature is not enabled. Please contact your System Administrator."
  },
  {
    "id": "api.user.delete_team.not_enabled.app_error",
    "translation": "Permanent team deletion feature is not enabled. Please contact your System Administrator."
  },
  {
    "id": "api.user.delete_channel.not_enabled.app_error",
    "translation": "Permanent channel deletion feature is not enabled. Please contact your System Administrator."
  },
  {
    "id": "api.user.create_user.signup_link_invalid.app_error",
    "translation": "The signup link does not appear to be valid."
  },
  {
    "id": "api.user.create_user.signup_link_expired.app_error",
    "translation": "The signup link has expired."
  },
  {
    "id": "api.user.create_user.signup_email_disabled.app_error",
    "translation": "User sign-up with email is disabled."
  },
  {
    "id": "api.user.create_user.no_open_server",
    "translation": "This server does not allow open signups.  Please speak with your Administrator to receive an invitation."
  },
  {
    "id": "api.user.create_user.invalid_invitation_type.app_error",
    "translation": "Unable to create the user, invalid invitation."
  },
  {
    "id": "api.user.create_user.guest_accounts.license.app_error",
    "translation": "Your licence does not support guest accounts."
  },
  {
    "id": "api.user.create_user.guest_accounts.disabled.app_error",
    "translation": "Guest accounts are disabled."
  },
  {
    "id": "api.user.create_user.disabled.app_error",
    "translation": "User creation is disabled."
  },
  {
    "id": "api.user.create_user.accepted_domain.app_error",
    "translation": "The email you provided does not belong to an accepted domain. Please contact your administrator or sign up with a different email."
  },
  {
    "id": "api.user.create_profile_image.initial.app_error",
    "translation": "Could not add user initial to default profile picture."
  },
  {
    "id": "api.user.create_profile_image.encode.app_error",
    "translation": "Could not encode default profile image."
  },
  {
    "id": "api.user.create_profile_image.default_font.app_error",
    "translation": "Could not create default profile image font."
  },
  {
    "id": "api.user.create_password_token.error",
    "translation": "Unable to create password recovery token"
  },
  {
    "id": "api.user.create_oauth_user.create.app_error",
    "translation": "Could not create user out of {{.Service}} user object."
  },
  {
    "id": "api.user.create_oauth_user.already_attached.app_error",
    "translation": "There is already an account associated with that email address using a sign in method other than {{.Service}}. Please sign in using {{.Auth}}."
  },
  {
    "id": "api.user.create_email_token.error",
    "translation": "Failed to create token data for email verification"
  },
  {
    "id": "api.user.complete_switch_with_oauth.parse.app_error",
    "translation": "Could not parse auth data out of {{.Service}} user object."
  },
  {
    "id": "api.user.complete_switch_with_oauth.blank_email.app_error",
    "translation": "Blank email."
  },
  {
    "id": "api.user.check_user_password.invalid.app_error",
    "translation": "Login failed because of invalid password."
  },
  {
    "id": "api.user.check_user_mfa.bad_code.app_error",
    "translation": "Invalid MFA token."
  },
  {
    "id": "api.user.check_user_login_attempts.too_many.app_error",
    "translation": "Your account is locked because of too many failed password attempts. Please reset your password."
  },
  {
    "id": "api.user.autocomplete_users.missing_team_id.app_error",
    "translation": "Team id parameter is required to autocomplete by channel."
  },
  {
    "id": "api.user.authorize_oauth_user.unsupported.app_error",
    "translation": "{{.Service}} SSO through OAuth 2.0 not available on this server."
  },
  {
    "id": "api.user.authorize_oauth_user.token_failed.app_error",
    "translation": "Token request failed."
  },
  {
    "id": "api.user.authorize_oauth_user.service.app_error",
    "translation": "Token request to {{.Service}} failed."
  },
  {
    "id": "api.user.authorize_oauth_user.response.app_error",
    "translation": "Received invalid response from OAuth service provider."
  },
  {
    "id": "api.user.authorize_oauth_user.missing.app_error",
    "translation": "Missing access token."
  },
  {
    "id": "api.user.authorize_oauth_user.invalid_state.app_error",
    "translation": "Invalid state"
  },
  {
    "id": "api.user.authorize_oauth_user.bad_token.app_error",
    "translation": "Bad token type."
  },
  {
    "id": "api.user.authorize_oauth_user.bad_response.app_error",
    "translation": "Bad response from token request."
  },
  {
    "id": "api.user.add_direct_channels_and_forget.failed.error",
    "translation": "Failed to add direct channel preferences for user user_id={{.UserId}}, team_id={{.TeamId}}, err={{.Error}}"
  },
  {
    "id": "api.user.activate_mfa.email_and_ldap_only.app_error",
    "translation": "MFA is not available for this account type."
  },
  {
    "id": "api.upload.upload_data.multipart_error",
    "translation": "Failed to process the multipart data."
  },
  {
    "id": "api.upload.upload_data.invalid_content_type",
    "translation": "Invalid Content-Type for multipart upload."
  },
  {
    "id": "api.upload.upload_data.invalid_content_length",
    "translation": "Invalid Content-Length."
  },
  {
    "id": "api.upload.get_upload.forbidden.app_error",
    "translation": "Failed to get upload."
  },
  {
    "id": "api.upgrade_to_enterprise_status.signature.app_error",
    "translation": "Mattermost was unable to upgrade to Enterprise Edition. The digital signature of the downloaded binary file could not be verified."
  },
  {
    "id": "api.upgrade_to_enterprise_status.app_error",
    "translation": "Mattermost was unable to upgrade to Enterprise Edition."
  },
  {
    "id": "api.upgrade_to_enterprise.system_not_supported.app_error",
    "translation": "Mattermost was unable to upgrade to Enterprise Edition. This feature will only work on Linux systems with x86-64 architecture."
  },
  {
    "id": "api.upgrade_to_enterprise.invalid-user.app_error",
    "translation": "Mattermost was unable to upgrade to Enterprise Edition. The Mattermost system user {{.MattermostUsername}} does not have write access to the necessary binary file. A system administrator can update the file permissions by executing the following command on the server where Mattermost is installed:\n\n```\nchown {{.MattermostUsername}} '{{.Path}}'\n```\n\nAfter changing the file permissions, try to upgrade Mattermost again. When you have upgraded and restarted, remember to restore the original binary file permissions:\n\n```\nchown {{.FileUsername}} '{{.Path}}'\n```"
  },
  {
    "id": "api.upgrade_to_enterprise.invalid-user-and-permission.app_error",
    "translation": "Mattermost was unable to upgrade to Enterprise Edition. The Mattermost system user {{.MattermostUsername}} does not have write access to the necessary binary file. A system administrator can update the file permissions by executing the following command on the server where Mattermost is installed:\n\n```\nchown {{.MattermostUsername}} '{{.Path}}'\nchmod +w '{{.Path}}'\n```\n\nAfter changing the file permissions, try to upgrade Mattermost again. When you have upgraded and restarted, remember to restore the original binary file permissions:\n\n```\nchown {{.FileUsername}} '{{.Path}}'\nchmod -w '{{.Path}}'\n```"
  },
  {
    "id": "api.file.list_directory.app_error",
    "translation": "Unable to list directory."
  },
  {
    "id": "api.file.get_public_link.no_post.app_error",
    "translation": "Unable to get public link for file. File must be attached to a post that can be read by the current user."
  },
  {
    "id": "api.file.get_public_link.disabled.app_error",
    "translation": "Public links have been disabled."
  },
  {
    "id": "api.file.get_file_thumbnail.no_thumbnail.app_error",
    "translation": "File doesn't have a thumbnail image."
  },
  {
    "id": "api.file.get_file_preview.no_preview.app_error",
    "translation": "File doesn't have a preview image."
  },
  {
    "id": "api.file.get_file.public_invalid.app_error",
    "translation": "The public link does not appear to be valid."
  },
  {
    "id": "api.file.file_size.app_error",
    "translation": "Unable to get the file size."
  },
  {
    "id": "api.file.file_reader.app_error",
    "translation": "Unable to get a file reader."
  },
  {
    "id": "api.file.file_mod_time.app_error",
    "translation": "Unable to get last modification time for file."
  },
  {
    "id": "api.file.file_exists.app_error",
    "translation": "Unable to check if the file exists."
  },
  {
    "id": "api.file.attachments.disabled.app_error",
    "translation": "File attachments have been disabled on this server."
  },
  {
    "id": "api.file.append_file.app_error",
    "translation": "Unable to append data to the file."
  },
  {
    "id": "api.export.export_not_found.app_error",
    "translation": "Unable to find export file."
  },
  {
    "id": "api.error_set_first_admin_visit_marketplace_status",
    "translation": "Error trying to save the first admin visit marketplace status in the store."
  },
  {
    "id": "api.error_get_first_admin_visit_marketplace_status",
    "translation": "Error trying to retrieve the first admin visit marketplace status from the store."
  },
  {
    "id": "api.emoji.upload.open.app_error",
    "translation": "Unable to create the emoji. An error occurred when trying to open the attached image."
  },
  {
    "id": "api.emoji.upload.large_image.too_large.app_error",
    "translation": "Unable to create emoji. Image must be smaller than {{.MaxWidth}} by {{.MaxHeight}}."
  },
  {
    "id": "api.emoji.upload.large_image.gif_encode_error",
    "translation": "Unable to create emoji. An error occurred when trying to encode the GIF image."
  },
  {
    "id": "api.emoji.upload.large_image.gif_decode_error",
    "translation": "Unable to create emoji. An error occurred when trying to decode the GIF image."
  },
  {
    "id": "api.emoji.upload.large_image.encode_error",
    "translation": "Unable to create emoji. An error occurred when trying to encode the image."
  },
  {
    "id": "api.emoji.upload.large_image.decode_error",
    "translation": "Unable to create emoji. An error occurred when trying to decode the image."
  },
  {
    "id": "api.emoji.upload.image.app_error",
    "translation": "Unable to create emoji. File must be a PNG, JPEG, or GIF."
  },
  {
    "id": "api.emoji.storage.app_error",
    "translation": "File storage not configured properly. Please configure for either S3 or local server file storage."
  },
  {
    "id": "api.emoji.get_image.read.app_error",
    "translation": "Unable to read image file for emoji."
  },
  {
    "id": "api.emoji.get_image.decode.app_error",
    "translation": "Unable to decode image file for emoji."
  },
  {
    "id": "api.emoji.disabled.app_error",
    "translation": "Custom emoji have been disabled by the system admin."
  },
  {
    "id": "api.emoji.create.too_large.app_error",
    "translation": "Unable to create emoji. Image must be less than 512 KiB in size."
  },
  {
    "id": "api.emoji.create.parse.app_error",
    "translation": "Unable to create emoji. Could not understand request."
  },
  {
    "id": "api.emoji.create.other_user.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "api.emoji.create.internal_error",
    "translation": "server_error: Encountered internal server error creating the emoji."
  },
  {
    "id": "api.emoji.create.duplicate.app_error",
    "translation": "Unable to create emoji. Another emoji with the same name already exists."
  },
  {
    "id": "api.email_batching.send_batched_email_notification.title",
    "translation": {
      "one": "You have new messages",
      "other": "You have new messages"
    }
  },
  {
    "id": "api.email_batching.send_batched_email_notification.time",
    "translation": "{{.Hour}}:{{.Minute}} {{.TimeZone}}"
  },
  {
    "id": "api.email_batching.send_batched_email_notification.subject",
    "translation": {
      "one": "[{{.SiteName}}] New Notification for {{.Month}} {{.Day}}, {{.Year}}",
      "other": "[{{.SiteName}}] New Notifications for {{.Month}} {{.Day}}, {{.Year}}"
    }
  },
  {
    "id": "api.email_batching.send_batched_email_notification.subTitle",
    "translation": "See below for a summary of your new messages."
  },
  {
    "id": "api.email_batching.send_batched_email_notification.messageButton",
    "translation": "View this message"
  },
  {
    "id": "api.email_batching.send_batched_email_notification.button",
    "translation": "Open Mattermost"
  },
  {
    "id": "api.email_batching.add_notification_email_to_batch.disabled.app_error",
    "translation": "Email batching has been disabled by the system administrator."
  },
  {
    "id": "api.email_batching.add_notification_email_to_batch.channel_full.app_error",
    "translation": "Email batching job's receiving channel was full. Please increase the EmailBatchingBufferSize."
  },
  {
    "id": "api.email.send_warn_metric_ack.missing_server.app_error",
    "translation": "SMTP Server is required"
  },
  {
    "id": "api.email.send_warn_metric_ack.invalid_warn_metric.app_error",
    "translation": "Could not find warn metric."
  },
  {
    "id": "api.email.send_warn_metric_ack.failure.app_error",
    "translation": "Failure to send admin acknowledgment email"
  },
  {
    "id": "api.custom_status.recent_custom_statuses.delete.app_error",
    "translation": "Failed to delete the recent status. Please try adding the status first or contact your system administrator for details."
  },
  {
    "id": "api.custom_status.disabled",
    "translation": "Custom status feature has been disabled. Please contact your system administrator for details."
  },
  {
    "id": "api.create_terms_of_service.empty_text.app_error",
    "translation": "Please enter text for your Custom Terms of Service."
  },
  {
    "id": "api.create_terms_of_service.custom_terms_of_service_disabled.app_error",
    "translation": "Custom terms of service feature is disabled."
  },
  {
    "id": "api.context.token_provided.app_error",
    "translation": "Session is not OAuth but token was provided in the query string."
  },
  {
    "id": "api.context.session_expired.app_error",
    "translation": "Invalid or expired session, please login again."
  },
  {
    "id": "api.context.server_busy.app_error",
    "translation": "Server is busy, non-critical services are temporarily unavailable."
  },
  {
    "id": "api.context.remote_id_missing.app_error",
    "translation": "Secure connection ID missing."
  },
  {
    "id": "api.context.remote_id_mismatch.app_error",
    "translation": "Secure connection ID mismatch."
  },
  {
    "id": "api.context.remote_id_invalid.app_error",
    "translation": "Unable to find secure connection ID {{.RemoteId}}."
  },
  {
    "id": "api.context.permissions.app_error",
    "translation": "You do not have the appropriate permissions."
  },
  {
    "id": "api.context.mfa_required.app_error",
    "translation": "Multi-factor authentication is required on this server."
  },
  {
    "id": "api.context.local_origin_required.app_error",
    "translation": "This endpoint requires a local request origin."
  },
  {
    "id": "api.context.json_encoding.app_error",
    "translation": "Error encoding JSON."
  },
  {
    "id": "api.context.invitation_expired.error",
    "translation": "Invitation is expired."
  },
  {
    "id": "api.context.invalid_url_param.app_error",
    "translation": "Invalid or missing {{.Name}} parameter in request URL."
  },
  {
    "id": "api.context.invalid_token.error",
    "translation": "Invalid session token={{.Token}}, err={{.Error}}"
  },
  {
    "id": "api.context.invalid_param.app_error",
    "translation": "Invalid {{.Name}} parameter."
  },
  {
    "id": "api.context.invalid_body_param.app_error",
    "translation": "Invalid or missing {{.Name}} in request body."
  },
  {
    "id": "api.context.get_user.app_error",
    "translation": "Unable to get user from session UserID."
  },
  {
    "id": "api.context.404.app_error",
    "translation": "Page not found."
  },
  {
    "id": "api.config.update_config.restricted_merge.app_error",
    "translation": "Failed to merge given config."
  },
  {
    "id": "api.config.update_config.not_allowed_security.app_error",
    "translation": "Changing {{.Name}} is not allowed due to security reasons."
  },
  {
    "id": "api.config.update_config.diff.app_error",
    "translation": "Failed to diff configs"
  },
  {
    "id": "api.config.update_config.clear_siteurl.app_error",
    "translation": "Site URL cannot be cleared."
  },
  {
    "id": "api.config.patch_config.restricted_merge.app_error",
    "translation": "Failed to merge given config."
  },
  {
    "id": "api.config.patch_config.diff.app_error",
    "translation": "Failed to diff configs"
  },
  {
    "id": "api.config.migrate_config.app_error",
    "translation": "Failed to migrate config store."
  },
  {
    "id": "api.config.get_config.restricted_merge.app_error",
    "translation": "Failed to merge given config."
  },
  {
    "id": "api.config.client.old_format.app_error",
    "translation": "New format for the client configuration is not supported yet. Please specify format=old in the query string."
  },
  {
    "id": "api.command_shrug.name",
    "translation": "shrug"
  },
  {
    "id": "api.command_shrug.hint",
    "translation": "[message]"
  },
  {
    "id": "api.command_shrug.desc",
    "translation": "Adds ¯\\_(ツ)_/¯ to your message"
  },
  {
    "id": "api.command_shortcuts.unsupported.app_error",
    "translation": "The shortcuts command is not supported on your device."
  },
  {
    "id": "api.command_shortcuts.name",
    "translation": "shortcuts"
  },
  {
    "id": "api.command_shortcuts.desc",
    "translation": "Displays a list of keyboard shortcuts"
  },
  {
    "id": "api.command_share.unshare_channel.help",
    "translation": "Unshares the current channel"
  },
  {
    "id": "api.command_share.unknown_action",
    "translation": "Unknown action `{{.Action}}`. Available actions: {{.Actions}}"
  },
  {
    "id": "api.command_share.uninvite_remote_id.help",
    "translation": "ID of secure connection to uninvite."
  },
  {
    "id": "api.command_share.uninvite_remote.help",
    "translation": "Uninvites a secure connection from this shared channel"
  },
  {
    "id": "api.command_share.shared_channel_unshare.error",
    "translation": "Cannot unshare this channel: {{.Error}}."
  },
  {
    "id": "api.command_share.shared_channel_unavailable",
    "translation": "This channel is no longer shared."
  },
  {
    "id": "api.command_share.share_read_only.hint",
    "translation": "[readonly] - 'Y' or 'N'.  Defaults to 'N'"
  },
  {
    "id": "api.command_share.share_read_only.help",
    "translation": "Channel will be shared in read-only mode"
  },
  {
    "id": "api.command_share.share_channel.error",
    "translation": "Cannot share this channel: {{.Error}}"
  },
  {
    "id": "api.command_share.service_disabled",
    "translation": "Shared Channels Service is disabled."
  },
  {
    "id": "api.command_share.remote_uninvited",
    "translation": "Secure connection `{{.RemoteId}}` uninvited."
  },
  {
    "id": "api.command_share.remote_table_header",
    "translation": "| Secure connection | Site URL | Read Only | Invite accepted | Online | Last Sync |"
  },
  {
    "id": "api.command_share.remote_not_valid",
    "translation": "You must specify a valid secure connection ID to uninvite"
  },
  {
    "id": "api.command_share.remote_id_invalid.error",
    "translation": "Secure connection ID is invalid: {{.Error}}"
  },
  {
    "id": "api.command_share.remote_id.help",
    "translation": "ID of an existing secure connection. See `secure-connection` command to add a secure connection."
  },
  {
    "id": "api.command_share.remote_already_invited",
    "translation": "The secure connection has already been invited."
  },
  {
    "id": "api.command_share.permission_required",
    "translation": "You require `{{.Permission}}` permission to manage shared channels."
  },
  {
    "id": "api.command_share.not_shared_channel_unshare",
    "translation": "Cannot unshare a channel that is not shared."
  },
  {
    "id": "api.command_share.no_remote_invited",
    "translation": "No secure connections have been invited to this channel."
  },
  {
    "id": "api.command_share.name",
    "translation": "share-channel"
  },
  {
    "id": "api.command_share.must_specify_valid_remote",
    "translation": "You must specify a valid secure connection ID to invite."
  },
  {
    "id": "api.command_share.missing_action",
    "translation": "Missing action. Available actions: {{.Actions}}"
  },
  {
    "id": "api.command_share.invite_remote.help",
    "translation": "Invites an external Mattermost instance to the current shared channel"
  },
  {
    "id": "api.command_share.invitation_sent",
    "translation": "Shared channel invitation has been sent to `{{.Name}} {{.SiteURL}}`."
  },
  {
    "id": "api.command_share.invalid_value.error",
    "translation": "Invalid value for '{{.Arg}}': {{.Error}}"
  },
  {
    "id": "api.command_share.hint",
    "translation": "[action]"
  },
  {
    "id": "api.command_share.fetch_remote_status.error",
    "translation": "Could not fetch status for secure connections: {{.Error}}."
  },
  {
    "id": "api.command_share.fetch_remote.error",
    "translation": "Error fetching secure connections: {{.Error}}"
  },
  {
    "id": "api.command_share.desc",
    "translation": "Shares the current channel with an external Mattermost instance."
  },
  {
    "id": "api.command_share.could_not_uninvite.error",
    "translation": "Could not uninvite `{{.RemoteId}}`: {{.Error}}"
  },
  {
    "id": "api.command_share.check_channel_exist.error",
    "translation": "Error while checking if shared channel exists: {{.Error}}"
  },
  {
    "id": "api.command_share.channel_status_id",
    "translation": "Status for channel ID `{{.ChannelId}}`"
  },
  {
    "id": "api.command_share.channel_status.help",
    "translation": "Displays status for this shared channel"
  },
  {
    "id": "api.command_share.channel_shared",
    "translation": "This channel is now shared."
  },
  {
    "id": "api.command_share.channel_remote_id_not_exists",
    "translation": "Shared channel secure connection `{{.RemoteId}}` does not exist for this channel."
  },
  {
    "id": "api.command_share.channel_invite_not_home.error",
    "translation": "Cannot invite secure connection to a shared channel originating somewhere else."
  },
  {
    "id": "api.command_share.channel_invite.error",
    "translation": "Error inviting `{{.Name}}` to this channel: {{.Error}}"
  },
  {
    "id": "api.command_share.available_actions",
    "translation": "Available actions: {{.Actions}}"
  },
  {
    "id": "api.command_remote.invitation.help",
    "translation": "Invitation from secure connection"
  },
  {
    "id": "api.command_remote.incorrect_password.error",
    "translation": "Could not decrypt invitation. Incorrect password or corrupt invitation: {{.Error}}"
  },
  {
    "id": "api.command_remote.hint",
    "translation": "[action]"
  },
  {
    "id": "api.command_remote.fetch_status.error",
    "translation": "Could not fetch secure connections: {{.Error}}"
  },
  {
    "id": "api.command_remote.encrypt_invitation.error",
    "translation": "Could not encrypt invitation: {{.Error}}"
  },
  {
    "id": "api.command_remote.displayname.hint",
    "translation": "A display name for the secure connection"
  },
  {
    "id": "api.command_remote.displayname.help",
    "translation": "Secure connection display name"
  },
  {
    "id": "api.command_remote.desc",
    "translation": "Invite secure connections for communication across Mattermost instances."
  },
  {
    "id": "api.command_remote.decode_invitation.error",
    "translation": "Could not decode invitation: {{.Error}}"
  },
  {
    "id": "api.command_remote.cluster_removed",
    "translation": "Secure connection {{.RemoteId}} {{.Result}}."
  },
  {
    "id": "api.command_remote.add_remote.error",
    "translation": "Could not add secure connection: {{.Error}}"
  },
  {
    "id": "api.command_remote.accept_invitation.error",
    "translation": "Could not accept invitation: {{.Error}}"
  },
  {
    "id": "api.command_remote.accept_invitation",
    "translation": "Invitation accepted and confirmed.\nSiteURL: {{.SiteURL}}"
  },
  {
    "id": "api.command_remote.accept.help",
    "translation": "Accept an invitation from an external Mattermost instance"
  },
  {
    "id": "api.command_open.name",
    "translation": "open"
  },
  {
    "id": "api.command_online.success",
    "translation": "You are now online"
  },
  {
    "id": "api.command_online.name",
    "translation": "online"
  },
  {
    "id": "api.command_online.desc",
    "translation": "Set your status online"
  },
  {
    "id": "api.command_offline.success",
    "translation": "You are now offline"
  },
  {
    "id": "api.command_offline.name",
    "translation": "offline"
  },
  {
    "id": "api.command_offline.desc",
    "translation": "Set your status offline"
  },
  {
    "id": "api.command_mute.success_unmute_direct_msg",
    "translation": "This channel is no longer muted."
  },
  {
    "id": "api.command_mute.success_unmute",
    "translation": "{{.Channel}} is no longer muted."
  },
  {
    "id": "api.command_mute.success_mute_direct_msg",
    "translation": "You will not receive notifications for this channel until channel mute is turned off."
  },
  {
    "id": "api.command_mute.success_mute",
    "translation": "You will not receive notifications for {{.Channel}} until channel mute is turned off."
  },
  {
    "id": "api.command_mute.not_member.error",
    "translation": "Could not mute channel {{.Channel}} as you are not a member."
  },
  {
    "id": "api.command_mute.no_channel.error",
    "translation": "Could not find the specified channel. Please use the [channel handle](https://docs.mattermost.com/messaging/managing-channels.html#naming-a-channel) to identify channels."
  },
  {
    "id": "api.command_mute.name",
    "translation": "mute"
  },
  {
    "id": "api.command_mute.hint",
    "translation": "~[channel]"
  },
  {
    "id": "api.command_mute.error",
    "translation": "Could not find the channel {{.Channel}}. Please use the [channel handle](https://docs.mattermost.com/messaging/managing-channels.html#naming-a-channel) to identify channels."
  },
  {
    "id": "api.command_mute.desc",
    "translation": "Turns off desktop, email and push notifications for the current channel or the [channel] specified."
  },
  {
    "id": "api.command_msg.permission.app_error",
    "translation": "You don't have the appropriate permissions to direct message this user."
  },
  {
    "id": "api.command_msg.name",
    "translation": "message"
  },
  {
    "id": "api.command_msg.missing.app_error",
    "translation": "Unable to find the user."
  },
  {
    "id": "api.command_msg.hint",
    "translation": "@[username] 'message'"
  },
  {
    "id": "api.command_msg.fail.app_error",
    "translation": "An error occurred while messaging the user."
  },
  {
    "id": "api.command_msg.dm_fail.app_error",
    "translation": "An error occurred while creating the direct message."
  },
  {
    "id": "api.command_msg.desc",
    "translation": "Send Direct Message to a user"
  },
  {
    "id": "api.command_me.name",
    "translation": "me"
  },
  {
    "id": "api.command_me.hint",
    "translation": "[message]"
  },
  {
    "id": "api.command_me.desc",
    "translation": "Do an action"
  },
  {
    "id": "api.command_logout.name",
    "translation": "logout"
  },
  {
    "id": "api.command_logout.desc",
    "translation": "Logout of Mattermost"
  },
  {
    "id": "api.command_leave.name",
    "translation": "leave"
  },
  {
    "id": "api.command_leave.fail.app_error",
    "translation": "An error occurred while leaving the channel."
  },
  {
    "id": "api.command_leave.desc",
    "translation": "Leave the current channel"
  },
  {
    "id": "api.command_kick.name",
    "translation": "kick"
  },
  {
    "id": "api.command_join.name",
    "translation": "join"
  },
  {
    "id": "api.command_join.missing.app_error",
    "translation": "Unable to find the channel."
  },
  {
    "id": "api.command_join.list.app_error",
    "translation": "An error occurred while listing channels."
  },
  {
    "id": "api.command_join.hint",
    "translation": "~[channel]"
  },
  {
    "id": "api.command_join.fail.app_error",
    "translation": "An error occurred while joining the channel."
  },
  {
    "id": "api.command_join.desc",
    "translation": "Join the open channel"
  },
  {
    "id": "api.command_invite_people.permission.app_error",
    "translation": "You don't have permission to invite new users to this server."
  },
  {
    "id": "api.command_invite.user_not_in_team.app_error",
    "translation": "@{{.Username}} is not a member of the team."
  },
  {
    "id": "api.command_invite.user_already_in_channel.app_error",
    "translation": "{{.User}} is already in the channel."
  },
  {
    "id": "api.command_invite.success",
    "translation": "{{.User}} added to {{.Channel}} channel."
  },
  {
    "id": "api.command_invite.private_channel.app_error",
    "translation": "Could not find the channel {{.Channel}}. Please use the [channel handle](https://docs.mattermost.com/messaging/managing-channels.html#naming-a-channel) to identify channels."
  },
  {
    "id": "api.command_invite.permission.app_error",
    "translation": "You don't have enough permissions to add {{.User}} in {{.Channel}}."
  },
  {
    "id": "api.command_invite.name",
    "translation": "invite"
  },
  {
    "id": "api.command_invite.missing_user.app_error",
    "translation": "Couldn't find a matching user {{.User}}. They may have been deactivated by the System Administrator."
  },
  {
    "id": "api.command_invite.missing_message.app_error",
    "translation": "Missing Username and/or Channel."
  },
  {
    "id": "api.command_invite.hint",
    "translation": "@[username]... ~[channel]..."
  },
  {
    "id": "api.command_invite.group_constrained_user_denied",
    "translation": "This channel is managed by groups.  This user is not part of a group that is synced to this channel."
  },
  {
    "id": "api.command_invite.fail.app_error",
    "translation": "An error occurred while joining the channel."
  },
  {
    "id": "api.command_invite.directchannel.app_error",
    "translation": "You can't add someone to a direct message channel."
  },
  {
    "id": "api.command_invite.desc",
    "translation": "Invite a user to a channel"
  },
  {
    "id": "api.command_invite.channel.error",
    "translation": "Could not find the channel {{.Channel}}. Please use the [channel handle](https://docs.mattermost.com/messaging/managing-channels.html#naming-a-channel) to identify channels."
  },
  {
    "id": "api.command_invite.channel.app_error",
    "translation": "Error to retrieve the current channel."
  },
  {
    "id": "api.command_help.name",
    "translation": "help"
  },
  {
    "id": "api.command_help.desc",
    "translation": "Show Mattermost help message"
  },
  {
    "id": "api.command_groupmsg.permission.app_error",
    "translation": "You don't have the appropriate permissions to create a new group message."
  },
  {
    "id": "api.command_groupmsg.name",
    "translation": "message"
  },
  {
    "id": "api.command_groupmsg.min_users.app_error",
    "translation": "Group messages are limited to a minimum of {{.MinUsers}} users."
  },
  {
    "id": "api.command_groupmsg.max_users.app_error",
    "translation": "Group messages are limited to a maximum of {{.MaxUsers}} users."
  },
  {
    "id": "api.command_groupmsg.invalid_user.app_error",
    "translation": {
      "one": "Unable to find the user: {{.Users}}",
      "other": "Unable to find the users: {{.Users}}"
    }
  },
  {
    "id": "api.command_groupmsg.hint",
    "translation": "@[username1],@[username2] 'message'"
  },
  {
    "id": "api.command_groupmsg.group_fail.app_error",
    "translation": "An error occurred while creating the group message."
  },
  {
    "id": "api.command_groupmsg.fail.app_error",
    "translation": "An error occurred while messaging the users."
  },
  {
    "id": "api.command_groupmsg.desc",
    "translation": "Sends a Group Message to the specified users"
  },
  {
    "id": "api.command_expand_collapse.fail.app_error",
    "translation": "An error occurred while expanding previews."
  },
  {
    "id": "api.command_expand.success",
    "translation": "Image links now expand by default"
  },
  {
    "id": "api.command_expand.name",
    "translation": "expand"
  },
  {
    "id": "api.command_expand.desc",
    "translation": "Turn off auto-collapsing of image previews"
  },
  {
    "id": "api.command_echo.name",
    "translation": "echo"
  },
  {
    "id": "api.command_echo.message.app_error",
    "translation": "A message must be provided with the /echo command."
  },
  {
    "id": "api.command_echo.hint",
    "translation": "'message' [delay in seconds]"
  },
  {
    "id": "api.command_echo.high_volume.app_error",
    "translation": "High volume of echo request, cannot process request."
  },
  {
    "id": "api.command_echo.desc",
    "translation": "Echo back text from your account"
  },
  {
    "id": "api.command_echo.delay.app_error",
    "translation": "Delays must be under 10000 seconds."
  },
  {
    "id": "api.command_dnd.success",
    "translation": "Do Not Disturb is enabled. You will not receive desktop or mobile push notifications until Do Not Disturb is turned off."
  },
  {
    "id": "api.command_dnd.name",
    "translation": "dnd"
  },
  {
    "id": "api.command_dnd.desc",
    "translation": "Do not disturb disables desktop and mobile push notifications."
  },
  {
    "id": "api.command_custom_status.success",
    "translation": "Your status is set to '{{.EmojiName}} {{.StatusMessage}}'. You can change your status from the status popover in the channel sidebar header."
  },
  {
    "id": "api.command_custom_status.name",
    "translation": "status"
  },
  {
    "id": "api.command_custom_status.hint",
    "translation": "[:emoji_name:] [status_message] or clear"
  },
  {
    "id": "api.command_custom_status.desc",
    "translation": "Set or clear your status"
  },
  {
    "id": "api.command_custom_status.clear.success",
    "translation": "Your status was cleared."
  },
  {
    "id": "api.command_custom_status.clear.app_error",
    "translation": "Error clearing the status."
  },
  {
    "id": "api.command_custom_status.app_error",
    "translation": "Error setting the status."
  },
  {
    "id": "api.team.get_all_teams.insufficient_permissions",
    "translation": "You don't have the appropriate permissions to list all teams"
  },
  {
    "id": "api.team.demote_user_to_guest.license.error",
    "translation": "Your licence does not support guest accounts"
  },
  {
    "id": "api.team.demote_user_to_guest.disabled.error",
    "translation": "Guest accounts are disabled."
  },
  {
    "id": "api.team.add_user_to_team_from_invite.guest.app_error",
    "translation": "Guests are restricted from joining a team via an invite link. Please request a guest email invitation to the team."
  },
  {
    "id": "api.team.add_user_to_team.missing_parameter.app_error",
    "translation": "Parameter required to add user to team."
  },
  {
    "id": "api.team.add_user_to_team.added",
    "translation": "%v added to the team by %v."
  },
  {
    "id": "api.team.add_team_member.invalid_body.app_error",
    "translation": "Unable to parse the request body."
  },
  {
    "id": "api.team.add_members.user_denied",
    "translation": "This team is managed by groups.  This user is not part of a group that is synced to this team."
  },
  {
    "id": "api.team.add_members.error",
    "translation": "Error adding team member(s)."
  },
  {
    "id": "api.system.update_viewed_notices.failed",
    "translation": "Updating viewed notices failed"
  },
  {
    "id": "api.system.update_notices.validating_failed",
    "translation": "Validating product notice conditions failed"
  },
  {
    "id": "api.system.update_notices.parse_failed",
    "translation": "Parsing product notices failed"
  },
  {
    "id": "api.system.update_notices.fetch_failed",
    "translation": "Fetching product notices failed"
  },
  {
    "id": "api.system.update_notices.clear_failed",
    "translation": "Clearing old product notices failed"
  },
  {
    "id": "api.system.id_loaded.not_available.app_error",
    "translation": "ID Loaded Push Notifications are not configured or supported on this server."
  },
  {
    "id": "api.status.user_not_found.app_error",
    "translation": "User not found."
  },
  {
    "id": "api.slackimport.slack_import.zip.file_too_large",
    "translation": "{{.Filename}} in zip archive too large to process for Slack import\n"
  },
  {
    "id": "api.slackimport.slack_import.zip.app_error",
    "translation": "Unable to open the Slack export zip file.\n"
  },
  {
    "id": "api.slackimport.slack_import.team_fail",
    "translation": "Unable to get the team to import into.\n"
  },
  {
    "id": "api.slackimport.slack_import.open.app_error",
    "translation": "Unable to open the file: {{.Filename}}.\n"
  },
  {
    "id": "api.slackimport.slack_import.notes",
    "translation": "\nNotes:\n"
  },
  {
    "id": "api.slackimport.slack_import.note3",
    "translation": "- Additional errors may be found in the server logs.\n"
  },
  {
    "id": "api.slackimport.slack_import.note2",
    "translation": "- Slack bot messages are currently not supported.\n"
  },
  {
    "id": "api.slackimport.slack_import.note1",
    "translation": "- Some messages may not have been imported because they were not supported by this importer.\n"
  },
  {
    "id": "api.slackimport.slack_import.log",
    "translation": "Mattermost Slack Import Log\n"
  },
  {
    "id": "api.slackimport.slack_add_users.unable_import",
    "translation": "Unable to import Slack user: {{.Username}}.\n"
  },
  {
    "id": "api.slackimport.slack_add_users.missing_email_address",
    "translation": "User {{.Username}} does not have an email address in the Slack export. Used {{.Email}} as a placeholder. The user should update their email address once logged in to the system.\n"
  },
  {
    "id": "api.slackimport.slack_add_users.merge_existing_failed",
    "translation": "Slack user merged with an existing Mattermost user with matching email {{.Email}} and username {{.Username}}, but was unable to add the user to their team.\n"
  },
  {
    "id": "api.slackimport.slack_add_users.merge_existing",
    "translation": "Slack user merged with an existing Mattermost user with matching email {{.Email}} and username {{.Username}}.\n"
  },
  {
    "id": "api.slackimport.slack_add_users.email_pwd",
    "translation": "Slack user with email {{.Email}} and password {{.Password}} has been imported.\n"
  },
  {
    "id": "api.slackimport.slack_add_users.created",
    "translation": "\nUsers created:\n"
  },
  {
    "id": "api.slackimport.slack_add_channels.merge",
    "translation": "The Slack channel {{.DisplayName}} already exists as an active Mattermost channel. Both channels have been merged.\n"
  },
  {
    "id": "api.slackimport.slack_add_channels.import_failed",
    "translation": "Unable to import Slack channel {{.DisplayName}}.\n"
  },
  {
    "id": "api.slackimport.slack_add_channels.failed_to_add_user",
    "translation": "Unable to add Slack user {{.Username}} to channel.\n"
  },
  {
    "id": "api.slackimport.slack_add_channels.added",
    "translation": "\nChannels added:\n"
  },
  {
    "id": "api.slackimport.slack_add_bot_user.unable_import",
    "translation": "Unable to import the Integration/Slack Bot user {{.Username}}.\n"
  },
  {
    "id": "api.slackimport.slack_add_bot_user.email_pwd",
    "translation": "The Integration/Slack Bot user with email {{.Email}} and password {{.Password}} has been imported.\n"
  },
  {
    "id": "api.server.warn_metric.number_of_teams_5.start_trial_notification_success.message",
    "translation": "Your Enterprise trial is now active. Go to **System Console > User Management > Permissions** to enable Advanced Permissions."
  },
  {
    "id": "api.server.warn_metric.number_of_teams_5.start_trial.notification_body",
    "translation": "Your Mattermost system now has several teams. Many teams have their own preferred way of coordinating and collaborating, including how channels are created, who can invite new teammates, and how integrations are managed. Team Override Schemes allow you to customise user permissions within each team to meet their specific needs.\n\n[Learn more about using Advanced Permissions](https://www.mattermost.com/docs-advanced-permissions-team-override/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=advanced-permissions-team-override)\n\nBy clicking Start trial, I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.number_of_teams_5.notification_title",
    "translation": "Using Advanced Permissions"
  },
  {
    "id": "api.server.warn_metric.number_of_teams_5.notification_body",
    "translation": "Your Mattermost system now has several teams. Many teams have their own preferred way of coordinating and collaborating, including how channels are created, who can invite new teammates, and how integrations are managed. Team Override Schemes allow you to customise user permissions within each team to meet their specific needs.\n\n[Learn more about using Advanced Permissions](https://www.mattermost.com/docs-advanced-permissions-team-override/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=advanced-permissions-team-override).\n\nBy clicking Contact Us, you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.number_of_teams_5.contact_us.email_body",
    "translation": "Mattermost contact us request. I'm interested in learning more about Advanced Permissions with Team Schemes.\n"
  },
  {
    "id": "api.server.warn_metric.number_of_posts_2M.start_trial.notification_success.message",
    "translation": "Your Enterprise trial is now active. Once you have an Elasticsearch server, go to **System Console > Environment > Elasticsearch** to configure Elasticsearch."
  },
  {
    "id": "api.server.warn_metric.number_of_posts_2M.start_trial.notification_body",
    "translation": "Your Mattermost system has a large number of messages. The default Mattermost database search starts to show performance degradation at around 2.5 million posts. With over 5 million posts, Elasticsearch can help avoid significant performance issues, such as timeouts, with search and at-mentions. Contact us to learn more and let us know how we can help.\n\n[Learn more about improving performance](https://www.mattermost.com/docs-elasticsearch/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=elasticsearch)\n\nBy clicking 'Start Trial', I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.number_of_posts_2M.notification_title",
    "translation": "Improving Performance"
  },
  {
    "id": "api.server.warn_metric.number_of_posts_2M.notification_body",
    "translation": "Your Mattermost system has a large number of messages. The default Mattermost database search starts to show performance degradation at around 2.5 million posts. With over 5 million posts, Elasticsearch can help avoid significant performance issues, such as timeouts, with search and at-mentions. Contact us to learn more and let us know how we can help.\n\n[Learn more about improving performance](https://www.mattermost.com/docs-elasticsearch/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=elasticsearch)\n\nBy clicking 'Contact Us', you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.number_of_posts_2M.contact_us.email_body",
    "translation": "Mattermost contact us request. I'm interested in learning more about improving performance with Elasticsearch.\n"
  },
  {
    "id": "api.server.warn_metric.number_of_channels_50.start_trial.notification_success.message",
    "translation": "Your Enterprise trial is now active. Go to **System Console > User Management > Permissions** to enable Advanced Permissions."
  },
  {
    "id": "api.server.warn_metric.number_of_channels_50.start_trial.notification_body",
    "translation": "Channels help improve communication, but with users across Mattermost joining and creating channels, the challenge of keeping the system organised increases. Advanced Permissions enable you to set which users or roles can perform certain actions, including managing channel settings and members, using @channel or @here to tag broad groups of users, and creating new webhooks.\n\n[Learn more about using Advanced Permissions](https://www.mattermost.com/docs-advanced-permissions/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=advanced-permissions)\n\nBy clicking 'Start Trial', I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.number_of_channels_50.notification_title",
    "translation": "Using Advanced Permissions"
  },
  {
    "id": "api.server.warn_metric.number_of_channels_50.notification_body",
    "translation": "Channels help improve communication, but with users across Mattermost joining and creating channels, the challenge of keeping the system organised increases. Advanced Permissions enable you to set which users or roles can perform certain actions, including managing channel settings and members, using @channel or @here to tag broad groups of users, and creating new webhooks.\n\n[Learn more about using Advanced Permissions](https://www.mattermost.com/docs-advanced-permissions/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=advanced-permissions)\n\nBy clicking 'Contact Us', you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.number_of_channels_50.contact_us.email_body",
    "translation": "Mattermost contact us request. I'm interested in learning more about using Advanced Permissions with System Schemes.\n"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_500.start_trial.notification_success.message",
    "translation": "Your Enterprise trial is now active. Go to the System Console to enable advanced features."
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_500.start_trial.notification_body",
    "translation": "Mattermost strongly recommends that deployments of over 500 users take advantage of features such as user management, server clustering and performance monitoring. Contact us to learn more and let us know how we can help.\n\nBy clicking 'Start Trial', I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_500.notification_title",
    "translation": "Scaling with Mattermost"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_500.notification_body",
    "translation": "Mattermost strongly recommends that deployments of over 500 users take advantage of features such as user management, server clustering and performance monitoring. Contact us to learn more and let us know how we can help.\n\nBy clicking 'Contact Us', you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_500.contact_us.email_body",
    "translation": "Mattermost contact us request. My team now has 500 users, and I'm considering Mattermost Enterprise Edition.\n"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_300.start_trial.notification_title",
    "translation": "Read-Only Announcement Channels"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_300.start_trial.notification_success.message",
    "translation": "Your Enterprise trial is now active. Create a channel and go to **System Console > User Management > Channels** to limit posting to channel admins."
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_300.start_trial.notification_body",
    "translation": "With so much conversation happening across Mattermost, it can be challenging to know where to look for important information. If you want to broadcast a message to a large audience, you can set up read-only Announcement Channels where anyone can join but only channel admins can post messages.\n\n[Learn more about creating read-only Announcement Channels](https://www.mattermost.com/docs-channel-moderation/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=channel-moderation)\n\nBy clicking Start trial, I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_300.notification_body",
    "translation": "With so much conversation happening across Mattermost, it can be challenging to know where to look for important information. If you want to broadcast a message to a large audience, you can set up read-only Announcement Channels where anyone can join but only channel admins can post messages.\n\n[Learn more about creating read-only Announcement Channels](https://www.mattermost.com/docs-channel-moderation/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=channel-moderation)\n\nBy clicking Contact Us, you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_300.contact_us.email_body",
    "translation": "Mattermost contact us request. I'm interested in learning more about creating read-only Announcement Channels.\n"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_200.start_trial.notification_success.message",
    "translation": "Your Enterprise trial is now active. Go to **System Console > Authentication > SAML 2.0** to integrate with your SAML 2.0 provider."
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_200.start_trial.notification_body",
    "translation": "Your Mattermost system now has 200 users. When you connect Mattermost with your organisation's single sign-on provider, users can access Mattermost without having to re-enter their credentials. We recommend you integrate your SAML 2.0 provider with your Mattermost server.[Learn more about integrating with SAML 2.0](https://www.mattermost.com/docs-saml/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=saml)\n\nBy clicking 'Start Trial', I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_200.notification_title",
    "translation": "Scaling with Mattermost"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_200.notification_body",
    "translation": "Your Mattermost system now has 200 users. When you connect Mattermost with your organisation's single sign-on provider, users can access Mattermost without having to re-enter their credentials. We recommend you integrate your SAML 2.0 provider with your Mattermost server.[Learn more about integrating with SAML 2.0](https://www.mattermost.com/docs-saml/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=saml).\n\nBy clicking 'Contact Us', you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_200.contact_us.email_body",
    "translation": "Mattermost contact us request. My team now has 200 users, and I'm considering Mattermost Enterprise Edition.\n"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_100.start_trial.notification_success.message",
    "translation": "Your Enterprise trial is now active. Go to **System Console > Authentication > AD/LDAP** to integrate your AD/LDAP service."
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_100.start_trial.notification_body",
    "translation": "Your Mattermost system has over 100 users. As your user base grows, provisioning new accounts can become time-consuming. We recommend that you integrate your organisation’s Active Directory/LDAP, which will allow anyone with an account to access Mattermost.\n\n[Learn more about integrating with AD/LDAP](https://www.mattermost.com/docs-adldap/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=adldap)\n\nBy clicking 'Start Trial', I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_100.notification_title",
    "translation": "Scaling with Mattermost"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_100.notification_body",
    "translation": "Your Mattermost system has over 100 users. As your user base grows, provisioning new accounts can become time-consuming. We recommend that you integrate your organisation’s Active Directory/LDAP, which will allow anyone with an account to access Mattermost.\n\n[Learn more about integrating with AD/LDAP](https://www.mattermost.com/docs-adldap/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=adldap)\n\nBy clicking 'Contact Us', you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.number_of_active_users_100.contact_us.email_body",
    "translation": "Mattermost contact us request. My team now has 100 users, and I'm considering Mattermost Enterprise Edition.\n"
  },
  {
    "id": "api.server.warn_metric.mfa.start_trial_notification_success.message",
    "translation": "Your Enterprise trial is now active. Go to **System Console > Authentication > MFA** to enforce multi-factor authentication."
  },
  {
    "id": "api.server.warn_metric.mfa.start_trial.notification_body",
    "translation": "Your Mattermost system has multi-factor authentication enabled, giving users the choice to secure their accounts with additional means of authentication beyond a password. To improve security across the system you can require all Mattermost accounts to use multi-factor authentication.\n\n[Learn more about enforcing Multi-Factor Authentication](https://www.mattermost.com/docs-multi-factor-authentication/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=multi-factor-authentication)\n\nBy clicking Start trial, I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.mfa.notification_title",
    "translation": "Enforcing Multi-Factor Authentication"
  },
  {
    "id": "api.server.warn_metric.mfa.notification_body",
    "translation": "Your Mattermost system has multi-factor authentication enabled, giving users the choice to secure their accounts with additional means of authentication beyond a password. To improve security across the system you can require all Mattermost accounts to use multi-factor authentication.\n\n[Learn more about enforcing Multi-Factor Authentication](https://www.mattermost.com/docs-multi-factor-authentication/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=multi-factor-authentication). \n\nBy clicking Contact Us, you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.mfa.contact_us.email_body",
    "translation": "Mattermost contact us request. I'm interested in learning more about enforcing Multi-Factor Authentication.\n"
  },
  {
    "id": "api.server.warn_metric.email_us",
    "translation": "Email us"
  },
  {
    "id": "api.server.warn_metric.email_domain.start_trial_notification_success.message",
    "translation": "Your Enterprise trial is now active. Go to **System Console > Authentication > Guest Access** to enable Guest Accounts."
  },
  {
    "id": "api.server.warn_metric.email_domain.start_trial.notification_body",
    "translation": "Projects often involve people both inside and outside of an organisation. With Guest Accounts, you can bring external partners into your Mattermost system and specify who they can work with and what they can see.\n\n[Learn more about enabling Guest Accounts](https://www.mattermost.com/docs-guest-accounts/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=guest-accounts)\n\nBy clicking Start trial, I agree to the [Mattermost Software Evaluation Agreement](https://mattermost.com/software-evaluation-agreement/), [Privacy Policy](https://mattermost.com/privacy-policy/), and receiving product emails."
  },
  {
    "id": "api.server.warn_metric.email_domain.notification_title",
    "translation": "Creating Guest Accounts"
  },
  {
    "id": "api.server.warn_metric.email_domain.notification_body",
    "translation": "Projects often involve people both inside and outside of an organisation. With Guest Accounts, you can bring external partners into your Mattermost system and specify who they can work with and what they can see.\n\n[Learn more about enabling Guest Accounts](https://www.mattermost.com/docs-guest-accounts/?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=guest-accounts).\n\nBy clicking Contact Us, you'll be sharing your information with Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
  },
  {
    "id": "api.server.warn_metric.email_domain.contact_us.email_body",
    "translation": "Mattermost contact us request. I'm interested in learning more about using Guest Accounts.\n"
  },
  {
    "id": "api.server.warn_metric.bot_response.start_trial_failure.message",
    "translation": "Trial licence could not be retrieved. Visit https://mattermost.com/trial/ to request a licence."
  },
  {
    "id": "api.server.warn_metric.bot_response.notification_success.message",
    "translation": "Thank you for contacting Mattermost. We will follow up with you soon."
  },
  {
    "id": "api.server.warn_metric.bot_response.notification_failure.message",
    "translation": "Message could not be sent."
  },
  {
    "id": "api.server.warn_metric.bot_response.notification_failure.body",
    "translation": "Please email us."
  },
  {
    "id": "api.server.warn_metric.bot_response.mailto_subject",
    "translation": "Mattermost Contact Us request"
  },
  {
    "id": "api.server.warn_metric.bot_response.mailto_site_url_header",
    "translation": "Site URL: {{.SiteUrl}}"
  },
  {
    "id": "api.server.warn_metric.bot_response.mailto_registered_users_header",
    "translation": "Total Active Users: {{.NoRegisteredUsers}}"
  },
  {
    "id": "api.server.warn_metric.bot_response.mailto_footer",
    "translation": "If you have any additional inquiries, please contact support@mattermost.com"
  },
  {
    "id": "api.server.warn_metric.bot_response.mailto_email_header",
    "translation": "Email: {{.Email}}"
  },
  {
    "id": "api.server.warn_metric.bot_response.mailto_diagnostic_id_header",
    "translation": "Diagnostic ID: {{.DiagnosticId}}"
  },
  {
    "id": "api.server.warn_metric.bot_response.mailto_contact_header",
    "translation": "Contact: {{.Contact}}"
  },
  {
    "id": "api.server.start_server.starting.critical",
    "translation": "Error starting server, err:%v"
  },
  {
    "id": "api.server.start_server.rate_limiting_rate_limiter",
    "translation": "Unable to initialise rate limiting."
  },
  {
    "id": "api.server.start_server.rate_limiting_memory_store",
    "translation": "Unable to initialise rate limiting memory store. Check MemoryStoreSize config setting."
  },
  {
    "id": "api.server.start_server.forward80to443.enabled_but_listening_on_wrong_port",
    "translation": "Unable to forward port 80 to port 443 while listening on port %s: disable Forward80To443 if using a proxy server"
  },
  {
    "id": "api.server.start_server.forward80to443.disabled_while_using_lets_encrypt",
    "translation": "Must enable Forward80To443 when using LetsEncrypt"
  },
  {
    "id": "api.scheme.patch_scheme.license.error",
    "translation": "Your licence does not support updating permissions schemes"
  },
  {
    "id": "api.scheme.get_teams_for_scheme.scope.error",
    "translation": "Unable to get the teams for scheme because the supplied scheme is not a team scheme."
  },
  {
    "id": "api.scheme.get_channels_for_scheme.scope.error",
    "translation": "Unable to get the channels for scheme because the supplied scheme is not a channel scheme."
  },
  {
    "id": "api.scheme.delete_scheme.license.error",
    "translation": "Your licence not support deleting permissions schemes"
  },
  {
    "id": "api.scheme.create_scheme.license.error",
    "translation": "Your licence does not support creating permissions schemes."
  },
  {
    "id": "api.roles.patch_roles.not_allowed_permission.error",
    "translation": "One or more of the following permissions that you are trying to add or remove is not allowed"
  },
  {
    "id": "api.roles.patch_roles.license.error",
    "translation": "Your licence does not support advanced permissions."
  },
  {
    "id": "api.restricted_system_admin",
    "translation": "This action is forbidden to a restricted system admin."
  },
  {
    "id": "api.remote_cluster.update_not_unique.app_error",
    "translation": "Secure connection with the same URL already exists."
  },
  {
    "id": "api.remote_cluster.update.app_error",
    "translation": "An error occurred while updating the secure connection."
  },
  {
    "id": "api.remote_cluster.service_not_enabled.app_error",
    "translation": "The remote cluster service is not enabled."
  },
  {
    "id": "api.remote_cluster.save_not_unique.app_error",
    "translation": "Secure connection has already been added."
  },
  {
    "id": "api.remote_cluster.save.app_error",
    "translation": "An error occurred while saving the secure connection."
  },
  {
    "id": "api.remote_cluster.invalid_topic.app_error",
    "translation": "Invalid topic."
  },
  {
    "id": "api.remote_cluster.invalid_id.app_error",
    "translation": "Invalid ID."
  },
  {
    "id": "api.remote_cluster.get.app_error",
    "translation": "An error occurred while retrieving a secure connection."
  },
  {
    "id": "api.remote_cluster.delete.app_error",
    "translation": "An error occurred while deleting the secure connection."
  },
  {
    "id": "api.reaction.save_reaction.user_id.app_error",
    "translation": "You cannot save reaction for the other user."
  },
  {
    "id": "api.reaction.save_reaction.invalid.app_error",
    "translation": "Reaction is not valid."
  },
  {
    "id": "api.reaction.save.archived_channel.app_error",
    "translation": "You cannot react in an archived channel."
  },
  {
    "id": "api.reaction.delete.archived_channel.app_error",
    "translation": "You cannot remove a reaction in an archived channel."
  },
  {
    "id": "api.push_notifications_ack.message.parse.app_error",
    "translation": "An error occurred building the push notification ack message."
  },
  {
    "id": "api.push_notifications_ack.forward.app_error",
    "translation": "An error occurred sending the receipt delivery to the push notification service."
  },
  {
    "id": "api.push_notifications.session.expired",
    "translation": "Session Expired: Please log in to continue receiving notifications. Sessions for {{.siteName}} are configured by your System Administrator to expire every {{.hoursCount}} hours(s)."
  },
  {
    "id": "api.push_notifications.message.parse.app_error",
    "translation": "An error occurred building the push notification message."
  },
  {
    "id": "api.push_notification.id_loaded.fetch.app_error",
    "translation": "An error occurred fetching the ID-loaded push notification."
  },
  {
    "id": "api.push_notification.id_loaded.default_message",
    "translation": "You've received a new message."
  },
  {
    "id": "api.push_notification.disabled.app_error",
    "translation": "Push Notifications are disabled on this server."
  },
  {
    "id": "api.preference.update_preferences.update_sidebar.app_error",
    "translation": "Unable to update sidebar to match updated preferences"
  },
  {
    "id": "api.preference.update_preferences.set.app_error",
    "translation": "Unable to set user preferences."
  },
  {
    "id": "api.preference.preferences_category.get.app_error",
    "translation": "Unable to get user preferences."
  },
  {
    "id": "api.preference.delete_preferences.update_sidebar.app_error",
    "translation": "Unable to update sidebar to match deleted preferences"
  },
  {
    "id": "api.preference.delete_preferences.delete.app_error",
    "translation": "Unable to delete user preferences."
  },
  {
    "id": "api.post_get_post_by_id.get.app_error",
    "translation": "Unable to get post."
  },
  {
    "id": "api.post.update_post.system_message.app_error",
    "translation": "Unable to update system message."
  },
  {
    "id": "api.post.update_post.permissions_time_limit.app_error",
    "translation": "Post edit is only allowed for {{.timeLimit}} seconds. Please ask your System Administrator for details."
  },
  {
    "id": "api.post.update_post.permissions_details.app_error",
    "translation": "Already deleted ID={{.PostId}}."
  },
  {
    "id": "api.post.update_post.find.app_error",
    "translation": "Unable to find the existing post or comment to update."
  },
  {
    "id": "api.post.update_post.can_not_update_post_in_deleted.error",
    "translation": "Can not update a post in a deleted channel."
  },
  {
    "id": "api.post.send_notifications_and_forget.push_message",
    "translation": "sent you a message."
  },
  {
    "id": "api.post.send_notifications_and_forget.push_image_only",
    "translation": " attached a file."
  },
  {
    "id": "api.post.send_notifications_and_forget.push_general_message",
    "translation": " posted a message."
  },
  {
    "id": "api.post.send_notifications_and_forget.push_explicit_mention",
    "translation": " mentioned you."
  },
  {
    "id": "api.post.send_notification_and_forget.push_comment_on_thread",
    "translation": " commented on a thread you participated in."
  },
  {
    "id": "api.post.send_notification_and_forget.push_comment_on_post",
    "translation": " commented on your post."
  },
  {
    "id": "api.post.send_notification_and_forget.push_channel_mention",
    "translation": " notified the channel."
  },
  {
    "id": "api.post.search_posts.invalid_body.app_error",
    "translation": "Unable to parse the request body."
  },
  {
    "id": "api.post.search_files.invalid_body.app_error",
    "translation": "Unable to parse the request body."
  },
  {
    "id": "api.post.patch_post.can_not_update_post_in_deleted.error",
    "translation": "Can not update a post in a deleted channel."
  },
  {
    "id": "api.post.link_preview_disabled.app_error",
    "translation": "Link previews have been disabled by the system administrator."
  },
  {
    "id": "api.post.get_message_for_notification.images_sent",
    "translation": {
      "one": "{{.Count}} image sent: {{.Filenames}}",
      "other": "{{.Count}} images sent: {{.Filenames}}"
    }
  },
  {
    "id": "api.post.get_message_for_notification.files_sent",
    "translation": {
      "one": "{{.Count}} file sent: {{.Filenames}}",
      "other": "{{.Count}} files sent: {{.Filenames}}"
    }
  },
  {
    "id": "api.post.error_get_post_id.pending",
    "translation": "Unable to get the pending post."
  },
  {
    "id": "api.post.do_action.action_integration.app_error",
    "translation": "Action integration error."
  },
  {
    "id": "api.post.do_action.action_id.app_error",
    "translation": "Invalid action ID."
  },
  {
    "id": "api.post.disabled_here",
    "translation": "@here has been disabled because the channel has more than {{.Users}} users."
  },
  {
    "id": "api.post.disabled_channel",
    "translation": "@channel has been disabled because the channel has more than {{.Users}} users."
  },
  {
    "id": "api.post.disabled_all",
    "translation": "@all has been disabled because the channel has more than {{.Users}} users."
  },
  {
    "id": "api.post.delete_post.can_not_delete_post_in_deleted.error",
    "translation": "Can not delete a post in a deleted channel."
  },
  {
    "id": "api.post.deduplicate_create_post.pending",
    "translation": "Rejected post since another client is making the same request."
  },
  {
    "id": "api.post.deduplicate_create_post.failed_to_get",
    "translation": "Failed to fetch original post after deduplicating a client repeating the same request."
  },
  {
    "id": "api.post.create_webhook_post.creating.app_error",
    "translation": "Error creating post."
  },
  {
    "id": "api.post.create_post.root_id.app_error",
    "translation": "Invalid RootID parameter."
  },
  {
    "id": "api.command_collapse.success",
    "translation": "Image links now collapse by default"
  },
  {
    "id": "api.command_collapse.name",
    "translation": "collapse"
  },
  {
    "id": "api.command_collapse.desc",
    "translation": "Turn on auto-collapsing of image previews"
  },
  {
    "id": "api.command_code.name",
    "translation": "code"
  },
  {
    "id": "api.command_code.message.app_error",
    "translation": "A message must be provided with the /code command."
  },
  {
    "id": "api.command_code.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_code.desc",
    "translation": "Display text as a code block"
  },
  {
    "id": "api.command_channel_rename.update_channel.app_error",
    "translation": "Error to update the current channel."
  },
  {
    "id": "api.command_channel_rename.too_short.app_error",
    "translation": "Channel name must be {{.Length}} or more characters."
  },
  {
    "id": "api.command_channel_rename.too_long.app_error",
    "translation": "Channel name must be {{.Length}} or fewer characters."
  },
  {
    "id": "api.command_channel_rename.permission.app_error",
    "translation": "You don't have the appropriate permissions to rename the channel."
  },
  {
    "id": "api.command_channel_rename.name",
    "translation": "rename"
  },
  {
    "id": "api.command_channel_rename.message.app_error",
    "translation": "A message must be provided with the /rename command."
  },
  {
    "id": "api.command_channel_rename.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_channel_rename.direct_group.app_error",
    "translation": "Unable to rename direct message channels."
  },
  {
    "id": "api.command_channel_rename.desc",
    "translation": "Rename the channel"
  },
  {
    "id": "api.command_channel_rename.channel.app_error",
    "translation": "Error to retrieve the current channel."
  },
  {
    "id": "api.command_channel_remove.channel.app_error",
    "translation": "Error retrieving the current channel."
  },
  {
    "id": "api.command_channel_purpose.update_channel.max_length",
    "translation": "The text entered exceeds the character limit. The channel purpose is limited to {{.MaxLength}} characters."
  },
  {
    "id": "api.command_channel_purpose.update_channel.app_error",
    "translation": "Error updating the channel purpose."
  },
  {
    "id": "api.command_channel_purpose.permission.app_error",
    "translation": "You don't have the appropriate permissions to edit the channel purpose."
  },
  {
    "id": "api.command_channel_purpose.name",
    "translation": "purpose"
  },
  {
    "id": "api.command_channel_purpose.message.app_error",
    "translation": "A message must be provided with the /purpose command."
  },
  {
    "id": "api.command_channel_purpose.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_channel_purpose.direct_group.app_error",
    "translation": "Unable to set purpose for direct message channels. Use /header to set the header instead."
  },
  {
    "id": "api.command_channel_purpose.desc",
    "translation": "Edit the channel purpose"
  },
  {
    "id": "api.command_channel_purpose.channel.app_error",
    "translation": "Error to retrieve the current channel."
  },
  {
    "id": "api.command_channel_header.update_channel.max_length",
    "translation": "The text entered exceeds the character limit. The channel header is limited to {{.MaxLength}} characters."
  },
  {
    "id": "api.command_channel_header.update_channel.app_error",
    "translation": "Error updating the channel header."
  },
  {
    "id": "api.command_channel_header.permission.app_error",
    "translation": "You don't have the appropriate permissions to edit the channel header."
  },
  {
    "id": "api.command_channel_header.name",
    "translation": "header"
  },
  {
    "id": "api.command_channel_header.message.app_error",
    "translation": "Text must be provided with the /header command."
  },
  {
    "id": "api.command_channel_header.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_channel_header.desc",
    "translation": "Edit the channel header"
  },
  {
    "id": "api.command_channel_header.channel.app_error",
    "translation": "Error to retrieve the current channel."
  },
  {
    "id": "api.command_away.success",
    "translation": "You are now away"
  },
  {
    "id": "api.command_away.name",
    "translation": "away"
  },
  {
    "id": "api.command_away.desc",
    "translation": "Set your status away"
  },
  {
    "id": "api.command.team_mismatch.app_error",
    "translation": "Unable to update commands across teams."
  },
  {
    "id": "api.command.invite_people.sent",
    "translation": "Email invite(s) sent"
  },
  {
    "id": "api.command.invite_people.no_email",
    "translation": "Please specify one or more valid email addresses"
  },
  {
    "id": "api.command.invite_people.name",
    "translation": "invite_people"
  },
  {
    "id": "api.command.invite_people.invite_off",
    "translation": "User creation has been disabled on this server, no invite(s) sent"
  },
  {
    "id": "api.command.invite_people.hint",
    "translation": "[name@domain.com ...]"
  },
  {
    "id": "api.command.invite_people.fail",
    "translation": "Encountered an error sending email invite(s)"
  },
  {
    "id": "api.command.invite_people.email_off",
    "translation": "Email has not been configured, no invite(s) sent"
  },
  {
    "id": "api.command.invite_people.email_invitations_off",
    "translation": "Email invitations are disabled, no invite(s) sent"
  },
  {
    "id": "api.command.invite_people.desc",
    "translation": "Send an email invite to your Mattermost team"
  },
  {
    "id": "api.command.execute_command.start.app_error",
    "translation": "No command trigger found."
  },
  {
    "id": "api.command.execute_command.not_found.app_error",
    "translation": "Command with a trigger of '{{.Trigger}}' not found. To send a message beginning with '/', try adding an empty space at the beginning of the message."
  },
  {
    "id": "api.command.execute_command.format.app_error",
    "translation": "Command trigger word is missing the leading slash character"
  },
  {
    "id": "api.command.execute_command.failed_resp.app_error",
    "translation": "Command with a trigger of '{{.Trigger}}' returned response {{.Status}}."
  },
  {
    "id": "api.command.execute_command.failed_empty.app_error",
    "translation": "Command with a trigger of '{{.Trigger}}' returned an empty response."
  },
  {
    "id": "api.command.execute_command.failed.app_error",
    "translation": "Command with a trigger of '{{.Trigger}}' failed."
  },
  {
    "id": "api.command.execute_command.create_post_failed.app_error",
    "translation": "Command '{{.Trigger}}' failed to post response. Please contact your System Administrator."
  },
  {
    "id": "api.command.duplicate_trigger.app_error",
    "translation": "This trigger word is already in use. Please choose another word."
  },
  {
    "id": "api.command.disabled.app_error",
    "translation": "Commands have been disabled by the system admin."
  },
  {
    "id": "api.command.command_post.forbidden.app_error",
    "translation": "Specified user is not a member of specified channel."
  },
  {
    "id": "api.command.admin_only.app_error",
    "translation": "Integrations have been limited to admins only."
  },
  {
    "id": "api.cloud.request_error",
    "translation": "Error processing request to CWS."
  },
  {
    "id": "api.cloud.license_error",
    "translation": "Your licence does not support cloud requests."
  },
  {
    "id": "api.cloud.cws_webhook_event_missing_error",
    "translation": "Webhook event was not handled. Either it is missing or it is not valid."
  },
  {
    "id": "api.cloud.app_error",
    "translation": "Internal error during cloud api request."
  },
  {
    "id": "api.channel.update_team_member_roles.scheme_role.app_error",
    "translation": "The provided role is managed by a Scheme and therefore cannot be applied directly to a Team Member."
  },
  {
    "id": "api.channel.update_team_member_roles.changing_guest_role.app_error",
    "translation": "Invalid team member update: You can't add or remove the guest role manually."
  },
  {
    "id": "api.channel.update_channel_scheme.scheme_scope.error",
    "translation": "Unable to set the scheme to the channel because the supplied scheme is not a channel scheme."
  },
  {
    "id": "api.channel.update_channel_scheme.license.error",
    "translation": "Your licence does not support updating a channel's scheme"
  },
  {
    "id": "api.channel.update_channel_privacy.default_channel_error",
    "translation": "The default channel cannot be made private."
  },
  {
    "id": "api.channel.update_channel_member_roles.scheme_role.app_error",
    "translation": "The provided role is managed by a Scheme and therefore cannot be applied directly to a Channel Member."
  },
  {
    "id": "api.channel.update_channel_member_roles.guest_and_user.app_error",
    "translation": "Invalid channel member update: A user must be a guest or a user but not both."
  },
  {
    "id": "api.channel.update_channel_member_roles.changing_guest_role.app_error",
    "translation": "Invalid channel member update: You can't add or remove the guest role manually."
  },
  {
    "id": "api.channel.update_channel.typechange.app_error",
    "translation": "Channel type cannot be updated."
  },
  {
    "id": "api.channel.update_channel.tried.app_error",
    "translation": "Tried to perform an invalid update of the default channel {{.Channel}}."
  },
  {
    "id": "api.channel.update_channel.deleted.app_error",
    "translation": "The channel has been archived or deleted."
  },
  {
    "id": "api.channel.restore_channel.unarchived",
    "translation": "{{.Username}} unarchived the channel."
  },
  {
    "id": "api.channel.restore_channel.restored.app_error",
    "translation": "Unable to unarchive channel. The channel is not archived."
  },
  {
    "id": "api.channel.rename_channel.cant_rename_group_messages.app_error",
    "translation": "You cannot rename a group message channel."
  },
  {
    "id": "api.channel.rename_channel.cant_rename_direct_messages.app_error",
    "translation": "You cannot rename a direct message channel."
  },
  {
    "id": "api.channel.remove_user_from_channel.app_error",
    "translation": "Can not remove user from this channel type."
  },
  {
    "id": "api.channel.remove_members.denied",
    "translation": "Channel membership removal denied to the following users because of group constraints: {{ .UserIDs }}"
  },
  {
    "id": "api.channel.remove_member.removed",
    "translation": "%v removed from the channel."
  },
  {
    "id": "api.channel.remove_member.group_constrained.app_error",
    "translation": "Unable to remove a user from a group-constrained channel."
  },
  {
    "id": "api.channel.remove_channel_member.type.app_error",
    "translation": "Unable to remove user from a channel."
  },
  {
    "id": "api.channel.remove.default.app_error",
    "translation": "Unable to remove user from the default channel {{.Channel}}."
  },
  {
    "id": "api.channel.post_user_add_remove_message_and_forget.error",
    "translation": "Failed to post join/leave message"
  },
  {
    "id": "api.channel.post_update_channel_header_message_and_forget.updated_to",
    "translation": "%s updated the channel header to: %s"
  },
  {
    "id": "api.channel.post_update_channel_header_message_and_forget.updated_from",
    "translation": "%s updated the channel header from: %s to: %s"
  },
  {
    "id": "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error",
    "translation": "Failed to retrieve user while updating channel header"
  },
  {
    "id": "api.channel.post_update_channel_header_message_and_forget.removed",
    "translation": "%s removed the channel header (was: %s)"
  },
  {
    "id": "api.channel.post_update_channel_header_message_and_forget.post.error",
    "translation": "Failed to post update channel header message"
  },
  {
    "id": "api.channel.post_update_channel_displayname_message_and_forget.updated_from",
    "translation": "%s updated the channel display name from: %s to: %s"
  },
  {
    "id": "api.channel.post_update_channel_displayname_message_and_forget.retrieve_user.error",
    "translation": "Failed to retrieve user while updating channel DisplayName field"
  },
  {
    "id": "api.channel.post_update_channel_displayname_message_and_forget.create_post.error",
    "translation": "Failed to post displayname update message"
  },
  {
    "id": "api.channel.post_channel_privacy_message.error",
    "translation": "Failed to post channel privacy update message."
  },
  {
    "id": "api.channel.patch_update_channel.forbidden.app_error",
    "translation": "Failed to update the channel."
  },
  {
    "id": "api.channel.patch_channel_moderations.license.error",
    "translation": "Your licence does not support channel moderation"
  },
  {
    "id": "api.channel.patch_channel_moderations.cache_invalidation.error",
    "translation": "Error invalidating cache"
  },
  {
    "id": "api.channel.move_channel.type.invalid",
    "translation": "Unable to move direct or group message channels"
  },
  {
    "id": "api.channel.leave.left",
    "translation": "%v left the channel."
  },
  {
    "id": "api.channel.leave.last_member.app_error",
    "translation": "You're the only member left, try removing the Private Channel instead of leaving."
  },
  {
    "id": "api.channel.leave.direct.app_error",
    "translation": "Unable to leave a direct message channel."
  },
  {
    "id": "api.channel.leave.default.app_error",
    "translation": "Unable to leave the default channel {{.Channel}}."
  },
  {
    "id": "api.channel.join_channel.post_and_forget",
    "translation": "%v joined the channel."
  },
  {
    "id": "api.channel.join_channel.permissions.app_error",
    "translation": "You do not have the appropriate permissions."
  },
  {
    "id": "api.channel.guest_join_channel.post_and_forget",
    "translation": "%v joined the channel as guest."
  },
  {
    "id": "api.channel.get_channel_moderations.license.error",
    "translation": "Your licence does not support channel moderation"
  },
  {
    "id": "api.channel.delete_channel.type.invalid",
    "translation": "Unable to delete direct or group message channels"
  },
  {
    "id": "api.channel.delete_channel.deleted.app_error",
    "translation": "The channel has been archived or deleted."
  },
  {
    "id": "api.channel.delete_channel.cannot.app_error",
    "translation": "Unable to delete the default channel {{.Channel}}."
  },
  {
    "id": "api.channel.delete_channel.archived",
    "translation": "%v archived the channel."
  },
  {
    "id": "api.channel.create_group.bad_user.app_error",
    "translation": "One of the provided users does not exist."
  },
  {
    "id": "api.channel.create_group.bad_size.app_error",
    "translation": "Group message channels must contain at least 3 and no more than 8 users."
  },
  {
    "id": "api.channel.create_direct_channel.invalid_user.app_error",
    "translation": "Invalid user ID for direct channel creation."
  },
  {
    "id": "api.channel.create_default_channels.town_square",
    "translation": "Town Square"
  },
  {
    "id": "api.command_settings.unsupported.app_error",
    "translation": "The settings command is not supported on your device."
  },
  {
    "id": "api.command_settings.name",
    "translation": "settings"
  },
  {
    "id": "api.command_settings.desc",
    "translation": "Open the Settings dialog"
  },
  {
    "id": "api.command_search.unsupported.app_error",
    "translation": "The search command is not supported on your device."
  },
  {
    "id": "api.command_search.name",
    "translation": "search"
  },
  {
    "id": "api.command_search.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_search.desc",
    "translation": "Search text in messages"
  },
  {
    "id": "api.command_remove.user_not_in_channel",
    "translation": "{{.Username}} is not a member of this channel."
  },
  {
    "id": "api.command_remove.permission.app_error",
    "translation": "You don't have the appropriate permissions to remove the member."
  },
  {
    "id": "api.command_remove.name",
    "translation": "remove"
  },
  {
    "id": "api.command_remove.missing.app_error",
    "translation": "Couldn't find a matching user. They may have been deactivated by the System Administrator."
  },
  {
    "id": "api.command_remove.message.app_error",
    "translation": "A message must be provided with the /remove or /kick command."
  },
  {
    "id": "api.command_remove.hint",
    "translation": "@[username]"
  },
  {
    "id": "api.command_remove.group_constrained_user_denied",
    "translation": "User cannot be removed from the channel by you because they are a member of the groups linked to this channel. To remove them from this channel, they must be removed from the linked groups."
  },
  {
    "id": "api.command_remove.direct_group.app_error",
    "translation": "You can't remove someone from a direct message channel."
  },
  {
    "id": "api.command_remove.desc",
    "translation": "Remove a member from the channel"
  },
  {
    "id": "api.command_remote.unknown_action",
    "translation": "Unknown action `{{.Action}}`"
  },
  {
    "id": "api.command_remote.status.help",
    "translation": "Displays status for all secure connections"
  },
  {
    "id": "api.command_remote.site_url_not_set",
    "translation": "Site URL not set. Please set this in System Console > Environment > Web Server."
  },
  {
    "id": "api.command_remote.service_not_enabled",
    "translation": "Secure Connection Service not enabled."
  },
  {
    "id": "api.command_remote.service_disabled",
    "translation": "Secure Connection Service is disabled."
  },
  {
    "id": "api.command_remote.remove_remote_id.help",
    "translation": "ID of secure connection to remove."
  },
  {
    "id": "api.command_remote.remove_remote.error",
    "translation": "Could not remove secure connection: {{.Error}}"
  },
  {
    "id": "api.command_remote.remove.help",
    "translation": "Removes a secure connection"
  },
  {
    "id": "api.command_remote.remotes_not_found",
    "translation": "No secure connections found."
  },
  {
    "id": "api.command_remote.remote_table_header",
    "translation": "| Secure connection | Display name | Connection ID | Site URL | Invite Accepted | Online | Last Ping |"
  },
  {
    "id": "api.command_remote.remote_add_remove.help",
    "translation": "Add/remove secure connections. Available actions: {{.Actions}}"
  },
  {
    "id": "api.command_remote.permission_required",
    "translation": "You require `{{.Permission}}` permission to manage secure connections."
  },
  {
    "id": "api.command_remote.name.hint",
    "translation": "A unique name for the secure connection"
  },
  {
    "id": "api.command_remote.name.help",
    "translation": "Secure connection name"
  },
  {
    "id": "api.command_remote.name",
    "translation": "secure-connection"
  },
  {
    "id": "api.command_remote.missing_empty",
    "translation": "Missing or empty `{{.Arg}}`"
  },
  {
    "id": "api.command_remote.missing_command",
    "translation": "Missing command. Available actions: {{.Actions}}"
  },
  {
    "id": "api.command_remote.invite_summary",
    "translation": "Send the following AES 256-bit encrypted invitation to the external Mattermost System Admin along with the password. They will use the `{{.Command}}` slash command to accept the invitation.\n\n```\n{{.Invitation}}\n```\n\n**Ensure the secure connection can access your Mattermost instance via** {{.SiteURL}}"
  },
  {
    "id": "api.command_remote.invite_password.hint",
    "translation": "Password to be used to encrypt the invitation"
  },
  {
    "id": "api.command_remote.invite_password.help",
    "translation": "Invitation password"
  },
  {
    "id": "api.command_remote.invite.help",
    "translation": "Invite a secure connection"
  },
  {
    "id": "api.command_remote.invitation_created",
    "translation": "Invitation created."
  },
  {
    "id": "api.command_remote.invitation.hint",
    "translation": "The encrypted invitation from a secure connection"
  },
  {
    "id": "api.channel.create_default_channels.off_topic",
    "translation": "Off-Topic"
  },
  {
    "id": "api.channel.create_channel.max_channel_limit.app_error",
    "translation": "Unable to create more than {{.MaxChannelsPerTeam}} channels for current team."
  },
  {
    "id": "api.channel.create_channel.direct_channel.team_restricted_error",
    "translation": "A direct channel cannot be created between these users because they do not share a team in common."
  },
  {
    "id": "api.channel.create_channel.direct_channel.app_error",
    "translation": "Must use createDirectChannel API service for direct message channel creation."
  },
  {
    "id": "api.channel.channel_member_counts_by_group.license.error",
    "translation": "Your licence does not support groups"
  },
  {
    "id": "api.channel.change_channel_privacy.public_to_private",
    "translation": "This channel has been converted to a Private Channel."
  },
  {
    "id": "api.channel.change_channel_privacy.private_to_public",
    "translation": "This channel has been converted to a Public Channel and can be joined by any team member."
  },
  {
    "id": "api.channel.add_user_to_channel.type.app_error",
    "translation": "Can not add user to this channel type."
  },
  {
    "id": "api.channel.add_user.to.channel.failed.deleted.app_error",
    "translation": "Failed to add user to channel because they have been removed from the team."
  },
  {
    "id": "api.channel.add_user.to.channel.failed.app_error",
    "translation": "Failed to add user to channel."
  },
  {
    "id": "api.channel.add_members.user_denied",
    "translation": "Channel membership denied to the following users because of group constraints: {{ .UserIDs }}"
  },
  {
    "id": "api.channel.add_members.error",
    "translation": "Error adding channel member(s)."
  },
  {
    "id": "api.channel.add_member.added",
    "translation": "%v added to the channel by %v."
  },
  {
    "id": "api.channel.add_guest.added",
    "translation": "%v added to the channel as guest by %v."
  },
  {
    "id": "api.bot.teams_channels.add_message_mobile",
    "translation": "Please add me to teams and channels you want me to interact in. To do this, use the browser or Mattermost Desktop App."
  },
  {
    "id": "api.bot.create_disabled",
    "translation": "Bot creation has been disabled."
  },
  {
    "id": "api.back_to_app",
    "translation": "Back to {{.SiteName}}"
  },
  {
    "id": "api.admin.upload_brand_image.too_large.app_error",
    "translation": "Unable to upload file. File is too large."
  },
  {
    "id": "api.admin.upload_brand_image.storage.app_error",
    "translation": "Unable to upload image. Image storage is not configured."
  },
  {
    "id": "api.admin.upload_brand_image.parse.app_error",
    "translation": "Could not parse multipart form."
  },
  {
    "id": "api.admin.upload_brand_image.no_file.app_error",
    "translation": "No file under 'image' in request."
  },
  {
    "id": "api.admin.upload_brand_image.array.app_error",
    "translation": "Empty array under 'image' in request."
  },
  {
    "id": "api.admin.test_s3.missing_s3_bucket",
    "translation": "S3 Bucket is required"
  },
  {
    "id": "api.admin.test_email.subject",
    "translation": "Mattermost - Testing Email Settings"
  },
  {
    "id": "api.admin.test_email.reenter_password",
    "translation": "The SMTP server, port, or username has changed. Please re-enter the SMTP password to test connection."
  },
  {
    "id": "api.admin.test_email.missing_server",
    "translation": "SMTP Server is required"
  },
  {
    "id": "api.admin.test_email.body",
    "translation": "It appears your Mattermost email is setup correctly!"
  },
  {
    "id": "api.admin.saml.set_certificate_from_metadata.missing_content_type.app_error",
    "translation": "Missing content type."
  },
  {
    "id": "api.admin.saml.set_certificate_from_metadata.invalid_content_type.app_error",
    "translation": "Invalid content type."
  },
  {
    "id": "api.admin.saml.set_certificate_from_metadata.invalid_body.app_error",
    "translation": "Invalid certificate text."
  },
  {
    "id": "api.admin.saml.not_available.app_error",
    "translation": "SAML 2.0 is not configured or supported on this server."
  },
  {
    "id": "api.admin.saml.metadata.app_error",
    "translation": "An error occurred while building Service Provider Metadata."
  },
  {
    "id": "api.admin.saml.invalid_xml_missing_ssoservices.app_error",
    "translation": "Missing Identity Provider SSO Services node in the XML."
  },
  {
    "id": "api.admin.saml.invalid_xml_missing_keydescriptor.app_error",
    "translation": "Missing Identity Provider Key Descriptors node in the XML."
  },
  {
    "id": "api.admin.saml.invalid_xml_missing_idpssodescriptors.app_error",
    "translation": "Missing Identity Provider SSO Descriptors node in the XML."
  },
  {
    "id": "api.admin.saml.failure_save_idp_certificate_file.app_error",
    "translation": "Could not save certificate file."
  },
  {
    "id": "api.admin.saml.failure_reset_authdata_to_email.app_error",
    "translation": "Failed to reset AuthData field to Email."
  },
  {
    "id": "api.admin.saml.failure_parse_idp_certificate.app_error",
    "translation": "Failure encountered while parsing the metadata information received from the Identity Provider to a certificate."
  },
  {
    "id": "api.admin.saml.failure_get_metadata_from_idp.app_error",
    "translation": "Failed to obtain metadata from Identity Provider URL."
  },
  {
    "id": "api.admin.remove_certificate.delete.app_error",
    "translation": "An error occurred while deleting the certificate."
  },
  {
    "id": "api.admin.ldap.not_available.app_error",
    "translation": "LDAP is not available."
  },
  {
    "id": "api.admin.get_brand_image.storage.app_error",
    "translation": "Image storage is not configured."
  },
  {
    "id": "api.admin.file_read_error",
    "translation": "Error reading log file."
  },
  {
    "id": "api.admin.delete_brand_image.storage.not_found",
    "translation": "Unable to delete brand image, not found."
  },
  {
    "id": "api.admin.add_certificate.saving.app_error",
    "translation": "Could not save certificate file."
  },
  {
    "id": "api.admin.add_certificate.parseform.app_error",
    "translation": "Error parsing multiform request"
  },
  {
    "id": "api.admin.add_certificate.open.app_error",
    "translation": "Could not open certificate file."
  },
  {
    "id": "api.admin.add_certificate.no_file.app_error",
    "translation": "No file under 'certificate' in request."
  },
  {
    "id": "api.admin.add_certificate.array.app_error",
    "translation": "No file under 'certificate' in request."
  },
  {
    "id": "September",
    "translation": "September"
  },
  {
    "id": "October",
    "translation": "October"
  },
  {
    "id": "November",
    "translation": "November"
  },
  {
    "id": "May",
    "translation": "May"
  },
  {
    "id": "March",
    "translation": "March"
  },
  {
    "id": "June",
    "translation": "June"
  },
  {
    "id": "July",
    "translation": "July"
  },
  {
    "id": "January",
    "translation": "January"
  },
  {
    "id": "February",
    "translation": "February"
  },
  {
    "id": "December",
    "translation": "December"
  },
  {
    "id": "August",
    "translation": "August"
  },
  {
    "id": "April",
    "translation": "April"
  },
  {
    "id": "brand.save_brand_image.check_image_limits.app_error",
    "translation": "Image limits check failed. Resolution is too high."
  },
  {
    "id": "api.user.upload_profile_user.check_image_limits.app_error",
    "translation": "Image limits check failed. Resolution is too high."
  },
  {
    "id": "api.team.set_team_icon.check_image_limits.app_error",
    "translation": "Image limits check failed. Resolution is too high."
  },
  {
    "id": "app.system.system_bot.bot_displayname",
    "translation": "System"
  },
  {
    "id": "app.bot.get_warn_metrics_bot.empty_admin_list.app_error",
    "translation": "List of admins is empty."
  },
  {
    "id": "app.bot.get_system_bot.empty_admin_list.app_error",
    "translation": "List of admins is empty."
  },
  {
    "id": "app.user.get_thread_membership_for_user.not_found",
    "translation": "User thread membership doesn't exist"
  },
  {
    "id": "app.user.get_thread_membership_for_user.app_error",
    "translation": "Unable to get user thread membership"
  },
  {
    "id": "api.license.request-trial.can-start-trial.not-allowed",
    "translation": "Failed to apply new trial licence. You have previously applied a trial license to this Mattermost instance. If you would like to extend your trial period please [contact the sales team](https://mattermost.com/contact-us/)."
  },
  {
    "id": "api.license.request-trial.can-start-trial.error",
    "translation": "An error occurred while checking if a trial can be started"
  },
  {
    "id": "ent.data_retention.run_failed.error",
    "translation": "Data retention job failed."
  },
  {
    "id": "api.templates.license_up_for_renewal_title",
    "translation": "Your Mattermost subscription is up for renewal"
  },
  {
    "id": "api.templates.license_up_for_renewal_subtitle_two",
    "translation": "Log in to your Customer Account to renew"
  },
  {
    "id": "api.templates.license_up_for_renewal_subtitle",
    "translation": "{{.UserName}}, your subscription is set to expire in {{.Days}} days. We hope you’re experiencing the flexible, secure team collaboration that Mattermost enables. Renew soon to ensure your team can keep enjoying these benefits."
  },
  {
    "id": "api.templates.license_up_for_renewal_subject",
    "translation": "Your licence is up for renewal"
  },
  {
    "id": "api.templates.license_up_for_renewal_renew_now",
    "translation": "Renew now"
  },
  {
    "id": "api.server.license_up_for_renewal.error_sending_email",
    "translation": "Failed to send licence up for renewal emails"
  },
  {
    "id": "api.server.license_up_for_renewal.error_generating_link",
    "translation": "Failed to generate the licence renewal link"
  },
  {
    "id": "api.user.invalidate_verify_email_tokens_parse.error",
    "translation": "Unable to parse token when invalidating email verification tokens"
  },
  {
    "id": "api.user.invalidate_verify_email_tokens_delete.error",
    "translation": "Unable to remove token when invalidating email verification tokens"
  },
  {
    "id": "api.user.invalidate_verify_email_tokens.error",
    "translation": "Unable to get tokens by type when invalidating email verification tokens"
  },
  {
    "id": "api.license.upgrade_needed.app_error",
    "translation": "Feature requires an upgrade to Enterprise Edition."
  },
  {
    "id": "app.user.store_is_empty.app_error",
    "translation": "Failed to check if user store is empty."
  },
  {
    "id": "app.notification.body.thread.title",
    "translation": "{{.SenderName}} replied to a thread"
  },
  {
    "id": "api.push_notification.title.collapsed_threads",
    "translation": "Reply in {{.channelName}}"
  },
  {
    "id": "api.post.send_notification_and_forget.push_comment_on_crt_thread",
    "translation": " replied to a thread you're following."
  },
  {
    "id": "model.config.is_valid.collapsed_threads.autofollow.app_error",
    "translation": "ThreadAutoFollow must be true to enable CollapsedThreads"
  },
  {
    "id": "api.config.reload_config.app_error",
    "translation": "Failed to reload config."
  },
  {
    "id": "app.post.marshal.app_error",
    "translation": "Failed to marshal post."
  },
  {
    "id": "api.unmarshal_error",
    "translation": "Failed to unmarshal."
  },
  {
    "id": "app.notification.body.thread_gm.subTitle",
    "translation": "While you were away, {{.SenderName}} replied to a thread in your group."
  },
  {
    "id": "app.notification.body.thread_dm.subTitle",
    "translation": "While you were away, {{.SenderName}} replied to a thread in your Direct Message."
  },
  {
    "id": "app.notification.body.thread_channel_full.subTitle",
    "translation": "While you were away, {{.SenderName}} replied to a thread you're following in {{.ChannelName}}."
  },
  {
    "id": "app.notification.body.thread_channel.subTitle",
    "translation": "While you were away, {{.SenderName}} replied to a thread you're following."
  },
  {
    "id": "api.push_notification.title.collapsed_threads_dm",
    "translation": "Reply in Direct Message"
  },
  {
    "id": "api.post.send_notification_and_forget.push_comment_on_crt_thread_dm",
    "translation": " replied to a thread."
  },
  {
    "id": "model.user.is_valid.roles_limit.app_error",
    "translation": "Invalid user roles longer than {{.Limit}} characters."
  },
  {
    "id": "model.team_member.is_valid.roles_limit.app_error",
    "translation": "Invalid team member roles longer than {{.Limit}} characters."
  },
  {
    "id": "model.session.is_valid.user_id.app_error",
    "translation": "Invalid session UserID field."
  },
  {
    "id": "model.session.is_valid.roles_limit.app_error",
    "translation": "Invalid session roles longer than {{.Limit}} characters."
  },
  {
    "id": "model.session.is_valid.id.app_error",
    "translation": "Invalid session ID field."
  },
  {
    "id": "model.session.is_valid.create_at.app_error",
    "translation": "Invalid CreateAt field for session."
  },
  {
    "id": "model.channel_member.is_valid.roles_limit.app_error",
    "translation": "Invalid channel member roles longer than {{.Limit}} characters."
  },
  {
    "id": "api.user.create_user.bad_token_email_data.app_error",
    "translation": "The email address in the token does not match the one in the user data."
  },
  {
    "id": "ent.elasticsearch.getAllTeamMembers.error",
    "translation": "Failed to retrieve all team members"
  },
  {
    "id": "ent.elasticsearch.getAllChannelMembers.error",
    "translation": "Failed to retrieve all channel members"
  },
  {
    "id": "app.role.get_all.app_error",
    "translation": "Unable to retrieve all roles."
  },
  {
    "id": "api.custom_status.set_custom_statuses.update.app_error",
    "translation": "Failed to update the custom status. Please add either emoji, custom status text or both."
  },
  {
    "id": "app.user.get_thread_count_for_user.app_error",
    "translation": "Unable to retrieve user thread count."
  },
  {
    "id": "api.templates.invite_body.title.reminder",
    "translation": "Reminder"
  },
  {
    "id": "app.session.extend_session_expiry.app_error",
    "translation": "Unable to extend session length"
  },
  {
    "id": "api.user.view_archived_channels.get_users_in_channel.app_error",
    "translation": "Cannot retrieve users for an archived channel"
  },
  {
    "id": "api.user.view_archived_channels.get_posts_for_channel.app_error",
    "translation": "Cannot retrieve posts for an archived channel"
  },
  {
    "id": "api.post.posts_by_ids.invalid_body.request_error",
    "translation": "The number of Post IDs received has exceeded the maximum size of {{.MaxLength}}"
  },
  {
    "id": "api.license.request_renewal_link.cannot_renew_on_cws",
    "translation": "Renewing this licence on the portal is not possible"
  },
  {
    "id": "api.user.authorize_oauth_user.saml_response_too_long.app_error",
    "translation": "SAML response is too long"
  },
  {
    "id": "app.system.complete_onboarding_request.no_first_user",
    "translation": "Onboarding can only be completed by a System Administrator."
  },
  {
    "id": "app.system.complete_onboarding_request.app_error",
    "translation": "Failed to decode the complete onboarding request."
  },
  {
    "id": "model.emoji.system_emoji_name.app_error",
    "translation": "Name conflicts with existing system emoji name."
  },
  {
    "id": "app.system.get_onboarding_request.app_error",
    "translation": "Failed to get onboarding completion status."
  },
  {
    "id": "app.member_count",
    "translation": "error retrieving member count"
  },
  {
    "id": "app.group.crud_permission",
    "translation": "Unable to perform operation for that source type."
  },
  {
    "id": "app.custom_group.unique_name",
    "translation": "group name is not unique"
  },
  {
    "id": "api.license_error",
    "translation": "API endpoint requires a licence"
  },
  {
    "id": "api.error_set_first_admin_complete_setup",
    "translation": "Error trying to save first admin complete setup in the store."
  },
  {
    "id": "api.error_get_first_admin_complete_setup",
    "translation": "Error trying to retrieve first admin complete setup from the store."
  },
  {
    "id": "api.custom_groups.no_remote_id",
    "translation": "remote_id must be blank for custom group"
  },
  {
    "id": "api.custom_groups.must_be_referenceable",
    "translation": "allow_reference must be 'true' for custom groups"
  },
  {
    "id": "api.custom_groups.license_error",
    "translation": "not licensed for custom groups"
  },
  {
    "id": "api.custom_groups.feature_disabled",
    "translation": "custom groups feature is disabled"
  },
  {
    "id": "api.custom_groups.count_err",
    "translation": "error counting groups"
  },
  {
    "id": "app.job.get_all_jobs_by_type_and_status.app_error",
    "translation": "Unable to get the all jobs by type and status."
  },
  {
    "id": "api.templates.server_inactivity_title",
    "translation": "Unlock increased productivity with these awesome features"
  },
  {
    "id": "api.templates.server_inactivity_subtitle",
    "translation": "Hey {{.Name}}, your Mattermost server has been a bit inactive. Would you like to take a look at some features that can help lighten your team's workload?"
  },
  {
    "id": "api.templates.server_inactivity_subject",
    "translation": "Open Mattermost to increase your team’s productivity!"
  },
  {
    "id": "api.templates.server_inactivity_info_bullet2",
    "translation": "Manage tasks using "
  },
  {
    "id": "api.templates.server_inactivity_info_bullet1",
    "translation": "Workflow management with "
  },
  {
    "id": "api.templates.server_inactivity_info_bullet",
    "translation": "Guest Access to specified "
  },
  {
    "id": "api.templates.server_inactivity_info",
    "translation": "Come and check it out!"
  },
  {
    "id": "api.templates.server_inactivity_button",
    "translation": "Open Mattermost"
  },
  {
    "id": "Playbooks",
    "translation": "Playbooks"
  },
  {
    "id": "Channels",
    "translation": "Channels"
  },
  {
    "id": "Boards",
    "translation": "Boards"
  },
  {
    "id": "app.prepackged-plugin.invalid_version.app_error",
    "translation": "A prepackged plugin version could not be parsed."
  },
  {
    "id": "api.team.invite_members.unable_to_send_email_with_defaults.app_error",
    "translation": "SMTP is not configured in the System Console"
  },
  {
    "id": "api.team.invite_members.unable_to_send_email.app_error",
    "translation": "An error occurred while sending the email"
  },
  {
    "id": "model.oauth.is_valid.mattermost_app_id.app_error",
    "translation": "The maximum length of MattermostAppID is 32 characters."
  },
  {
    "id": "app.channel.get_file_count.app_error",
    "translation": "Unable to retrieve the file count for the channel"
  },
  {
    "id": "model.config.is_valid.elastic_search.bulk_indexing_batch_size.app_error",
    "translation": "Elasticsearch Bulk Indexing Batch Size must be at least {{.BatchSize}}."
  },
  {
    "id": "model.config.is_valid.bleve_search.bulk_indexing_batch_size.app_error",
    "translation": "Bleve Bulk Indexing Batch Size must be at least {{.BatchSize}}."
  },
  {
    "id": "api.license.request_trial_license.embargoed",
    "translation": "We were unable to process the request due to limitations for embargoed countries. [Learn more in our documentation](https://mattermost.com/pl/limitations-for-embargoed-countries), or reach out to legal@mattermost.com for questions around export limitations."
  },
  {
    "id": "api.getThreadsForUser.bad_only_params",
    "translation": "OnlyThreads and OnlyTotals parameters to getThreadsForUser are mutually exclusive"
  },
  {
    "id": "api.file.test_connection_s3_settings_nil.app_error",
    "translation": "The file storage settings have unset values."
  },
  {
    "id": "api.file.test_connection_email_settings_nil.app_error",
    "translation": "The email settings have unset values."
  },
  {
    "id": "model.member.is_valid.emails.app_error",
    "translation": "Email list is empty"
  },
  {
    "id": "model.member.is_valid.channel.app_error",
    "translation": "Invalid channel name"
  },
  {
    "id": "model.channel.is_valid.1_or_more.app_error",
    "translation": "Name must be 1 or more lowercase alphanumeric characters."
  },
  {
    "id": "app.user.update_thread_read_for_user_by_post.app_error",
    "translation": "Invalid post_id"
  },
  {
    "id": "api.templates.invite_team_and_channels_subject",
    "translation": "[{{ .SiteName }}] {{ .SenderName }} invited you to join {{ .ChannelsLen }} channels on the {{ .TeamDisplayName }} Team"
  },
  {
    "id": "api.templates.invite_team_and_channels_body.title",
    "translation": "{{ .SenderName }} invited you to join {{ .ChannelsLen }} channels on the {{ .TeamDisplayName }} Team"
  },
  {
    "id": "api.templates.invite_team_and_channel_subject",
    "translation": "[{{ .SiteName }}] {{ .SenderName }} invited you to join the {{ .ChannelName }} Channel on the {{ .TeamDisplayName }} Team"
  },
  {
    "id": "api.templates.invite_team_and_channel_body.title",
    "translation": "{{ .SenderName }} invited you to join the {{ .ChannelName }} Channel on the {{ .TeamDisplayName }} Team"
  },
  {
    "id": "api.team.invite_members_to_team_and_channels.invalid_body_parsing.app_error",
    "translation": "An error occurred while parsing the body data."
  },
  {
    "id": "api.team.invite_members_to_team_and_channels.invalid_body.app_error",
    "translation": "Invalid request body."
  },
  {
    "id": "api.templates.cloud_upgrade_confirmation.title",
    "translation": "You are now upgraded!"
  },
  {
    "id": "api.templates.cloud_upgrade_confirmation.subject",
    "translation": "Mattermost Upgrade Confirmation"
  },
  {
    "id": "api.elasticsearch.test_elasticsearch_settings_nil.app_error",
    "translation": "Elasticsearch settings has unset values."
  },
  {
    "id": "api.templates.server_inactivity_footer_disclaimer",
    "translation": "You received this one-time email because your Mattermost server was inactive for more than {{.Hours}} hours. This email was automatically generated by your Mattermost server."
  },
  {
    "id": "app.recent_searches.app_error",
    "translation": "An error occurred while fetching recent searches"
  },
  {
    "id": "api.file.cloud_upload.app_error",
    "translation": "Uploading via mmctl to a Cloud instance is not supported. Please check the documentation here: https://docs.mattermost.com/manage/cloud-data-export.html."
  },
  {
    "id": "app.usage.get_storage_usage.app_error",
    "translation": "Failed to get storage usage."
  },
  {
    "id": "app.teams.analytics_teams_count.app_error",
    "translation": "Unable to get team count"
  },
  {
    "id": "app.post.analytics_teams_count.app_error",
    "translation": "Unable to get teams usage"
  },
  {
    "id": "api.cloud.teams_limit_reached.restore",
    "translation": "Unable to restore team because teams limit has been reached"
  },
  {
    "id": "api.cloud.teams_limit_reached.create",
    "translation": "Unable to create team because teams limit has been reached"
  },
  {
    "id": "model.config.is_valid.image_decoder_concurrency.app_error",
    "translation": "Invalid decoder concurrency {{.Value}}. Should be a positive number or -1."
  },
  {
    "id": "app.post.get_top_threads_for_user_since.app_error",
    "translation": "Unable to retrieve top threads for user."
  },
  {
    "id": "app.post.get_top_threads_for_team_since.app_error",
    "translation": "Unable to retrieve top threads for team."
  },
  {
    "id": "app.insights.feature_disabled",
    "translation": "Insights feature is disabled."
  },
  {
    "id": "api.insights.feature_disabled",
    "translation": "Insights is behind a feature flag which is not enabled."
  },
  {
    "id": "api.cloud.notify_admin_to_upgrade_error.already_notified",
    "translation": "Already notified admin"
  },
  {
    "id": "common.parse_error_int64",
    "translation": "Failed to parse the value:{{.Value}} to int64"
  },
  {
    "id": "app.post.cloud.get.app_error",
    "translation": "Can't fetch the post as it is past the cloud's plan limit."
  },
  {
    "id": "app.last_accessible_post.app_error",
    "translation": "An error occurred while fetching the last accessible post"
  },
  {
    "id": "app.upload.upload_data.gen_info.app_error",
    "translation": "Failed to generate file info from uploaded data."
  },
  {
    "id": "model.config.is_valid.amazons3_timeout.app_error",
    "translation": "Invalid timeout value {{.Value}}. Should be a positive number."
  },
  {
    "id": "app.post_reminder_dm",
    "translation": "Hello there, here's your reminder about this message from @{{.Username}}: {{.SiteURL}}/{{.TeamName}}/pl/{{.PostId}}"
  },
  {
    "id": "app.team.clear_cache.app_error",
    "translation": "An error occurred while clearing team member cache"
  },
  {
    "id": "api.templates.delinquency_7.subtitle2",
    "translation": "To keep your {{.Plan}} plan active, please contact your financial department or institution as soon as possible. Then, update your payment details as needed."
  },
  {
    "id": "api.templates.delinquency_14.subtitle2",
    "translation": "Please contact your financial department or institution to resolve any issues. Then, update your payment details as needed."
  },
  {
    "id": "app.post.get_top_dms_for_user_since.app_error",
    "translation": "Unable to get top DMs for user."
  },
  {
    "id": "app.cloud.get_subscription_delinquency_date.app_error",
    "translation": "Subscription is not delinquent"
  },
  {
    "id": "app.cloud.get_subscription.app_error",
    "translation": "Cloud subscription couldn't be retrieved"
  },
  {
    "id": "app.cloud.get_cloud_products.app_error",
    "translation": "Cloud products couldn't be retrieved"
  },
  {
    "id": "api.templates.delinquency_90.title",
    "translation": "Your Mattermost workspace has been downgraded"
  },
  {
    "id": "api.templates.delinquency_90.subtitle3",
    "translation": "To unarchive your data and keep paid features, update your payment information."
  },
  {
    "id": "api.templates.delinquency_90.subtitle2",
    "translation": "In addition, your data may have been archived due to Cloud Free limitations."
  },
  {
    "id": "api.templates.delinquency_90.subtitle1",
    "translation": "If you use Cloud Professional or Enterprise features for important business operations, these will no longer be available and you'll experience degraded performance."
  },
  {
    "id": "api.templates.delinquency_90.subject",
    "translation": "Your Mattermost Cloud workspace has been downgraded"
  },
  {
    "id": "api.templates.delinquency_90.secondary_action_button",
    "translation": "View Plans & Pricing"
  },
  {
    "id": "api.templates.delinquency_90.button",
    "translation": "Update payment"
  },
  {
    "id": "api.templates.delinquency_75.title",
    "translation": "Your workspace will be downgraded in 15 days"
  },
  {
    "id": "api.templates.delinquency_75.subtitle3",
    "translation": "Update your payment information now, or downgrade to Cloud Free."
  },
  {
    "id": "api.templates.delinquency_75.subtitle2",
    "translation": "Your workspace will be downgraded to Cloud Free. Your {{.Plan}} features will be locked and some of your workspace data may be archived until your full outstanding balance is settled."
  },
  {
    "id": "api.templates.delinquency_75.subtitle1",
    "translation": "This is a final reminder that payment for your Mattermost Cloud workspace hasn't been received since {{.DelinquencyDate}}."
  },
  {
    "id": "api.templates.delinquency_75.subject",
    "translation": "Your Mattermost {{.Plan}} will be downgraded in 15 days"
  },
  {
    "id": "api.templates.delinquency_75.downgrade_to_free",
    "translation": "Downgrade to Cloud Free"
  },
  {
    "id": "api.templates.delinquency_75.button",
    "translation": "Update payment"
  },
  {
    "id": "api.templates.delinquency_7.title",
    "translation": "Your payment wasn't completed"
  },
  {
    "id": "api.templates.delinquency_7.subtitle1",
    "translation": "Your most recent payment couldn't be processed."
  },
  {
    "id": "api.templates.delinquency_7.button",
    "translation": "Update payment"
  },
  {
    "id": "api.templates.delinquency_60.title",
    "translation": "Your Mattermost workspace will be downgraded in 30 days"
  },
  {
    "id": "api.templates.delinquency_60.subtitle3",
    "translation": "Update your payment information now or downgrade to Cloud Free below."
  },
  {
    "id": "api.templates.delinquency_60.subtitle2",
    "translation": "Your workspace will be downgraded automatically in 30 days if your payment is unable to be processed."
  },
  {
    "id": "api.templates.delinquency_60.subtitle1",
    "translation": "Please update your payment information soon to process your outstanding invoices."
  },
  {
    "id": "api.templates.delinquency_60.subject",
    "translation": "Action Required: Workspace will be downgraded in 30 days"
  },
  {
    "id": "api.templates.delinquency_60.downgrade_to_free",
    "translation": "Downgrade to Cloud Free"
  },
  {
    "id": "api.templates.delinquency_60.button",
    "translation": "Update payment"
  },
  {
    "id": "api.templates.delinquency_45.title",
    "translation": "Your workspace will be downgraded soon"
  },
  {
    "id": "api.templates.delinquency_45.subtitle3",
    "translation": "Update your credit card information now."
  },
  {
    "id": "api.templates.delinquency_45.subtitle2",
    "translation": "A downgraded workspace might negatively affect critical workflows and other business critical activities carried out in your workspace."
  },
  {
    "id": "api.templates.delinquency_45.subtitle1",
    "translation": "Payment for outstanding invoices since {{.DelinquencyDate}} have not been able to be collected. Your workspace is at risk of being downgraded."
  },
  {
    "id": "api.templates.delinquency_45.subject",
    "translation": "Notice: Your Mattermost {{.Plan}} will be downgraded soon"
  },
  {
    "id": "api.templates.delinquency_45.button",
    "translation": "Update payment"
  },
  {
    "id": "api.templates.delinquency_30.title",
    "translation": "Your workspace will be downgraded soon"
  },
  {
    "id": "api.templates.delinquency_30.subtitle2",
    "translation": "If no action is taken, your workspace will be downgraded and the following data may be archived:"
  },
  {
    "id": "api.templates.delinquency_30.subtitle1",
    "translation": "You have time to keep your Mattermost {{.Plan}} active but you'll need to resolve issues with your payment method."
  },
  {
    "id": "api.templates.delinquency_30.subject",
    "translation": "Act to keep your Mattermost {{.Plan}} Features"
  },
  {
    "id": "api.templates.delinquency_30.limits_documentation",
    "translation": "View all limits documentation."
  },
  {
    "id": "api.templates.delinquency_30.button",
    "translation": "Update payment"
  },
  {
    "id": "api.templates.delinquency_30.bullet.message_history",
    "translation": "Message history"
  },
  {
    "id": "api.templates.delinquency_30.bullet.files",
    "translation": "Files"
  },
  {
    "id": "api.templates.delinquency_14.title",
    "translation": "Payment not received"
  },
  {
    "id": "api.templates.delinquency_14.subtitle1",
    "translation": "The credit card on record wasn't able to be charged. This means your workspace is at risk of being downgraded to Cloud Free."
  },
  {
    "id": "api.templates.delinquency_14.subject",
    "translation": "Payment is overdue for your Mattermost {{.Plan}}"
  },
  {
    "id": "api.templates.delinquency_14.button",
    "translation": "Update payment"
  },
  {
    "id": "api.command_marketplace.unsupported.app_error",
    "translation": "The marketplace command is not supported on your device."
  },
  {
    "id": "api.command_marketplace.name",
    "translation": "marketplace"
  },
  {
    "id": "api.command_marketplace.desc",
    "translation": "Open the Marketplace"
  },
  {
    "id": "api.command_help.success",
    "translation": "Mattermost is an open source platform for secure communication, collaboration and orchestration of work across tools and teams.\nMattermost contains three key tools:\n\n**Channels** - Stay connected with your team via 1:1 and group messaging.\n**[Playbooks](/playbooks)** - Build and configure repeatable processes to achieve specific and predictable outcomes.\n**[Boards](/boards)** - Manage projects and tasks in a Kanban board structure to help your team hit key milestones.\n\n[View documentation and guides]({{.HelpLink}})"
  },
  {
    "id": "api.cloud.delinquency_email.missing_email_to_trigger",
    "translation": "Missing required fields to send delinquency email."
  },
  {
    "id": "app.notify_admin.send_notification_post.app_error",
    "translation": "Unable to send notification post."
  },
  {
    "id": "app.notify_admin.save.app_error",
    "translation": "Unable to save notify data."
  },
  {
    "id": "app.cloud.upgrade_plan_bot_message_single",
    "translation": "{{.UsersNum}} member of the {{.WorkspaceName}} workspace has requested a workspace upgrade for: "
  },
  {
    "id": "app.cloud.upgrade_plan_bot_message",
    "translation": "{{.UsersNum}} members of the {{.WorkspaceName}} workspace have requested a workspace upgrade for: "
  },
  {
    "id": "app.cloud.trial_plan_bot_message_single",
    "translation": "{{.UsersNum}} member of the {{.WorkspaceName}} workspace has requested starting the Enterprise trial for access to: "
  },
  {
    "id": "app.cloud.trial_plan_bot_message",
    "translation": "{{.UsersNum}} members of the {{.WorkspaceName}} workspace have requested starting the Enterprise trial for access to: "
  },
  {
    "id": "ent.saml.configure.certificate_parse_error.app_error",
    "translation": "SAML could not load Identity Provider Public Certificate successfully, please contact your system administrator."
  },
  {
    "id": "app.user.get_badge_count.app_error",
    "translation": "The user's badge couldn't be retrieved."
  },
  {
    "id": "app.cloud.get_current_plan_name.app_error",
    "translation": "Unable to get current plan name"
  },
  {
    "id": "model.group.name.reserved_name.app_error",
    "translation": "group name already exists as a reserved name"
  },
  {
    "id": "app.last_accessible_file.app_error",
    "translation": "Error fetching last accessible file"
  },
  {
    "id": "app.job.error",
    "translation": "Error during job execution."
  },
  {
    "id": "app.file.cloud.get.app_error",
    "translation": "Unable to retrieve file: cloud storage limit exceeded."
  },
  {
    "id": "model.insights.get_start_of_day_for_time_range.time_range.app_error",
    "translation": "Invalid time range."
  },
  {
    "id": "app.plugin.product_mode.app_error",
    "translation": "Plugin {{.Name}} cannot be enabled in product mode."
  },
  {
    "id": "api.team.invite_guests_to_channels.license.error",
    "translation": "Your workspace licence does not support guest accounts"
  },
  {
    "id": "api.team.invite_guests_to_channels.disabled.error",
    "translation": "Guest accounts are disabled"
  },
  {
    "id": "app.collection.add_topic.exists.app_error",
    "translation": "Topic type already exists."
  },
  {
    "id": "app.collection.add_collection.exists.app_error",
    "translation": "Collection type already exists."
  },
  {
    "id": "api.user.add_user_to_group_syncables.not_ldap_user.app_error",
    "translation": "not an LDAP user"
  },
  {
    "id": "api.upload.create.upload_too_large.app_error",
    "translation": "Unable to upload file. File is too large."
  },
  {
    "id": "api.admin.syncables_error",
    "translation": "Failed to add user to group-teams and group-channels"
  },
  {
    "id": "model.draft.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.draft.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time."
  },
  {
    "id": "model.draft.is_valid.root_id.app_error",
    "translation": "Invalid root ID."
  },
  {
    "id": "model.draft.is_valid.props.app_error",
    "translation": "Invalid props."
  },
  {
    "id": "model.draft.is_valid.msg.app_error",
    "translation": "Invalid message."
  },
  {
    "id": "model.draft.is_valid.file_ids.app_error",
    "translation": "Invalid file IDs."
  },
  {
    "id": "model.draft.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time."
  },
  {
    "id": "model.draft.is_valid.channel_id.app_error",
    "translation": "Invalid channel ID."
  },
  {
    "id": "model.acknowledgement.is_valid.user_id.app_error",
    "translation": "Invalid user ID."
  },
  {
    "id": "model.acknowledgement.is_valid.post_id.app_error",
    "translation": "Invalid post ID."
  },
  {
    "id": "app.post_prority.get_for_post.app_error",
    "translation": "Unable to get post priority for post"
  },
  {
    "id": "app.draft.update.app_error",
    "translation": "Unable to update the draft."
  },
  {
    "id": "app.draft.save.app_error",
    "translation": "Unable to save the draft."
  },
  {
    "id": "app.draft.get_for_draft.app_error",
    "translation": "Unable to get files for draft."
  },
  {
    "id": "app.draft.get_drafts.app_error",
    "translation": "Unable to get user's drafts."
  },
  {
    "id": "app.draft.get.app_error",
    "translation": "Unable to get the draft."
  },
  {
    "id": "app.draft.feature_disabled",
    "translation": "Drafts feature is disabled."
  },
  {
    "id": "app.draft.delete.app_error",
    "translation": "Unable to delete the draft."
  },
  {
    "id": "app.channel.get_priority_for_posts.app_error",
    "translation": "Unable to get the priority for posts"
  },
  {
    "id": "app.acknowledgement.delete.app_error",
    "translation": "Unable to delete acknowledgement."
  },
  {
    "id": "api.drafts.disabled.app_error",
    "translation": "Drafts feature is disabled."
  },
  {
    "id": "api.acknowledgement.delete.archived_channel.app_error",
    "translation": "You cannot remove an acknowledgment in an archived channel."
  },
  {
    "id": "worktemplate.product_teams.feature_release.description.playbook",
    "translation": "Create transparent workflows across development teams to ensure your feature development process is seamless."
  },
  {
    "id": "worktemplate.product_teams.feature_release.description.integration",
    "translation": "Increase productivity in your channel by integrating a Jira bot and GitHub bot. These will be downloaded for you."
  },
  {
    "id": "worktemplate.product_teams.feature_release.description.channel",
    "translation": "Chat with your team in a Feature Release channel that connects easily with your boards, playbooks and app bots."
  },
  {
    "id": "worktemplate.product_teams.feature_release.description.board",
    "translation": "Use the Meeting Agenda board template for recurring meetings like standup and the Project Tasks board to manage the progress of tasks along the way."
  },
  {
    "id": "worktemplate.category.product_teams",
    "translation": "Product Teams"
  },
  {
    "id": "model.draft.is_valid.priority.app_error",
    "translation": "Invalid priority"
  },
  {
    "id": "api.templates.cloud_welcome_email.yearly_plan_button",
    "translation": "View your invoice"
  },
  {
    "id": "api.templates.cloud_upgrade_confirmation_yearly.subtitle",
    "translation": "Your {{.WorkspaceName}} workspace has now been upgraded."
  },
  {
    "id": "api.templates.cloud_upgrade_confirmation_monthly.subtitle",
    "translation": "Your {{.WorkspaceName}} workspace has now been upgraded. You'll be charged from {{.Date}}."
  },
  {
    "id": "api.user.get_users.validation.app_error",
    "translation": "Error fetching roles during validation."
  },
  {
    "id": "api.server.hosted_signup_unavailable.error",
    "translation": "Portal unavailable for self-hosted signup."
  },
  {
    "id": "ent.elasticsearch.create_client.client_key_missing",
    "translation": "Could not open the client key file for Elasticsearch"
  },
  {
    "id": "ent.elasticsearch.create_client.client_cert_missing",
    "translation": "Could not open the client certificate file for Elasticsearch"
  },
  {
    "id": "ent.elasticsearch.create_client.client_cert_malformed",
    "translation": "Decoding of the client certificate for Elasticsearch failed"
  },
  {
    "id": "ent.elasticsearch.create_client.ca_cert_missing",
    "translation": "Could not open the CA file for Elasticsearch"
  },
  {
    "id": "ent.elasticsearch.create_client.ca_cert_malformed",
    "translation": "Decoding of the CA for Elasticsearch failed"
  },
  {
    "id": "app.worktemplates.get_templates.app_error",
    "translation": "Unable to retrieve work templates"
  },
  {
    "id": "app.worktemplates.get_categories.app_error",
    "translation": "Unable to retrieve categories for work templates"
  },
  {
    "id": "app.channel.count_urgent_posts_since.app_error",
    "translation": "Unable to enumerate urgent posts since the given date."
  },
  {
    "id": "app.acknowledgement.save.save.app_error",
    "translation": "Unable to save post acknowledgement."
  },
  {
    "id": "app.acknowledgement.getforpost.get.app_error",
    "translation": "Unable to retrieve post acknowledgement."
  },
  {
    "id": "app.acknowledgement.get.app_error",
    "translation": "Unable to retrieve acknowledgement."
  },
  {
    "id": "api.server.cws.health_check.app_error",
    "translation": "The CWS Server is unavailable."
  },
  {
    "id": "api.license.true_up_review.webhook_out_count_fail",
    "translation": "Could not retrieve the total number of outgoing webhooks"
  },
  {
    "id": "api.license.true_up_review.webhook_in_count_fail",
    "translation": "Could not retrieve the total number of incoming webhooks"
  },
  {
    "id": "api.license.true_up_review.user_count_fail",
    "translation": "Could not retrieve the total number of active users"
  },
  {
    "id": "api.license.true_up_review.not_allowed_for_cloud",
    "translation": "True up review is not allowed for cloud instances"
  },
  {
    "id": "api.license.true_up_review.license_required",
    "translation": "True up review requires a licence"
  },
  {
    "id": "api.license.true_up_review.get_status_error",
    "translation": "Could not retrieve true up status records"
  },
  {
    "id": "api.license.true_up_review.create_error",
    "translation": "Could not create true up status record"
  },
  {
    "id": "api.draft.create_draft.can_not_draft_to_deleted.error",
    "translation": "Cannot save a draft to a deleted channel"
  },
  {
    "id": "api.acknowledgement.delete.deadline.app_error",
    "translation": "You cannot delete an acknowledgment after 5 minutes has elapsed."
  },
  {
    "id": "worktemplate.product_teams.sprint_planning.integration",
    "translation": "Use a Project to make sprint planning a breeze. The channel keeps the conversation and questions focused. The sprint plan keeps everyone on task for the week and the Retrospective board brings the team together to continuously improve."
  },
  {
    "id": "worktemplate.product_teams.sprint_planning.channel",
    "translation": "Use a Project to make sprint planning a breeze. The channel keeps the conversation and questions focused. The sprint plan keeps everyone on task for the week and the Retrospective board brings the team together to continuously improve."
  },
  {
    "id": "worktemplate.product_teams.sprint_planning.board",
    "translation": "Use a Project to make sprint planning a breeze. The channel keeps the conversation and questions focused. The sprint plan keeps everyone on task for the week and the Retrospective board brings the team together to continuously improve."
  },
  {
    "id": "worktemplate.product_teams.product_roadmap.channel",
    "translation": "Description of why the channel(s) are necessary"
  },
  {
    "id": "worktemplate.product_teams.product_roadmap.board",
    "translation": "Description of why the board(s) are necessary"
  },
  {
    "id": "worktemplate.product_teams.goals_and_okrs.integration",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.product_teams.goals_and_okrs.channel",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.product_teams.goals_and_okrs.board",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.product_teams.bug_bash.playbook",
    "translation": "Get organised and squash all the bugs with this project! Build momentum and measure progress using included Playbook, Board and Channel."
  },
  {
    "id": "worktemplate.product_teams.bug_bash.integration",
    "translation": "Get organised and squash all the bugs with this project! Build momentum and measure progress using included Playbook, Board and Channel."
  },
  {
    "id": "worktemplate.product_teams.bug_bash.channel",
    "translation": "Get organised and squash all the bugs with this project! Build momentum and measure progress using included Playbook, Board and Channel."
  },
  {
    "id": "worktemplate.product_teams.bug_bash.board",
    "translation": "Get organised and squash all the bugs with this project! Build momentum and measure progress using included Playbook, Board and Channel."
  },
  {
    "id": "worktemplate.leadership.goals_and_okrs.integration",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.leadership.goals_and_okrs.channel",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.leadership.goals_and_okrs.board",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.devops.product_release.playbook",
    "translation": "Don’t miss a step during a product release with this Project. Assign tasks from the Playbook checklist and hit milestones with the Board. Use Channels to keep everyone on the same page."
  },
  {
    "id": "worktemplate.devops.product_release.channel",
    "translation": "Don’t miss a step during a product release with this Project. Assign tasks from the Playbook checklist and hit milestones with the Board. Use Channels to keep everyone on the same page."
  },
  {
    "id": "worktemplate.devops.product_release.board",
    "translation": "Don’t miss a step during a product release with this Project. Assign tasks from the Playbook checklist and hit milestones with the Board. Use Channels to keep everyone on the same page."
  },
  {
    "id": "worktemplate.devops.incident_resolution.description.playbook",
    "translation": "When everything is going wrong, having a repeatable process is the key to making sure everything is made right as quickly as possible. This Project combines everything Mattermost offers to ensure issues are resolved and stakeholders informed along the way."
  },
  {
    "id": "worktemplate.devops.incident_resolution.description.channel",
    "translation": "When everything is going wrong, having a repeatable process is the key to making sure everything is made right as quickly as possible. This Project combines everything Mattermost offers to ensure issues are resolved and stakeholders informed along the way."
  },
  {
    "id": "worktemplate.devops.incident_resolution.description.board",
    "translation": "When everything is going wrong, having a repeatable process is the key to making sure everything is made right as quickly as possible. This Project combines everything Mattermost offers to ensure issues are resolved and stakeholders informed along the way."
  },
  {
    "id": "worktemplate.companywide.goals_and_okrs.integration",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.companywide.goals_and_okrs.channel",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.companywide.goals_and_okrs.board",
    "translation": "Clear focus is essential to team success and with this Project you can document the team’s goals and OKRs, as well as post updates in the dedicated channel."
  },
  {
    "id": "worktemplate.companywide.create_project.integration",
    "translation": "Plan a Roadmap using this Project Board and collaborate on topic in the channel created with this template."
  },
  {
    "id": "worktemplate.companywide.create_project.channel",
    "translation": "Plan a Roadmap using this Project Board and collaborate on topic in the channel created with this template."
  },
  {
    "id": "worktemplate.companywide.create_project.board",
    "translation": "Plan a Roadmap using this Project Board and collaborate on topic in the channel created with this template."
  },
  {
    "id": "worktemplate.category.leadership",
    "translation": "Leadership"
  },
  {
    "id": "worktemplate.category.devops",
    "translation": "Dev Ops"
  },
  {
    "id": "worktemplate.category.companywide",
    "translation": "Company - Wide"
  },
  {
    "id": "app.worktemplates.execute_work_template.playbooks.find_channel_error",
    "translation": "Unable to find channel associated with a playbook."
  },
  {
    "id": "app.worktemplates.execute_work_template.playbooks.create_error",
    "translation": "Error while creating a playbook."
  },
  {
    "id": "app.worktemplates.execute_work_template.channels.create_error",
    "translation": "Error while creating a channel."
  },
  {
    "id": "app.worktemplates.execute_work_template.boards.create_error",
    "translation": "Error while creating a board."
  },
  {
    "id": "app.worktemplates.execute_work_template.app_error",
    "translation": "Error while executing a work template."
  },
  {
    "id": "app.worktemplate.execution_request.license_cannot_create_private_playbook",
    "translation": "Your licence does not support private playbooks."
  },
  {
    "id": "app.worktemplate.execution_request.cannot_create_public_playbook",
    "translation": "You don't have permission to create a public playbook."
  },
  {
    "id": "app.worktemplate.execution_request.cannot_create_public_channel",
    "translation": "You don't have permission to create a public channel."
  },
  {
    "id": "app.worktemplate.execution_request.cannot_create_public_board",
    "translation": "You don't have permission to create a public board."
  },
  {
    "id": "app.worktemplate.execution_request.cannot_create_private_playbook",
    "translation": "You don't have permission to create a private playbook."
  },
  {
    "id": "app.worktemplate.execution_request.cannot_create_private_channel",
    "translation": "You don't have permission to create a private channel."
  },
  {
    "id": "app.worktemplate.execution_request.cannot_create_private_board",
    "translation": "You don't have permission to create a private board."
  },
  {
    "id": "app.import.validate_user_teams_import_data.invalid_auth_service.error",
    "translation": "Invalid auth service: {{.AuthService}}"
  },
  {
    "id": "app.group.username_conflict",
    "translation": "A user with the username '{{.Username}}' already exists."
  },
  {
    "id": "api.work_templates.disabled",
    "translation": "Work templates are disabled."
  },
  {
    "id": "api.server.cws.needs_enterprise_edition",
    "translation": "Service only available in Mattermost Enterprise edition"
  },
  {
    "id": "api.config.update_config.translations.app_error",
    "translation": "Failed to update server translations."
  },
  {
    "id": "api.command_templates.unsupported.app_error",
    "translation": "The templates command is not supported on your device."
  },
  {
    "id": "api.command_templates.name",
    "translation": "templates"
  },
  {
    "id": "api.command_templates.desc",
    "translation": "Open the create from template window"
  },
  {
    "id": "app.worktemplates.execute_work_template.name_too_long",
    "translation": "The name field cannot contain more than 64 characters."
  },
  {
    "id": "app.team.create_onboarding_linked_board.product_key_not_found",
    "translation": "product key not found"
  },
  {
    "id": "app.team.create_onboarding_linked_board.itf_not_of_type",
    "translation": "interface not of expected type"
  },
  {
    "id": "app.team.create_onboarding_linked_board.error_no_board",
    "translation": "error no board created"
  },
  {
    "id": "app.team.create_onboarding_linked_board.error_patching_board",
    "translation": "error while patching board"
  },
  {
    "id": "app.team.create_onboarding_linked_board.error_getting_templates",
    "translation": "error getting boards templates"
  },
  {
    "id": "app.team.create_onboarding_linked_board.error_duplicating_board",
    "translation": "error duplicating board"
  },
  {
    "id": "api.system.logs.invalidFilter",
    "translation": "Invalid log filter"
  },
  {
    "id": "api.server.cws.delete_workspace.app_error",
    "translation": "CWS Server failed to delete workspace."
  }
]
