[
  {
    "id": "April",
    "translation": "April"
  },
  {
    "id": "August",
    "translation": "August"
  },
  {
    "id": "December",
    "translation": "December"
  },
  {
    "id": "February",
    "translation": "February"
  },
  {
    "id": "January",
    "translation": "January"
  },
  {
    "id": "July",
    "translation": "July"
  },
  {
    "id": "June",
    "translation": "June"
  },
  {
    "id": "March",
    "translation": "March"
  },
  {
    "id": "May",
    "translation": "May"
  },
  {
    "id": "November",
    "translation": "November"
  },
  {
    "id": "October",
    "translation": "October"
  },
  {
    "id": "September",
    "translation": "September"
  },
  {
    "id": "actiance.export.marshalToXml.appError",
    "translation": "Unable to convert export to XML."
  },
  {
    "id": "api.admin.add_certificate.array.app_error",
    "translation": "No file under 'certificate' in request."
  },
  {
    "id": "api.admin.add_certificate.no_file.app_error",
    "translation": "No file under 'certificate' in request."
  },
  {
    "id": "api.admin.add_certificate.open.app_error",
    "translation": "Could not open certificate file."
  },
  {
    "id": "api.admin.add_certificate.saving.app_error",
    "translation": "Could not save certificate file."
  },
  {
    "id": "api.admin.delete_brand_image.storage.not_found",
    "translation": "Unable to delete brand image, not found."
  },
  {
    "id": "api.admin.file_read_error",
    "translation": "Error reading log file."
  },
  {
    "id": "api.admin.get_brand_image.storage.app_error",
    "translation": "Image storage is not configured."
  },
  {
    "id": "api.admin.remove_certificate.delete.app_error",
    "translation": "An error occurred while deleting the certificate."
  },
  {
    "id": "api.admin.saml.metadata.app_error",
    "translation": "An error occurred while building Service Provider Metadata."
  },
  {
    "id": "api.admin.saml.not_available.app_error",
    "translation": "SAML 2.0 is not configured or supported on this server."
  },
  {
    "id": "api.admin.test_email.body",
    "translation": "It appears your Mattermost email is setup correctly!"
  },
  {
    "id": "api.admin.test_email.missing_server",
    "translation": "SMTP Server is required"
  },
  {
    "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.subject",
    "translation": "Mattermost - Testing Email Settings"
  },
  {
    "id": "api.admin.test_s3.missing_s3_bucket",
    "translation": "S3 Bucket is required"
  },
  {
    "id": "api.admin.upload_brand_image.array.app_error",
    "translation": "Empty array under 'image' in request"
  },
  {
    "id": "api.admin.upload_brand_image.no_file.app_error",
    "translation": "No file under 'image' in request"
  },
  {
    "id": "api.admin.upload_brand_image.parse.app_error",
    "translation": "Could not parse multipart form"
  },
  {
    "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.too_large.app_error",
    "translation": "Unable to upload file. File is too large."
  },
  {
    "id": "api.bot.create_disabled",
    "translation": "Bot creation has been disabled."
  },
  {
    "id": "api.bot.delete_bot_icon_image.app_error",
    "translation": "Couldn't delete icon image"
  },
  {
    "id": "api.bot.get_bot_icon_image.read.app_error",
    "translation": "Unable to read icon image file"
  },
  {
    "id": "api.bot.set_bot_icon_image.app_error",
    "translation": "Couldn't upload icon image"
  },
  {
    "id": "api.bot.set_bot_icon_image.array.app_error",
    "translation": "Empty array under 'image' in request"
  },
  {
    "id": "api.bot.set_bot_icon_image.no_file.app_error",
    "translation": "No file under 'image' in request"
  },
  {
    "id": "api.bot.set_bot_icon_image.open.app_error",
    "translation": "Could not open image file"
  },
  {
    "id": "api.bot.set_bot_icon_image.parse.app_error",
    "translation": "Could not parse multipart form"
  },
  {
    "id": "api.bot.set_bot_icon_image.too_large.app_error",
    "translation": "Unable to upload icon image. File is too large."
  },
  {
    "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.channel.add_guest.added",
    "translation": "%v added to the channel as guest by %v."
  },
  {
    "id": "api.channel.add_member.added",
    "translation": "%v added to the channel by %v."
  },
  {
    "id": "api.channel.add_members.error",
    "translation": "Error adding channel member(s)."
  },
  {
    "id": "api.channel.add_members.user_denied",
    "translation": "Channel membership denied to the following users because of group constraints: {{ .UserIDs }}"
  },
  {
    "id": "api.channel.add_user.to.channel.failed.app_error",
    "translation": "Failed to add user to channel"
  },
  {
    "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.type.app_error",
    "translation": "Can not add user to this channel type"
  },
  {
    "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.change_channel_privacy.public_to_private",
    "translation": "This channel has been converted to a Private Channel."
  },
  {
    "id": "api.channel.convert_channel_to_private.default_channel_error",
    "translation": "This default channel cannot be converted into a private channel."
  },
  {
    "id": "api.channel.convert_channel_to_private.private_channel_error",
    "translation": "The channel requested to convert is already a private channel."
  },
  {
    "id": "api.channel.create_channel.direct_channel.app_error",
    "translation": "Must use createDirectChannel API service for direct message channel creation"
  },
  {
    "id": "api.channel.create_channel.invalid_character.app_error",
    "translation": "Invalid character '__' in channel name for non-direct channel"
  },
  {
    "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_default_channels.off_topic",
    "translation": "Off-Topic"
  },
  {
    "id": "api.channel.create_default_channels.town_square",
    "translation": "Town Square"
  },
  {
    "id": "api.channel.create_direct_channel.invalid_user.app_error",
    "translation": "Invalid user ID for direct channel creation"
  },
  {
    "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_group.bad_user.app_error",
    "translation": "One of the provided users does not exist"
  },
  {
    "id": "api.channel.delete_channel.archived",
    "translation": "%v archived the channel."
  },
  {
    "id": "api.channel.delete_channel.cannot.app_error",
    "translation": "Unable to delete the default channel {{.Channel}}"
  },
  {
    "id": "api.channel.delete_channel.deleted.app_error",
    "translation": "The channel has been archived or deleted"
  },
  {
    "id": "api.channel.delete_channel.type.invalid",
    "translation": "Unable to delete direct or group message channels"
  },
  {
    "id": "api.channel.guest_join_channel.post_and_forget",
    "translation": "%v joined the channel as guest."
  },
  {
    "id": "api.channel.join_channel.permissions.app_error",
    "translation": "You do not have the appropriate permissions"
  },
  {
    "id": "api.channel.join_channel.post_and_forget",
    "translation": "%v joined the channel."
  },
  {
    "id": "api.channel.leave.default.app_error",
    "translation": "Unable to leave the default channel {{.Channel}}"
  },
  {
    "id": "api.channel.leave.direct.app_error",
    "translation": "Unable to leave a direct message 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.left",
    "translation": "%v left the channel."
  },
  {
    "id": "api.channel.patch_update_channel.forbidden.app_error",
    "translation": "Failed to update the channel"
  },
  {
    "id": "api.channel.post_channel_privacy_message.error",
    "translation": "Failed to post channel privacy update message."
  },
  {
    "id": "api.channel.post_update_channel_displayname_message_and_forget.create_post.error",
    "translation": "Failed to post displayname update message"
  },
  {
    "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.updated_from",
    "translation": "%s updated the channel display name from: %s to: %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_header_message_and_forget.removed",
    "translation": "%s removed the channel header (was: %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.updated_from",
    "translation": "%s updated the channel header from: %s to: %s"
  },
  {
    "id": "api.channel.post_update_channel_header_message_and_forget.updated_to",
    "translation": "%s updated the channel header to: %s"
  },
  {
    "id": "api.channel.post_user_add_remove_message_and_forget.error",
    "translation": "Failed to post join/leave message"
  },
  {
    "id": "api.channel.remove.default.app_error",
    "translation": "Unable to remove user from the default channel {{.Channel}}"
  },
  {
    "id": "api.channel.remove_channel_member.type.app_error",
    "translation": "Unable to remove user from a 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_member.removed",
    "translation": "%v removed from the channel."
  },
  {
    "id": "api.channel.remove_members.denied",
    "translation": "Channel membership removal denied to the following users because of group constraints: {{ .UserIDs }}"
  },
  {
    "id": "api.channel.remove_user_from_channel.app_error",
    "translation": "Can not remove user from this channel type"
  },
  {
    "id": "api.channel.rename_channel.cant_rename_direct_messages.app_error",
    "translation": "You cannot rename a direct message channel"
  },
  {
    "id": "api.channel.rename_channel.cant_rename_group_messages.app_error",
    "translation": "You cannot rename a group message channel"
  },
  {
    "id": "api.channel.update_channel.deleted.app_error",
    "translation": "The channel has been archived or deleted"
  },
  {
    "id": "api.channel.update_channel.invalid_character.app_error",
    "translation": "Invalid channel name. User ids are not permitted in channel name for non-direct message channels."
  },
  {
    "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.typechange.app_error",
    "translation": "Channel type cannot be updated"
  },
  {
    "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_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.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_privacy.default_channel_error",
    "translation": "The default channel cannot be made private."
  },
  {
    "id": "api.channel.update_channel_scheme.license.error",
    "translation": "Your license does not support updating a channel's scheme"
  },
  {
    "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_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_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.command.admin_only.app_error",
    "translation": "Integrations have been limited to admins only."
  },
  {
    "id": "api.command.command_post.forbidden.app_error",
    "translation": "Specified user is not a member of specified channel."
  },
  {
    "id": "api.command.disabled.app_error",
    "translation": "Commands have been disabled by the system admin."
  },
  {
    "id": "api.command.duplicate_trigger.app_error",
    "translation": "This trigger word is already in use. Please choose another word."
  },
  {
    "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.execute_command.debug",
    "translation": "Executing cmd=%v userId=%v"
  },
  {
    "id": "api.command.execute_command.failed.app_error",
    "translation": "Command with a trigger of '{{.Trigger}}' failed"
  },
  {
    "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_resp.app_error",
    "translation": "Command with a trigger of '{{.Trigger}}' returned response {{.Status}}"
  },
  {
    "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.start.app_error",
    "translation": "No command trigger found"
  },
  {
    "id": "api.command.invite_people.desc",
    "translation": "Send an email invite to your Mattermost team"
  },
  {
    "id": "api.command.invite_people.email_invitations_off",
    "translation": "Email invitations are disabled, no invite(s) sent"
  },
  {
    "id": "api.command.invite_people.email_off",
    "translation": "Email has not been configured, no invite(s) sent"
  },
  {
    "id": "api.command.invite_people.fail",
    "translation": "Encountered an error sending email invite(s)"
  },
  {
    "id": "api.command.invite_people.hint",
    "translation": "[name@domain.com ...]"
  },
  {
    "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.name",
    "translation": "invite_people"
  },
  {
    "id": "api.command.invite_people.no_email",
    "translation": "Please specify one or more valid email addresses"
  },
  {
    "id": "api.command.invite_people.sent",
    "translation": "Email invite(s) sent"
  },
  {
    "id": "api.command.team_mismatch.app_error",
    "translation": "Unable to update commands across teams"
  },
  {
    "id": "api.command_away.desc",
    "translation": "Set your status away"
  },
  {
    "id": "api.command_away.name",
    "translation": "away"
  },
  {
    "id": "api.command_away.success",
    "translation": "You are now away"
  },
  {
    "id": "api.command_channel_header.channel.app_error",
    "translation": "Error to retrieve the current channel."
  },
  {
    "id": "api.command_channel_header.desc",
    "translation": "Edit the channel header"
  },
  {
    "id": "api.command_channel_header.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_channel_header.message.app_error",
    "translation": "Text must be provided with the /header command."
  },
  {
    "id": "api.command_channel_header.name",
    "translation": "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.update_channel.app_error",
    "translation": "Error to update the current channel."
  },
  {
    "id": "api.command_channel_purpose.channel.app_error",
    "translation": "Error to retrieve the current channel."
  },
  {
    "id": "api.command_channel_purpose.desc",
    "translation": "Edit the channel purpose"
  },
  {
    "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.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_channel_purpose.message.app_error",
    "translation": "A message must be provided with the /purpose command."
  },
  {
    "id": "api.command_channel_purpose.name",
    "translation": "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.update_channel.app_error",
    "translation": "Error to update the current channel."
  },
  {
    "id": "api.command_channel_remove.channel.app_error",
    "translation": "Error retrieving the current channel."
  },
  {
    "id": "api.command_channel_rename.channel.app_error",
    "translation": "Error to retrieve the current channel."
  },
  {
    "id": "api.command_channel_rename.desc",
    "translation": "Rename the channel"
  },
  {
    "id": "api.command_channel_rename.direct_group.app_error",
    "translation": "Unable to rename direct message channels."
  },
  {
    "id": "api.command_channel_rename.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_channel_rename.message.app_error",
    "translation": "A message must be provided with the /rename command."
  },
  {
    "id": "api.command_channel_rename.name",
    "translation": "rename"
  },
  {
    "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.too_long.app_error",
    "translation": "Channel name must be {{.Length}} or fewer characters"
  },
  {
    "id": "api.command_channel_rename.too_short.app_error",
    "translation": "Channel name must be {{.Length}} or more characters"
  },
  {
    "id": "api.command_channel_rename.update_channel.app_error",
    "translation": "Error to update the current channel."
  },
  {
    "id": "api.command_code.desc",
    "translation": "Display text as a code block"
  },
  {
    "id": "api.command_code.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_code.message.app_error",
    "translation": "A message must be provided with the /code command."
  },
  {
    "id": "api.command_code.name",
    "translation": "code"
  },
  {
    "id": "api.command_collapse.desc",
    "translation": "Turn on auto-collapsing of image previews"
  },
  {
    "id": "api.command_collapse.name",
    "translation": "collapse"
  },
  {
    "id": "api.command_collapse.success",
    "translation": "Image links now collapse by default"
  },
  {
    "id": "api.command_dnd.desc",
    "translation": "Do not disturb disables desktop and mobile push notifications."
  },
  {
    "id": "api.command_dnd.disabled",
    "translation": "Do Not Disturb is disabled."
  },
  {
    "id": "api.command_dnd.error",
    "translation": "Error to retrieve the user status."
  },
  {
    "id": "api.command_dnd.name",
    "translation": "dnd"
  },
  {
    "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_echo.delay.app_error",
    "translation": "Delays must be under 10000 seconds"
  },
  {
    "id": "api.command_echo.desc",
    "translation": "Echo back text from your account"
  },
  {
    "id": "api.command_echo.high_volume.app_error",
    "translation": "High volume of echo request, cannot process request"
  },
  {
    "id": "api.command_echo.hint",
    "translation": "'message' [delay in seconds]"
  },
  {
    "id": "api.command_echo.message.app_error",
    "translation": "A message must be provided with the /echo command."
  },
  {
    "id": "api.command_echo.name",
    "translation": "echo"
  },
  {
    "id": "api.command_expand.desc",
    "translation": "Turn off auto-collapsing of image previews"
  },
  {
    "id": "api.command_expand.name",
    "translation": "expand"
  },
  {
    "id": "api.command_expand.success",
    "translation": "Image links now expand by default"
  },
  {
    "id": "api.command_expand_collapse.fail.app_error",
    "translation": "An error occurred while expanding previews"
  },
  {
    "id": "api.command_groupmsg.desc",
    "translation": "Sends a Group Message to the specified users"
  },
  {
    "id": "api.command_groupmsg.fail.app_error",
    "translation": "An error occurred while messaging the users."
  },
  {
    "id": "api.command_groupmsg.group_fail.app_error",
    "translation": "An error occurred while creating the group message."
  },
  {
    "id": "api.command_groupmsg.hint",
    "translation": "@[username1],@[username2] 'message'"
  },
  {
    "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.max_users.app_error",
    "translation": "Group messages are limited to a maximum of {{.MaxUsers}} users."
  },
  {
    "id": "api.command_groupmsg.min_users.app_error",
    "translation": "Group messages are limited to a minimum of {{.MinUsers}} users."
  },
  {
    "id": "api.command_groupmsg.name",
    "translation": "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_help.desc",
    "translation": "Open the Mattermost help page"
  },
  {
    "id": "api.command_help.name",
    "translation": "help"
  },
  {
    "id": "api.command_invite.channel.app_error",
    "translation": "Error to retrieve the current channel."
  },
  {
    "id": "api.command_invite.channel.error",
    "translation": "Could not find the channel {{.Channel}}. Please use the [channel handle](https://about.mattermost.com/default-channel-handle-documentation) to identify channels."
  },
  {
    "id": "api.command_invite.desc",
    "translation": "Invite a user to a channel"
  },
  {
    "id": "api.command_invite.directchannel.app_error",
    "translation": "You can't add someone to a direct message channel."
  },
  {
    "id": "api.command_invite.fail.app_error",
    "translation": "An error occurred while joining the 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 synched to this channel."
  },
  {
    "id": "api.command_invite.hint",
    "translation": "@[username] ~[channel]"
  },
  {
    "id": "api.command_invite.missing_message.app_error",
    "translation": "Missing Username and Channel."
  },
  {
    "id": "api.command_invite.missing_user.app_error",
    "translation": "We couldn't find the user. They may have been deactivated by the System Administrator."
  },
  {
    "id": "api.command_invite.name",
    "translation": "invite"
  },
  {
    "id": "api.command_invite.permission.app_error",
    "translation": "You don't have enough permissions to add {{.User}} in {{.Channel}}."
  },
  {
    "id": "api.command_invite.private_channel.app_error",
    "translation": "Could not find the channel {{.Channel}}. Please use the channel handle to identify channels."
  },
  {
    "id": "api.command_invite.success",
    "translation": "{{.User}} added to {{.Channel}} channel."
  },
  {
    "id": "api.command_invite.user_already_in_channel.app_error",
    "translation": "{{.User}} is already in the channel."
  },
  {
    "id": "api.command_invite.user_not_in_team.app_error",
    "translation": "@{{.Username}} is not a member of the team."
  },
  {
    "id": "api.command_invite_people.permission.app_error",
    "translation": "You don't have permission to invite new users to this server."
  },
  {
    "id": "api.command_join.desc",
    "translation": "Join the open channel"
  },
  {
    "id": "api.command_join.fail.app_error",
    "translation": "An error occurred while joining the channel."
  },
  {
    "id": "api.command_join.hint",
    "translation": "~[channel]"
  },
  {
    "id": "api.command_join.list.app_error",
    "translation": "An error occurred while listing channels."
  },
  {
    "id": "api.command_join.missing.app_error",
    "translation": "Unable to find the channel"
  },
  {
    "id": "api.command_join.name",
    "translation": "join"
  },
  {
    "id": "api.command_kick.name",
    "translation": "kick"
  },
  {
    "id": "api.command_leave.desc",
    "translation": "Leave the current channel"
  },
  {
    "id": "api.command_leave.fail.app_error",
    "translation": "An error occurred while leaving the channel."
  },
  {
    "id": "api.command_leave.name",
    "translation": "leave"
  },
  {
    "id": "api.command_logout.desc",
    "translation": "Logout of Mattermost"
  },
  {
    "id": "api.command_logout.fail_message",
    "translation": "Failed to log out"
  },
  {
    "id": "api.command_logout.name",
    "translation": "logout"
  },
  {
    "id": "api.command_me.desc",
    "translation": "Do an action"
  },
  {
    "id": "api.command_me.hint",
    "translation": "[message]"
  },
  {
    "id": "api.command_me.name",
    "translation": "me"
  },
  {
    "id": "api.command_msg.desc",
    "translation": "Send Direct Message to a user"
  },
  {
    "id": "api.command_msg.dm_fail.app_error",
    "translation": "An error occurred while creating the direct message."
  },
  {
    "id": "api.command_msg.fail.app_error",
    "translation": "An error occurred while messaging the user."
  },
  {
    "id": "api.command_msg.hint",
    "translation": "@[username] 'message'"
  },
  {
    "id": "api.command_msg.missing.app_error",
    "translation": "Unable to find the user"
  },
  {
    "id": "api.command_msg.name",
    "translation": "message"
  },
  {
    "id": "api.command_msg.permission.app_error",
    "translation": "You don't have the appropriate permissions to direct message this user."
  },
  {
    "id": "api.command_mute.desc",
    "translation": "Turns off desktop, email and push notifications for the current channel or the [channel] specified."
  },
  {
    "id": "api.command_mute.error",
    "translation": "Could not find the channel {{.Channel}}. Please use the [channel handle](https://about.mattermost.com/default-channel-handle-documentation) to identify channels."
  },
  {
    "id": "api.command_mute.hint",
    "translation": "~[channel]"
  },
  {
    "id": "api.command_mute.name",
    "translation": "mute"
  },
  {
    "id": "api.command_mute.no_channel.error",
    "translation": "Could not find the specified channel. Please use the [channel handle](https://about.mattermost.com/default-channel-handle-documentation) to identify channels."
  },
  {
    "id": "api.command_mute.not_member.error",
    "translation": "Could not mute channel {{.Channel}} as you are not a member."
  },
  {
    "id": "api.command_mute.success_mute",
    "translation": "You will not receive notifications for {{.Channel}} until channel mute is turned off."
  },
  {
    "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_unmute",
    "translation": "{{.Channel}} is no longer muted."
  },
  {
    "id": "api.command_mute.success_unmute_direct_msg",
    "translation": "This channel is no longer muted."
  },
  {
    "id": "api.command_offline.desc",
    "translation": "Set your status offline"
  },
  {
    "id": "api.command_offline.name",
    "translation": "offline"
  },
  {
    "id": "api.command_offline.success",
    "translation": "You are now offline"
  },
  {
    "id": "api.command_online.desc",
    "translation": "Set your status online"
  },
  {
    "id": "api.command_online.name",
    "translation": "online"
  },
  {
    "id": "api.command_online.success",
    "translation": "You are now online"
  },
  {
    "id": "api.command_open.name",
    "translation": "open"
  },
  {
    "id": "api.command_remove.desc",
    "translation": "Remove a member from the channel"
  },
  {
    "id": "api.command_remove.direct_group.app_error",
    "translation": "You can't remove someone from a direct message channel."
  },
  {
    "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.hint",
    "translation": "@[username]"
  },
  {
    "id": "api.command_remove.message.app_error",
    "translation": "A message must be provided with the /remove or /kick command."
  },
  {
    "id": "api.command_remove.missing.app_error",
    "translation": "We couldn't find the user. They may have been deactivated by the System Administrator."
  },
  {
    "id": "api.command_remove.name",
    "translation": "remove"
  },
  {
    "id": "api.command_remove.permission.app_error",
    "translation": "You don't have the appropriate permissions to remove the member."
  },
  {
    "id": "api.command_remove.user_not_in_channel",
    "translation": "{{.Username}} is not a member of this channel."
  },
  {
    "id": "api.command_search.desc",
    "translation": "Search text in messages"
  },
  {
    "id": "api.command_search.hint",
    "translation": "[text]"
  },
  {
    "id": "api.command_search.name",
    "translation": "search"
  },
  {
    "id": "api.command_search.unsupported.app_error",
    "translation": "The search command is not supported on your device"
  },
  {
    "id": "api.command_settings.desc",
    "translation": "Open the Account Settings dialog"
  },
  {
    "id": "api.command_settings.name",
    "translation": "settings"
  },
  {
    "id": "api.command_settings.unsupported.app_error",
    "translation": "The settings command is not supported on your device"
  },
  {
    "id": "api.command_shortcuts.desc",
    "translation": "Displays a list of keyboard shortcuts"
  },
  {
    "id": "api.command_shortcuts.name",
    "translation": "shortcuts"
  },
  {
    "id": "api.command_shortcuts.unsupported.app_error",
    "translation": "The shortcuts command is not supported on your device"
  },
  {
    "id": "api.command_shrug.desc",
    "translation": "Adds ¯\\_(ツ)_/¯ to your message"
  },
  {
    "id": "api.command_shrug.hint",
    "translation": "[message]"
  },
  {
    "id": "api.command_shrug.name",
    "translation": "shrug"
  },
  {
    "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.config.update_config.restricted_merge.app_error",
    "translation": "Failed to merge given config."
  },
  {
    "id": "api.context.404.app_error",
    "translation": "Sorry, we could not find the page."
  },
  {
    "id": "api.context.invalid_body_param.app_error",
    "translation": "Invalid or missing {{.Name}} in request body"
  },
  {
    "id": "api.context.invalid_param.app_error",
    "translation": "Invalid {{.Name}} parameter"
  },
  {
    "id": "api.context.invalid_token.error",
    "translation": "Invalid session token={{.Token}}, err={{.Error}}"
  },
  {
    "id": "api.context.invalid_url_param.app_error",
    "translation": "Invalid or missing {{.Name}} parameter in request URL"
  },
  {
    "id": "api.context.mfa_required.app_error",
    "translation": "Multi-factor authentication is required on this server."
  },
  {
    "id": "api.context.permissions.app_error",
    "translation": "You do not have the appropriate permissions"
  },
  {
    "id": "api.context.session_expired.app_error",
    "translation": "Invalid or expired session, please login again."
  },
  {
    "id": "api.context.token_provided.app_error",
    "translation": "Session is not OAuth but token was provided in the query string"
  },
  {
    "id": "api.create_terms_of_service.custom_terms_of_service_disabled.app_error",
    "translation": "Custom terms of service feature is disabled"
  },
  {
    "id": "api.create_terms_of_service.empty_text.app_error",
    "translation": "Please enter text for your Custom Terms of Service."
  },
  {
    "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_batching.add_notification_email_to_batch.disabled.app_error",
    "translation": "Email batching has been disabled by the system administrator"
  },
  {
    "id": "api.email_batching.render_batched_post.date",
    "translation": "{{.Hour}}:{{.Minute}} {{.Timezone}}, {{.Month}} {{.Day}}"
  },
  {
    "id": "api.email_batching.render_batched_post.direct_message",
    "translation": "Direct Message from "
  },
  {
    "id": "api.email_batching.render_batched_post.go_to_post",
    "translation": "Go to Post"
  },
  {
    "id": "api.email_batching.render_batched_post.group_message",
    "translation": "Group Message from "
  },
  {
    "id": "api.email_batching.render_batched_post.notification",
    "translation": "Notification from "
  },
  {
    "id": "api.email_batching.send_batched_email_notification.body_text",
    "translation": {
      "one": "You have a new notification.",
      "other": "You have {{.Count}} new notifications."
    }
  },
  {
    "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.emoji.create.duplicate.app_error",
    "translation": "Unable to create emoji. Another emoji with the same name already exists."
  },
  {
    "id": "api.emoji.create.other_user.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "api.emoji.create.parse.app_error",
    "translation": "Unable to create emoji. Could not understand request."
  },
  {
    "id": "api.emoji.create.too_large.app_error",
    "translation": "Unable to create emoji. Image must be less than 1 MB in size."
  },
  {
    "id": "api.emoji.disabled.app_error",
    "translation": "Custom emoji have been disabled by the system admin."
  },
  {
    "id": "api.emoji.get_image.decode.app_error",
    "translation": "Unable to decode image file for emoji."
  },
  {
    "id": "api.emoji.get_image.read.app_error",
    "translation": "Unable to read image file for emoji."
  },
  {
    "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.upload.image.app_error",
    "translation": "Unable to create emoji. File must be a PNG, JPEG, or GIF."
  },
  {
    "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.large_image.encode_error",
    "translation": "Unable to create emoji. An error occurred when trying to encode the 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.gif_encode_error",
    "translation": "Unable to create emoji. An error occurred when trying to encode the GIF 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.open.app_error",
    "translation": "Unable to create the emoji. An error occurred when trying to open the attached image."
  },
  {
    "id": "api.file.attachments.disabled.app_error",
    "translation": "File attachments have been disabled on this server."
  },
  {
    "id": "api.file.file_exists.exists_local.app_error",
    "translation": "Unable to check if the file exists."
  },
  {
    "id": "api.file.file_exists.s3.app_error",
    "translation": "Unable to check if the file exists."
  },
  {
    "id": "api.file.get_file.public_invalid.app_error",
    "translation": "The public link does not appear to be valid"
  },
  {
    "id": "api.file.get_file_preview.no_preview.app_error",
    "translation": "File doesn't have a preview image"
  },
  {
    "id": "api.file.get_file_thumbnail.no_thumbnail.app_error",
    "translation": "File doesn't have a thumbnail image"
  },
  {
    "id": "api.file.get_public_link.disabled.app_error",
    "translation": "Public links have been disabled"
  },
  {
    "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.move_file.copy_within_s3.app_error",
    "translation": "Unable to copy file within S3."
  },
  {
    "id": "api.file.move_file.delete_from_s3.app_error",
    "translation": "Unable to delete file from S3."
  },
  {
    "id": "api.file.move_file.rename.app_error",
    "translation": "Unable to move file locally."
  },
  {
    "id": "api.file.no_driver.app_error",
    "translation": "No file driver selected."
  },
  {
    "id": "api.file.read_file.reading_local.app_error",
    "translation": "Encountered an error reading from local server file storage"
  },
  {
    "id": "api.file.read_file.s3.app_error",
    "translation": "Encountered an error reading from S3 storage"
  },
  {
    "id": "api.file.reader.reading_local.app_error",
    "translation": "Encountered an error opening a reader from local server file storage"
  },
  {
    "id": "api.file.reader.s3.app_error",
    "translation": "Encountered an error opening a reader from S3 storage"
  },
  {
    "id": "api.file.test_connection.local.connection.app_error",
    "translation": "Don't have permissions to write to local path specified or other error."
  },
  {
    "id": "api.file.test_connection.s3.bucked_create.app_error",
    "translation": "Unable to create bucket."
  },
  {
    "id": "api.file.test_connection.s3.bucket_exists.app_error",
    "translation": "Error checking if bucket exists."
  },
  {
    "id": "api.file.test_connection.s3.connection.app_error",
    "translation": "Bad connection to S3 or minio."
  },
  {
    "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_number_of_files.app_error",
    "translation": "Unable to upload files. Incorrect number of files specified."
  },
  {
    "id": "api.file.upload_file.large_image.app_error",
    "translation": "File above maximum dimensions could not be uploaded: {{.Filename}}"
  },
  {
    "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.multiple_channel_ids.app_error",
    "translation": "Unable to upload file(s). Multiple conflicting channel_ids."
  },
  {
    "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.read_request.app_error",
    "translation": "Unable to upload file(s). Error reading or parsing request data."
  },
  {
    "id": "api.file.upload_file.rejected_by_plugin.app_error",
    "translation": "Unable to upload file {{.Filename}}. Rejected by plugin: {{.Reason}}"
  },
  {
    "id": "api.file.upload_file.storage.app_error",
    "translation": "Unable to upload file. Image storage is not configured."
  },
  {
    "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.write_file.s3.app_error",
    "translation": "Encountered an error writing to S3"
  },
  {
    "id": "api.file.write_file_locally.create_dir.app_error",
    "translation": "Encountered an error creating the directory for the new file"
  },
  {
    "id": "api.file.write_file_locally.writing.app_error",
    "translation": "Encountered an error writing to local server storage"
  },
  {
    "id": "api.getGroups.invalid_or_missing_channel_or_team_id",
    "translation": "Invalid/Missing channel ID or Team ID."
  },
  {
    "id": "api.incoming_webhook.disabled.app_error",
    "translation": "Incoming webhooks have been disabled by the system admin."
  },
  {
    "id": "api.incoming_webhook.invalid_username.app_error",
    "translation": "Invalid username."
  },
  {
    "id": "api.io_error",
    "translation": "input/output error"
  },
  {
    "id": "api.ldap_group.not_found",
    "translation": "ldap group not found"
  },
  {
    "id": "api.ldap_groups.license_error",
    "translation": "your license does not support ldap groups"
  },
  {
    "id": "api.license.add_license.array.app_error",
    "translation": "Empty array under 'license' in request"
  },
  {
    "id": "api.license.add_license.expired.app_error",
    "translation": "License is either expired or has not yet started."
  },
  {
    "id": "api.license.add_license.invalid.app_error",
    "translation": "Invalid license file."
  },
  {
    "id": "api.license.add_license.invalid_count.app_error",
    "translation": "Unable to count total unique users."
  },
  {
    "id": "api.license.add_license.no_file.app_error",
    "translation": "No file under 'license' in request"
  },
  {
    "id": "api.license.add_license.open.app_error",
    "translation": "Could not open license file"
  },
  {
    "id": "api.license.add_license.save.app_error",
    "translation": "License did not save properly."
  },
  {
    "id": "api.license.add_license.save_active.app_error",
    "translation": "Active license ID did not save properly."
  },
  {
    "id": "api.license.add_license.unique_users.app_error",
    "translation": "This license 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.client.old_format.app_error",
    "translation": "New format for the client license is not supported yet. Please specify format=old in the query string."
  },
  {
    "id": "api.marshal_error",
    "translation": "marshal error"
  },
  {
    "id": "api.oauth.allow_oauth.redirect_callback.app_error",
    "translation": "invalid_request: Supplied redirect_uri did not match registered callback_url"
  },
  {
    "id": "api.oauth.allow_oauth.turn_off.app_error",
    "translation": "The system admin has turned off OAuth2 Service Provider."
  },
  {
    "id": "api.oauth.authorize_oauth.disabled.app_error",
    "translation": "The system admin has turned off OAuth2 Service Provider."
  },
  {
    "id": "api.oauth.get_access_token.bad_client_id.app_error",
    "translation": "invalid_request: Bad client_id"
  },
  {
    "id": "api.oauth.get_access_token.bad_client_secret.app_error",
    "translation": "invalid_request: Missing client_secret"
  },
  {
    "id": "api.oauth.get_access_token.bad_grant.app_error",
    "translation": "invalid_request: Bad grant_type"
  },
  {
    "id": "api.oauth.get_access_token.credentials.app_error",
    "translation": "invalid_client: Invalid client credentials"
  },
  {
    "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.expired_code.app_error",
    "translation": "invalid_grant: Invalid or expired authorization code"
  },
  {
    "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.internal_saving.app_error",
    "translation": "server_error: Encountered internal server error while saving access token to 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_user.app_error",
    "translation": "server_error: Encountered internal server error while pulling user from database"
  },
  {
    "id": "api.oauth.get_access_token.missing_code.app_error",
    "translation": "invalid_request: Missing code"
  },
  {
    "id": "api.oauth.get_access_token.missing_refresh_token.app_error",
    "translation": "invalid_request: Missing refresh_token"
  },
  {
    "id": "api.oauth.get_access_token.redirect_uri.app_error",
    "translation": "invalid_request: Supplied redirect_uri does not match authorization code redirect_uri"
  },
  {
    "id": "api.oauth.get_access_token.refresh_token.app_error",
    "translation": "invalid_grant: Invalid refresh token"
  },
  {
    "id": "api.oauth.invalid_state_token.app_error",
    "translation": "Invalid state token"
  },
  {
    "id": "api.oauth.register_oauth_app.turn_off.app_error",
    "translation": "The system admin has turned off OAuth2 Service Provider."
  },
  {
    "id": "api.oauth.revoke_access_token.del_session.app_error",
    "translation": "Error deleting session from DB"
  },
  {
    "id": "api.oauth.revoke_access_token.del_token.app_error",
    "translation": "Error deleting access token from DB"
  },
  {
    "id": "api.oauth.revoke_access_token.get.app_error",
    "translation": "Error getting access token from DB before deletion"
  },
  {
    "id": "api.oauth.singup_with_oauth.disabled.app_error",
    "translation": "User sign-up is disabled."
  },
  {
    "id": "api.oauth.singup_with_oauth.expired_link.app_error",
    "translation": "The signup link has expired"
  },
  {
    "id": "api.oauth.singup_with_oauth.invalid_link.app_error",
    "translation": "The signup link does not appear to be valid"
  },
  {
    "id": "api.outgoing_webhook.disabled.app_error",
    "translation": "Outgoing webhooks have been disabled by the system admin."
  },
  {
    "id": "api.plugin.add_public_key.open.app_error",
    "translation": "An error occurred while opening the public key file."
  },
  {
    "id": "api.plugin.install.download_failed.app_error",
    "translation": "An error occurred while downloading the plugin."
  },
  {
    "id": "api.plugin.install.insecure_url.app_error",
    "translation": "An insecure url was given to download the plugin. Please provide a secure url or enable PluginSettings.AllowInsecureDownloadUrl in your configuration."
  },
  {
    "id": "api.plugin.install.invalid_url.app_error",
    "translation": "An invalid url was given to download the plugin."
  },
  {
    "id": "api.plugin.install.reading_stream_failed.app_error",
    "translation": "An error ocurred reading the plugin file stream."
  },
  {
    "id": "api.plugin.upload.array.app_error",
    "translation": "File array is empty in multipart/form request"
  },
  {
    "id": "api.plugin.upload.file.app_error",
    "translation": "Unable to open file in multipart/form request"
  },
  {
    "id": "api.plugin.upload.no_file.app_error",
    "translation": "Missing file in multipart/form request"
  },
  {
    "id": "api.plugin.verify_plugin.app_error",
    "translation": "Unable to verify plugin signature."
  },
  {
    "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_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_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_mentions.message.one",
    "translation": "@{{.Username}} did not get notified by this mention because they are not in the channel."
  },
  {
    "id": "api.post.create_post.can_not_post_to_deleted.error",
    "translation": "Can not post to deleted channel."
  },
  {
    "id": "api.post.create_post.channel_root_id.app_error",
    "translation": "Invalid ChannelId for RootId parameter"
  },
  {
    "id": "api.post.create_post.parent_id.app_error",
    "translation": "Invalid ParentId parameter"
  },
  {
    "id": "api.post.create_post.root_id.app_error",
    "translation": "Invalid RootId parameter"
  },
  {
    "id": "api.post.create_post.town_square_read_only",
    "translation": "This channel is read-only. Only members with permission can post here."
  },
  {
    "id": "api.post.create_webhook_post.creating.app_error",
    "translation": "Error creating post"
  },
  {
    "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.deduplicate_create_post.pending",
    "translation": "Rejected post since another client is making the same request."
  },
  {
    "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.disabled_all",
    "translation": "@all 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_here",
    "translation": "@here has been disabled because the channel has more than {{.Users}} users."
  },
  {
    "id": "api.post.do_action.action_id.app_error",
    "translation": "Invalid action id"
  },
  {
    "id": "api.post.do_action.action_integration.app_error",
    "translation": "Action integration error"
  },
  {
    "id": "api.post.get_message_for_notification.files_sent",
    "translation": {
      "one": "{{.Count}} file sent: {{.Filenames}}",
      "other": "{{.Count}} files sent: {{.Filenames}}"
    }
  },
  {
    "id": "api.post.get_message_for_notification.images_sent",
    "translation": {
      "one": "{{.Count}} image sent: {{.Filenames}}",
      "other": "{{.Count}} images sent: {{.Filenames}}"
    }
  },
  {
    "id": "api.post.link_preview_disabled.app_error",
    "translation": "Link previews have been disabled by the system administrator."
  },
  {
    "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.save_is_pinned_post.town_square_read_only",
    "translation": "This channel is read-only. Only members with permission can pin or unpin posts here."
  },
  {
    "id": "api.post.send_notification_and_forget.push_channel_mention",
    "translation": " notified the channel."
  },
  {
    "id": "api.post.send_notification_and_forget.push_comment_on_post",
    "translation": " commented on your post."
  },
  {
    "id": "api.post.send_notification_and_forget.push_comment_on_thread",
    "translation": " commented on a thread you participated in."
  },
  {
    "id": "api.post.send_notifications_and_forget.push_explicit_mention",
    "translation": " mentioned you."
  },
  {
    "id": "api.post.send_notifications_and_forget.push_general_message",
    "translation": " posted a message."
  },
  {
    "id": "api.post.send_notifications_and_forget.push_image_only",
    "translation": " attached a file."
  },
  {
    "id": "api.post.send_notifications_and_forget.push_message",
    "translation": "sent you a message."
  },
  {
    "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.update_post.find.app_error",
    "translation": "Unable to find the existing post or comment to update."
  },
  {
    "id": "api.post.update_post.permissions_details.app_error",
    "translation": "Already deleted id={{.PostId}}"
  },
  {
    "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.system_message.app_error",
    "translation": "Unable to update system message"
  },
  {
    "id": "api.post_get_post_by_id.get.app_error",
    "translation": "Unable to get post"
  },
  {
    "id": "api.preference.delete_preferences.delete.app_error",
    "translation": "Unable to delete user preferences."
  },
  {
    "id": "api.preference.preferences_category.get.app_error",
    "translation": "Unable to get user preferences."
  },
  {
    "id": "api.preference.update_preferences.set.app_error",
    "translation": "Unable to set user preferences."
  },
  {
    "id": "api.push_notification.disabled.app_error",
    "translation": "Push Notifications are disabled on this server."
  },
  {
    "id": "api.push_notification.id_loaded.default_message",
    "translation": "You've received a new message."
  },
  {
    "id": "api.push_notification.id_loaded.fetch.app_error",
    "translation": "An error occurred fetching the ID-loaded push notification"
  },
  {
    "id": "api.push_notifications_ack.forward.app_error",
    "translation": "An error occurred sending the receipt delivery to the push notification service"
  },
  {
    "id": "api.reaction.delete.archived_channel.app_error",
    "translation": "You cannot remove a reaction in an archived channel."
  },
  {
    "id": "api.reaction.save.archived_channel.app_error",
    "translation": "You cannot react in an archived channel."
  },
  {
    "id": "api.reaction.save_reaction.invalid.app_error",
    "translation": "Reaction is not valid."
  },
  {
    "id": "api.reaction.save_reaction.user_id.app_error",
    "translation": "You cannot save reaction for the other user."
  },
  {
    "id": "api.reaction.town_square_read_only",
    "translation": "Reacting to posts is not possible in read-only channels."
  },
  {
    "id": "api.restricted_system_admin",
    "translation": "This action is forbidden to a restricted system admin."
  },
  {
    "id": "api.roles.patch_roles.license.error",
    "translation": "Your license does not support advanced permissions."
  },
  {
    "id": "api.scheme.create_scheme.license.error",
    "translation": "Your license does not support creating permissions schemes."
  },
  {
    "id": "api.scheme.delete_scheme.license.error",
    "translation": "Your license not support delete permissions schemes"
  },
  {
    "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.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.patch_scheme.license.error",
    "translation": "Your license does not support update permissions schemes"
  },
  {
    "id": "api.server.start_server.forward80to443.disabled_while_using_lets_encrypt",
    "translation": "Must enable Forward80To443 when using LetsEncrypt"
  },
  {
    "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.rate_limiting_memory_store",
    "translation": "Unable to initialize rate limiting memory store. Check MemoryStoreSize config setting."
  },
  {
    "id": "api.server.start_server.rate_limiting_rate_limiter",
    "translation": "Unable to initialize rate limiting."
  },
  {
    "id": "api.server.start_server.starting.critical",
    "translation": "Error starting server, err:%v"
  },
  {
    "id": "api.slackimport.slack_add_bot_user.email_pwd",
    "translation": "The Integration/Slack Bot user with email {{.Email}} and password {{.Password}} has been imported.\r\n"
  },
  {
    "id": "api.slackimport.slack_add_bot_user.unable_import",
    "translation": "Unable to import the Integration/Slack Bot user {{.Username}}.\r\n"
  },
  {
    "id": "api.slackimport.slack_add_channels.added",
    "translation": "\r\nChannels added:\r\n"
  },
  {
    "id": "api.slackimport.slack_add_channels.failed_to_add_user",
    "translation": "Unable to add Slack user {{.Username}} to channel.\r\n"
  },
  {
    "id": "api.slackimport.slack_add_channels.import_failed",
    "translation": "Unable to import Slack channel {{.DisplayName}}.\r\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.\r\n"
  },
  {
    "id": "api.slackimport.slack_add_users.created",
    "translation": "\r\nUsers created:\r\n"
  },
  {
    "id": "api.slackimport.slack_add_users.email_pwd",
    "translation": "Slack user with email {{.Email}} and password {{.Password}} has been imported.\r\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}}.\r\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.\r\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.\r\n"
  },
  {
    "id": "api.slackimport.slack_add_users.unable_import",
    "translation": "Unable to import Slack user: {{.Username}}.\r\n"
  },
  {
    "id": "api.slackimport.slack_import.log",
    "translation": "Mattermost Slack Import Log\r\n"
  },
  {
    "id": "api.slackimport.slack_import.note1",
    "translation": "- Some messages may not have been imported because they were not supported by this importer.\r\n"
  },
  {
    "id": "api.slackimport.slack_import.note2",
    "translation": "- Slack bot messages are currently not supported.\r\n"
  },
  {
    "id": "api.slackimport.slack_import.note3",
    "translation": "- Additional errors may be found in the server logs.\r\n"
  },
  {
    "id": "api.slackimport.slack_import.notes",
    "translation": "\r\nNotes:\r\n"
  },
  {
    "id": "api.slackimport.slack_import.open.app_error",
    "translation": "Unable to open the file: {{.Filename}}.\r\n"
  },
  {
    "id": "api.slackimport.slack_import.team_fail",
    "translation": "Unable to get the team to import into.\r\n"
  },
  {
    "id": "api.slackimport.slack_import.zip.app_error",
    "translation": "Unable to open the Slack export zip file.\r\n"
  },
  {
    "id": "api.slackimport.slack_import.zip.file_too_large",
    "translation": "{{.Filename}} in zip archive too large to process for Slack import\r\n"
  },
  {
    "id": "api.status.user_not_found.app_error",
    "translation": "User not found"
  },
  {
    "id": "api.system.id_loaded.not_available.app_error",
    "translation": "ID Loaded Push Notifications are not configured or supported on this server."
  },
  {
    "id": "api.team.add_members.error",
    "translation": "Error adding team member(s)."
  },
  {
    "id": "api.team.add_members.user_denied",
    "translation": "This team is managed by groups.  This user is not part of a group that is synched to this team."
  },
  {
    "id": "api.team.add_user_to_team.added",
    "translation": "%v added to the team by %v."
  },
  {
    "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_from_invite.guest.app_error",
    "translation": "Guests are restricted from joining a team with a invite link. Please request a guest email invitation to the team."
  },
  {
    "id": "api.team.demote_user_to_guest.disabled.error",
    "translation": "Guest accounts are disabled."
  },
  {
    "id": "api.team.demote_user_to_guest.license.error",
    "translation": "Your license does not support guest accounts"
  },
  {
    "id": "api.team.get_invite_info.not_open_team",
    "translation": "Invite is invalid because this is not an open team."
  },
  {
    "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_team_icon.read_file.app_error",
    "translation": "Unable to read the team icon file."
  },
  {
    "id": "api.team.import_team.array.app_error",
    "translation": "Empty array under 'file' in request"
  },
  {
    "id": "api.team.import_team.integer.app_error",
    "translation": "Filesize not an integer"
  },
  {
    "id": "api.team.import_team.no_file.app_error",
    "translation": "No file under 'file' in request"
  },
  {
    "id": "api.team.import_team.no_import_from.app_error",
    "translation": "Malformed request: importFrom field is not present."
  },
  {
    "id": "api.team.import_team.open.app_error",
    "translation": "Could not open file"
  },
  {
    "id": "api.team.import_team.parse.app_error",
    "translation": "Could not parse multipart form"
  },
  {
    "id": "api.team.import_team.unavailable.app_error",
    "translation": "Malformed request: filesize field is not present."
  },
  {
    "id": "api.team.invalidate_all_email_invites.app_error",
    "translation": "Error invalidating email invites."
  },
  {
    "id": "api.team.invate_guests_to_channels.disabled.error",
    "translation": "Guest accounts are disabled"
  },
  {
    "id": "api.team.invate_guests_to_channels.license.error",
    "translation": "Your license does not support guest accounts"
  },
  {
    "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.invite_members.disabled.app_error",
    "translation": "Email invitations are disabled."
  },
  {
    "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.no_one.app_error",
    "translation": "No one to invite."
  },
  {
    "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.is_team_creation_allowed.domain.app_error",
    "translation": "Email must be from a specific domain (e.g. @example.com). Please ask your System Administrator for details."
  },
  {
    "id": "api.team.join_team.post_and_forget",
    "translation": "%v joined the team."
  },
  {
    "id": "api.team.join_user_to_team.allowed_domains.app_error",
    "translation": "Email must be from a specific domain (e.g. @example.com). Please ask your team or system administrator for details."
  },
  {
    "id": "api.team.leave.left",
    "translation": "%v left the team."
  },
  {
    "id": "api.team.move_channel.post.error",
    "translation": "Failed to post channel move message."
  },
  {
    "id": "api.team.move_channel.success",
    "translation": "This channel has been moved to this team from %v."
  },
  {
    "id": "api.team.promote_guest_to_user.disabled.error",
    "translation": "Guest accounts are disabled."
  },
  {
    "id": "api.team.promote_guest_to_user.license.error",
    "translation": "Your license does not support guest accounts"
  },
  {
    "id": "api.team.remove_member.group_constrained.app_error",
    "translation": "Unable to remove a user from a group-constrained team."
  },
  {
    "id": "api.team.remove_team_icon.get_team.app_error",
    "translation": "An error occurred getting 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_user_from_team.removed",
    "translation": "%v removed from the team."
  },
  {
    "id": "api.team.search_teams.pagination_not_implemented.private_team_search",
    "translation": "Pagination not implemented for private-only team search."
  },
  {
    "id": "api.team.search_teams.pagination_not_implemented.public_team_search",
    "translation": "Pagination not implemented for public-only team search."
  },
  {
    "id": "api.team.set_team_icon.array.app_error",
    "translation": "Empty array under 'image' in request"
  },
  {
    "id": "api.team.set_team_icon.decode.app_error",
    "translation": "Could not decode team icon"
  },
  {
    "id": "api.team.set_team_icon.decode_config.app_error",
    "translation": "Could not decode team icon metadata"
  },
  {
    "id": "api.team.set_team_icon.encode.app_error",
    "translation": "Could not encode team icon"
  },
  {
    "id": "api.team.set_team_icon.get_team.app_error",
    "translation": "An error occurred getting the team"
  },
  {
    "id": "api.team.set_team_icon.no_file.app_error",
    "translation": "No file under 'image' in request"
  },
  {
    "id": "api.team.set_team_icon.open.app_error",
    "translation": "Could not open image file"
  },
  {
    "id": "api.team.set_team_icon.parse.app_error",
    "translation": "Could not parse multipart form"
  },
  {
    "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.too_large.app_error",
    "translation": "Unable to upload team icon. File is too large."
  },
  {
    "id": "api.team.set_team_icon.write_file.app_error",
    "translation": "Could not save team icon"
  },
  {
    "id": "api.team.team_icon.update.app_error",
    "translation": "An error occurred updating the team icon"
  },
  {
    "id": "api.team.update_member_roles.not_a_member",
    "translation": "Specified user is not a member of specified team."
  },
  {
    "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_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_team_scheme.license.error",
    "translation": "Your license does not support updating a team's scheme"
  },
  {
    "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.templates.deactivate_body.info",
    "translation": "You deactivated your account on {{ .SiteURL }}."
  },
  {
    "id": "api.templates.deactivate_body.title",
    "translation": "Your account has been deactivated at {{ .ServerURL }}"
  },
  {
    "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_subject",
    "translation": "[{{ .SiteName }}] Your account at {{ .ServerURL }} has been deactivated"
  },
  {
    "id": "api.templates.email_change_body.info",
    "translation": "Your email address for {{.TeamDisplayName}} has been changed to {{.NewEmail}}."
  },
  {
    "id": "api.templates.email_change_body.title",
    "translation": "You updated your email"
  },
  {
    "id": "api.templates.email_change_subject",
    "translation": "[{{ .SiteName }}] Your email address has changed"
  },
  {
    "id": "api.templates.email_change_verify_body.button",
    "translation": "Verify 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.title",
    "translation": "You updated your email"
  },
  {
    "id": "api.templates.email_change_verify_subject",
    "translation": "[{{ .SiteName }}] Verify new email address"
  },
  {
    "id": "api.templates.email_footer",
    "translation": "To change your notification preferences, log in to your team site and go to Account Settings > Notifications."
  },
  {
    "id": "api.templates.email_info1",
    "translation": "Any questions at all, mail us any time: "
  },
  {
    "id": "api.templates.email_info2",
    "translation": "Best wishes,"
  },
  {
    "id": "api.templates.email_info3",
    "translation": "The {{.SiteName}} Team"
  },
  {
    "id": "api.templates.email_organization",
    "translation": "Sent by "
  },
  {
    "id": "api.templates.email_warning",
    "translation": "If you did not make this change, please contact the system administrator."
  },
  {
    "id": "api.templates.invite_body.button",
    "translation": "Join Team"
  },
  {
    "id": "api.templates.invite_body.extra_info",
    "translation": "Mattermost lets you share messages and files from your PC or phone, with instant search and archiving. After you’ve joined [[{{.TeamDisplayName}}]], you can sign-in to your new team and access these features anytime from the web address:"
  },
  {
    "id": "api.templates.invite_body.info",
    "translation": "[[{{.SenderName}}]], has invited you to join [[{{.TeamDisplayName}}]]."
  },
  {
    "id": "api.templates.invite_body.title",
    "translation": "You've been invited"
  },
  {
    "id": "api.templates.invite_body_guest.info",
    "translation": "[[{{.SenderName}}]], has invited you to join team [[{{.TeamDisplayName}}]] as a guest."
  },
  {
    "id": "api.templates.invite_guest_subject",
    "translation": "[{{ .SiteName }}] {{ .SenderName }} invited you to join the team {{ .TeamDisplayName }} as a guest"
  },
  {
    "id": "api.templates.invite_subject",
    "translation": "[{{ .SiteName }}] {{ .SenderName }} invited you to join {{ .TeamDisplayName }} Team"
  },
  {
    "id": "api.templates.mfa_activated_body.info",
    "translation": "Multi-factor authentication has been added to your account on {{ .SiteURL }}."
  },
  {
    "id": "api.templates.mfa_activated_body.title",
    "translation": "Multi-factor authentication was added"
  },
  {
    "id": "api.templates.mfa_change_subject",
    "translation": "[{{ .SiteName }}] Your MFA has been updated"
  },
  {
    "id": "api.templates.mfa_deactivated_body.info",
    "translation": "Multi-factor authentication has been removed from your account on {{ .SiteURL }}."
  },
  {
    "id": "api.templates.mfa_deactivated_body.title",
    "translation": "Multi-factor authentication was removed"
  },
  {
    "id": "api.templates.password_change_body.info",
    "translation": "Your password has been updated for {{.TeamDisplayName}} on {{ .TeamURL }} by {{.Method}}."
  },
  {
    "id": "api.templates.password_change_body.title",
    "translation": "Your password has been updated"
  },
  {
    "id": "api.templates.password_change_subject",
    "translation": "[{{ .SiteName }}] Your password has been updated"
  },
  {
    "id": "api.templates.post_body.button",
    "translation": "Go To Post"
  },
  {
    "id": "api.templates.reset_body.button",
    "translation": "Reset Password"
  },
  {
    "id": "api.templates.reset_body.info1",
    "translation": "To change your password, click \"Reset Password\" below."
  },
  {
    "id": "api.templates.reset_body.info2",
    "translation": "If you did not mean to reset your password, please ignore this email and your password will remain the same. The password reset link expires in 24 hours."
  },
  {
    "id": "api.templates.reset_body.title",
    "translation": "You requested a password reset"
  },
  {
    "id": "api.templates.reset_subject",
    "translation": "[{{ .SiteName }}] Reset your password"
  },
  {
    "id": "api.templates.signin_change_email.body.info",
    "translation": "You updated your sign-in method on {{ .SiteName }} to {{.Method}}."
  },
  {
    "id": "api.templates.signin_change_email.body.method_email",
    "translation": "email and password"
  },
  {
    "id": "api.templates.signin_change_email.body.title",
    "translation": "You updated your sign-in method"
  },
  {
    "id": "api.templates.signin_change_email.subject",
    "translation": "[{{ .SiteName }}] Your sign-in method has been updated"
  },
  {
    "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.user_access_token_body.title",
    "translation": "Personal access token added to your account"
  },
  {
    "id": "api.templates.user_access_token_subject",
    "translation": "[{{ .SiteName }}] Personal access token added to your account"
  },
  {
    "id": "api.templates.username_change_body.info",
    "translation": "Your username for {{.TeamDisplayName}} has been changed to {{.NewUsername}}."
  },
  {
    "id": "api.templates.username_change_body.title",
    "translation": "You updated your username"
  },
  {
    "id": "api.templates.username_change_subject",
    "translation": "[{{ .SiteName }}] Your username has changed"
  },
  {
    "id": "api.templates.verify_body.button",
    "translation": "Verify Email"
  },
  {
    "id": "api.templates.verify_body.info",
    "translation": "Please verify your email address by clicking below."
  },
  {
    "id": "api.templates.verify_body.title",
    "translation": "You've joined {{ .ServerURL }}"
  },
  {
    "id": "api.templates.verify_subject",
    "translation": "[{{ .SiteName }}] Email Verification"
  },
  {
    "id": "api.templates.welcome_body.app_download_info",
    "translation": "For the best experience, download the apps for PC, Mac, iOS and Android from:"
  },
  {
    "id": "api.templates.welcome_body.button",
    "translation": "Verify Email"
  },
  {
    "id": "api.templates.welcome_body.info",
    "translation": "Please verify your email address by clicking below."
  },
  {
    "id": "api.templates.welcome_body.info2",
    "translation": "You can sign in from:"
  },
  {
    "id": "api.templates.welcome_body.info3",
    "translation": "Mattermost lets you share messages and files from your PC or phone, with instant search and archiving."
  },
  {
    "id": "api.templates.welcome_body.title",
    "translation": "You've joined {{ .ServerURL }}"
  },
  {
    "id": "api.templates.welcome_subject",
    "translation": "[{{ .SiteName }}] You joined {{ .ServerURL }}"
  },
  {
    "id": "api.user.activate_mfa.email_and_ldap_only.app_error",
    "translation": "MFA is not available for this account type"
  },
  {
    "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.authorize_oauth_user.bad_response.app_error",
    "translation": "Bad response from token request"
  },
  {
    "id": "api.user.authorize_oauth_user.bad_token.app_error",
    "translation": "Bad token type"
  },
  {
    "id": "api.user.authorize_oauth_user.invalid_state.app_error",
    "translation": "Invalid state"
  },
  {
    "id": "api.user.authorize_oauth_user.missing.app_error",
    "translation": "Missing access token"
  },
  {
    "id": "api.user.authorize_oauth_user.response.app_error",
    "translation": "Received invalid response from OAuth service provider"
  },
  {
    "id": "api.user.authorize_oauth_user.service.app_error",
    "translation": "Token request to {{.Service}} failed"
  },
  {
    "id": "api.user.authorize_oauth_user.token_failed.app_error",
    "translation": "Token request failed"
  },
  {
    "id": "api.user.authorize_oauth_user.unsupported.app_error",
    "translation": "Unsupported OAuth service provider"
  },
  {
    "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.check_user_mfa.bad_code.app_error",
    "translation": "Invalid MFA token."
  },
  {
    "id": "api.user.check_user_password.invalid.app_error",
    "translation": "Login failed because of invalid password"
  },
  {
    "id": "api.user.complete_switch_with_oauth.blank_email.app_error",
    "translation": "Blank email"
  },
  {
    "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.unavailable.app_error",
    "translation": "{{.Service}} SSO through OAuth 2.0 not available on this server"
  },
  {
    "id": "api.user.create_email_token.error",
    "translation": "Failed to create token data for email verification"
  },
  {
    "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_oauth_user.create.app_error",
    "translation": "Could not create user out of {{.Service}} user object"
  },
  {
    "id": "api.user.create_oauth_user.not_available.app_error",
    "translation": "{{.Service}} SSO through OAuth 2.0 not available on this server"
  },
  {
    "id": "api.user.create_password_token.error",
    "translation": "Unable to create password recovery token"
  },
  {
    "id": "api.user.create_profile_image.default_font.app_error",
    "translation": "Could not create default profile image font"
  },
  {
    "id": "api.user.create_profile_image.encode.app_error",
    "translation": "Could not encode default profile image"
  },
  {
    "id": "api.user.create_profile_image.initial.app_error",
    "translation": "Could not add user initial to default profile picture"
  },
  {
    "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_user.disabled.app_error",
    "translation": "User creation is disabled."
  },
  {
    "id": "api.user.create_user.guest_accounts.disabled.app_error",
    "translation": "Guest accounts are disabled"
  },
  {
    "id": "api.user.create_user.guest_accounts.license.app_error",
    "translation": "Your license does not support guest accounts"
  },
  {
    "id": "api.user.create_user.invalid_invitation_type.app_error",
    "translation": "Unable to create the user, invalid invitation."
  },
  {
    "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.signup_email_disabled.app_error",
    "translation": "User sign-up with email is disabled."
  },
  {
    "id": "api.user.create_user.signup_link_expired.app_error",
    "translation": "The signup link has expired"
  },
  {
    "id": "api.user.create_user.signup_link_invalid.app_error",
    "translation": "The signup link does not appear to be valid"
  },
  {
    "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.email_to_ldap.not_available.app_error",
    "translation": "AD/LDAP not available on this server"
  },
  {
    "id": "api.user.email_to_oauth.not_available.app_error",
    "translation": "Authentication Transfer not configured or available on this server."
  },
  {
    "id": "api.user.get_authorization_code.unsupported.app_error",
    "translation": "Unsupported OAuth service provider"
  },
  {
    "id": "api.user.get_user_by_email.permissions.app_error",
    "translation": "Unable to get user by email."
  },
  {
    "id": "api.user.ldap_to_email.not_available.app_error",
    "translation": "AD/LDAP not available on this server"
  },
  {
    "id": "api.user.ldap_to_email.not_ldap_account.app_error",
    "translation": "This user account does not use AD/LDAP"
  },
  {
    "id": "api.user.login.blank_pwd.app_error",
    "translation": "Password field must not be blank"
  },
  {
    "id": "api.user.login.bot_login_forbidden.app_error",
    "translation": "Bot login is forbidden"
  },
  {
    "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.client_side_cert.license.app_error",
    "translation": "Attempt to use the experimental feature ClientSideCertEnable without a valid enterprise license"
  },
  {
    "id": "api.user.login.guest_accounts.disabled.error",
    "translation": "Guest accounts are disabled"
  },
  {
    "id": "api.user.login.guest_accounts.license.error",
    "translation": "Your license does not support guest accounts"
  },
  {
    "id": "api.user.login.inactive.app_error",
    "translation": "Login failed because your account has been deactivated.  Please contact an administrator."
  },
  {
    "id": "api.user.login.invalid_credentials_email",
    "translation": "Enter a valid email and/or password"
  },
  {
    "id": "api.user.login.invalid_credentials_email_username",
    "translation": "Enter a valid email or 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_username",
    "translation": "Enter a valid username and/or password."
  },
  {
    "id": "api.user.login.not_verified.app_error",
    "translation": "Login failed because email address has not been verified"
  },
  {
    "id": "api.user.login.use_auth_service.app_error",
    "translation": "Please sign in using {{.AuthService}}"
  },
  {
    "id": "api.user.login_by_oauth.bot_login_forbidden.app_error",
    "translation": "Bot login is forbidden"
  },
  {
    "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.parse.app_error",
    "translation": "Could not parse auth data out of {{.Service}} user object"
  },
  {
    "id": "api.user.login_ldap.not_available.app_error",
    "translation": "AD/LDAP not 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.oauth_to_email.not_available.app_error",
    "translation": "Authentication Transfer not configured or available on this server."
  },
  {
    "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.reset_password.broken_token.app_error",
    "translation": "The reset password token does not appear to be valid."
  },
  {
    "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.link_expired.app_error",
    "translation": "The password reset link has expired."
  },
  {
    "id": "api.user.reset_password.method",
    "translation": "using a reset password link"
  },
  {
    "id": "api.user.reset_password.sso.app_error",
    "translation": "Unable to reset password for SSO accounts"
  },
  {
    "id": "api.user.reset_password.token_parse.error",
    "translation": "Unable to parse the reset password token"
  },
  {
    "id": "api.user.saml.not_available.app_error",
    "translation": "SAML 2.0 is not configured or supported on this server."
  },
  {
    "id": "api.user.send_deactivate_email_and_forget.failed.error",
    "translation": "Failed to send the deactivate account email successfully"
  },
  {
    "id": "api.user.send_email_change_email_and_forget.error",
    "translation": "Failed to send email change notification email successfully"
  },
  {
    "id": "api.user.send_email_change_username_and_forget.error",
    "translation": "Failed to send username change notification 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_mfa_change_email.error",
    "translation": "Unable to send email notification for MFA change."
  },
  {
    "id": "api.user.send_password_change_email_and_forget.error",
    "translation": "Failed to send update password email successfully"
  },
  {
    "id": "api.user.send_password_reset.send.app_error",
    "translation": "Failed to send password reset email successfully"
  },
  {
    "id": "api.user.send_password_reset.sso.app_error",
    "translation": "Unable to reset password for SSO accounts"
  },
  {
    "id": "api.user.send_sign_in_change_email_and_forget.error",
    "translation": "Failed to send update password email successfully"
  },
  {
    "id": "api.user.send_user_access_token.error",
    "translation": "Failed to send \"Personal access token added\" email successfully"
  },
  {
    "id": "api.user.send_verify_email_and_forget.failed.error",
    "translation": "Failed to send verification email successfully"
  },
  {
    "id": "api.user.send_welcome_email_and_forget.failed.error",
    "translation": "Failed to send welcome email successfully"
  },
  {
    "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.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.permissions.app_error",
    "translation": "You do not have the appropriate permissions"
  },
  {
    "id": "api.user.update_oauth_user_attrs.get_user.app_error",
    "translation": "Could not get user from {{.Service}} user object"
  },
  {
    "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_password.failed.app_error",
    "translation": "Update password failed"
  },
  {
    "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.menu",
    "translation": "using the settings menu"
  },
  {
    "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.valid_account.app_error",
    "translation": "Update password failed because we couldn't find a valid account"
  },
  {
    "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_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.upload_profile_user.array.app_error",
    "translation": "Empty array under 'image' in request"
  },
  {
    "id": "api.user.upload_profile_user.decode.app_error",
    "translation": "Could not decode profile image"
  },
  {
    "id": "api.user.upload_profile_user.decode_config.app_error",
    "translation": "Could not save profile image. File does not appear to be a valid image."
  },
  {
    "id": "api.user.upload_profile_user.encode.app_error",
    "translation": "Could not encode profile image"
  },
  {
    "id": "api.user.upload_profile_user.no_file.app_error",
    "translation": "No file under 'image' in request"
  },
  {
    "id": "api.user.upload_profile_user.open.app_error",
    "translation": "Could not open image file"
  },
  {
    "id": "api.user.upload_profile_user.parse.app_error",
    "translation": "Could not parse multipart form"
  },
  {
    "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.too_large.app_error",
    "translation": "Unable to upload profile image. File is too large."
  },
  {
    "id": "api.user.upload_profile_user.upload_profile.app_error",
    "translation": "Couldn't upload profile image"
  },
  {
    "id": "api.user.verify_email.bad_link.app_error",
    "translation": "Bad verify email link."
  },
  {
    "id": "api.user.verify_email.broken_token.app_error",
    "translation": "Bad verify email token type."
  },
  {
    "id": "api.user.verify_email.link_expired.app_error",
    "translation": "The email verification link has expired."
  },
  {
    "id": "api.user.verify_email.token_parse.error",
    "translation": "Failed to parse token data from email verification"
  },
  {
    "id": "api.web_socket.connect.upgrade.app_error",
    "translation": "Failed to upgrade websocket connection"
  },
  {
    "id": "api.web_socket_router.bad_action.app_error",
    "translation": "Unknown WebSocket action."
  },
  {
    "id": "api.web_socket_router.bad_seq.app_error",
    "translation": "Invalid sequence for WebSocket message."
  },
  {
    "id": "api.web_socket_router.no_action.app_error",
    "translation": "No websocket action."
  },
  {
    "id": "api.web_socket_router.not_authenticated.app_error",
    "translation": "WebSocket connection is not authenticated. Please log in and try again."
  },
  {
    "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.webhook.create_outgoing.not_open.app_error",
    "translation": "Outgoing webhooks can only be created for public channels."
  },
  {
    "id": "api.webhook.create_outgoing.permissions.app_error",
    "translation": "Invalid permissions to create outgoing webhook."
  },
  {
    "id": "api.webhook.create_outgoing.triggers.app_error",
    "translation": "Either trigger_words or channel_id must be set"
  },
  {
    "id": "api.webhook.incoming.error",
    "translation": "Could not decode the multipart payload of incoming webhook."
  },
  {
    "id": "api.webhook.team_mismatch.app_error",
    "translation": "Unable to update webhook across teams"
  },
  {
    "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.websocket_handler.invalid_param.app_error",
    "translation": "Invalid {{.Name}} parameter"
  },
  {
    "id": "app.admin.test_email.failure",
    "translation": "Connection unsuccessful: {{.Error}}"
  },
  {
    "id": "app.admin.test_site_url.failure",
    "translation": "This is not a valid live URL"
  },
  {
    "id": "app.channel.create_channel.no_team_id.app_error",
    "translation": "Must specify the team ID to create a 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.post_update_channel_purpose_message.post.error",
    "translation": "Failed to post channel purpose message"
  },
  {
    "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.retrieve_user.error",
    "translation": "Failed to retrieve user while updating channel purpose message %v"
  },
  {
    "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.updated_to",
    "translation": "%s updated the channel purpose to: %s"
  },
  {
    "id": "app.cluster.404.app_error",
    "translation": "Cluster API endpoint not found."
  },
  {
    "id": "app.export.export_custom_emoji.copy_emoji_images.error",
    "translation": "Unable to copy custom emoji images"
  },
  {
    "id": "app.export.export_write_line.io_writer.error",
    "translation": "An error occurred writing the export data."
  },
  {
    "id": "app.export.export_write_line.json_marshall.error",
    "translation": "An error occurred marshalling the JSON data for export."
  },
  {
    "id": "app.import.attachment.bad_file.error",
    "translation": "Error reading the file at: \"{{.FilePath}}\""
  },
  {
    "id": "app.import.attachment.file_upload.error",
    "translation": "Error uploading the file: \"{{.FilePath}}\""
  },
  {
    "id": "app.import.bulk_import.file_scan.error",
    "translation": "Error reading import data file."
  },
  {
    "id": "app.import.bulk_import.json_decode.error",
    "translation": "JSON decode of line failed."
  },
  {
    "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.emoji.bad_file.error",
    "translation": "Error reading import emoji image file. Emoji with name: \"{{.EmojiName}}\""
  },
  {
    "id": "app.import.import_channel.scheme_deleted.error",
    "translation": "Unable to set a channel to use a deleted scheme."
  },
  {
    "id": "app.import.import_channel.scheme_wrong_scope.error",
    "translation": "Channel must be assigned to a Channel-scoped scheme."
  },
  {
    "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_direct_channel.create_direct_channel.error",
    "translation": "Failed to create direct channel"
  },
  {
    "id": "app.import.import_direct_channel.create_group_channel.error",
    "translation": "Failed to create group channel"
  },
  {
    "id": "app.import.import_direct_channel.member_not_found.error",
    "translation": "Could not find channel member when importing direct channel"
  },
  {
    "id": "app.import.import_direct_channel.update_header_failed.error",
    "translation": "Failed to update direct channel header"
  },
  {
    "id": "app.import.import_direct_post.channel_member_not_found.error",
    "translation": "Could not find channel member when importing direct channel post"
  },
  {
    "id": "app.import.import_direct_post.create_direct_channel.error",
    "translation": "Failed to get direct channel"
  },
  {
    "id": "app.import.import_direct_post.create_group_channel.error",
    "translation": "Failed to get group channel"
  },
  {
    "id": "app.import.import_direct_post.save_preferences.error",
    "translation": "Error importing direct post. Failed to save preferences."
  },
  {
    "id": "app.import.import_direct_post.user_not_found.error",
    "translation": "Post user does not exist"
  },
  {
    "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_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_direct_post.error",
    "translation": "Import data line has type \"direct_post\" but the direct_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_post.error",
    "translation": "Import data line has type \"post\" but the post 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_team.error",
    "translation": "Import data line has type \"team\" but the team object is null."
  },
  {
    "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.unknown_line_type.error",
    "translation": "Import data line has unknown type \"{{.Type}}\"."
  },
  {
    "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_post.save_preferences.error",
    "translation": "Error importing post. Failed to save preferences."
  },
  {
    "id": "app.import.import_post.team_not_found.error",
    "translation": "Error importing post. Team with name \"{{.TeamName}}\" could not be found."
  },
  {
    "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_scheme.scope_change.error",
    "translation": "The bulk importer cannot change the scope of an already-existing scheme."
  },
  {
    "id": "app.import.import_team.scheme_deleted.error",
    "translation": "Unable to set a team to use a deleted scheme."
  },
  {
    "id": "app.import.import_team.scheme_wrong_scope.error",
    "translation": "Team must be assigned to a Team-scoped scheme."
  },
  {
    "id": "app.import.import_user.save_preferences.error",
    "translation": "Error importing user preferences. Failed to save preferences."
  },
  {
    "id": "app.import.import_user_channels.save_preferences.error",
    "translation": "Error importing user channel memberships. Failed to save preferences."
  },
  {
    "id": "app.import.import_user_teams.save_preferences.error",
    "translation": "Unable to save the team theme preferences"
  },
  {
    "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.validate_channel_import_data.display_name_length.error",
    "translation": "Channel display_name is not within permitted length constraints."
  },
  {
    "id": "app.import.validate_channel_import_data.display_name_missing.error",
    "translation": "Missing required channel property: display_name"
  },
  {
    "id": "app.import.validate_channel_import_data.header_length.error",
    "translation": "Channel header 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.name_length.error",
    "translation": "Channel name 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.purpose_length.error",
    "translation": "Channel purpose is too long."
  },
  {
    "id": "app.import.validate_channel_import_data.scheme_invalid.error",
    "translation": "Invalid scheme name for channel."
  },
  {
    "id": "app.import.validate_channel_import_data.team_missing.error",
    "translation": "Missing required channel property: team"
  },
  {
    "id": "app.import.validate_channel_import_data.type_invalid.error",
    "translation": "Channel type is invalid."
  },
  {
    "id": "app.import.validate_channel_import_data.type_missing.error",
    "translation": "Missing required channel property: type."
  },
  {
    "id": "app.import.validate_direct_channel_import_data.header_length.error",
    "translation": "Direct channel header is too long"
  },
  {
    "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.members_too_few.error",
    "translation": "Direct channel members list contains too few items"
  },
  {
    "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.unknown_favoriter.error",
    "translation": "Direct channel can only be favorited by members. \"{{.Username}}\" is not a member."
  },
  {
    "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_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_too_many.error",
    "translation": "Direct post channel members list contains too many items"
  },
  {
    "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.create_at_zero.error",
    "translation": "CreateAt must be greater than 0"
  },
  {
    "id": "app.import.validate_direct_post_import_data.message_length.error",
    "translation": "Message is too long"
  },
  {
    "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.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.user_missing.error",
    "translation": "Missing required direct post property: user"
  },
  {
    "id": "app.import.validate_emoji_import_data.empty.error",
    "translation": "Import emoji data empty."
  },
  {
    "id": "app.import.validate_emoji_import_data.image_missing.error",
    "translation": "Import emoji image field missing or blank."
  },
  {
    "id": "app.import.validate_emoji_import_data.name_missing.error",
    "translation": "Import emoji name field missing or blank."
  },
  {
    "id": "app.import.validate_post_import_data.channel_missing.error",
    "translation": "Missing required Post property: Channel."
  },
  {
    "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.create_at_zero.error",
    "translation": "Post CreateAt property must not be zero."
  },
  {
    "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.message_missing.error",
    "translation": "Missing required Post property: Message."
  },
  {
    "id": "app.import.validate_post_import_data.team_missing.error",
    "translation": "Missing required Post property: Team."
  },
  {
    "id": "app.import.validate_post_import_data.user_missing.error",
    "translation": "Missing required Post property: User."
  },
  {
    "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_reaction_import_data.create_at_missing.error",
    "translation": "Missing required Reaction property: create_at."
  },
  {
    "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.emoji_name_length.error",
    "translation": "Reaction EmojiName property is longer than the maximum permitted length."
  },
  {
    "id": "app.import.validate_reaction_import_data.emoji_name_missing.error",
    "translation": "Missing required Reaction property: EmojiName."
  },
  {
    "id": "app.import.validate_reaction_import_data.user_missing.error",
    "translation": "Missing required Reaction property: User."
  },
  {
    "id": "app.import.validate_reply_import_data.create_at_before_parent.error",
    "translation": "Reply CreateAt property must be greater than the parent post CreateAt."
  },
  {
    "id": "app.import.validate_reply_import_data.create_at_missing.error",
    "translation": "Missing required Reply property: create_at."
  },
  {
    "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.message_length.error",
    "translation": "Reply Message property is longer than the maximum permitted length."
  },
  {
    "id": "app.import.validate_reply_import_data.message_missing.error",
    "translation": "Missing required Reply property: Message."
  },
  {
    "id": "app.import.validate_reply_import_data.user_missing.error",
    "translation": "Missing required Reply property: User."
  },
  {
    "id": "app.import.validate_role_import_data.description_invalid.error",
    "translation": "Invalid role description."
  },
  {
    "id": "app.import.validate_role_import_data.display_name_invalid.error",
    "translation": "Invalid role display name."
  },
  {
    "id": "app.import.validate_role_import_data.invalid_permission.error",
    "translation": "Invalid permission on role."
  },
  {
    "id": "app.import.validate_role_import_data.name_invalid.error",
    "translation": "Invalid role name."
  },
  {
    "id": "app.import.validate_scheme_import_data.description_invalid.error",
    "translation": "Invalid scheme description."
  },
  {
    "id": "app.import.validate_scheme_import_data.display_name_invalid.error",
    "translation": "Invalid scheme display name."
  },
  {
    "id": "app.import.validate_scheme_import_data.name_invalid.error",
    "translation": "Invalid scheme name."
  },
  {
    "id": "app.import.validate_scheme_import_data.null_scope.error",
    "translation": "Scheme scope is required."
  },
  {
    "id": "app.import.validate_scheme_import_data.unknown_scheme.error",
    "translation": "Unknown scheme scope."
  },
  {
    "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_team_import_data.description_length.error",
    "translation": "Team description is too long."
  },
  {
    "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.display_name_missing.error",
    "translation": "Missing required team property: display_name."
  },
  {
    "id": "app.import.validate_team_import_data.name_characters.error",
    "translation": "Team name contains invalid characters."
  },
  {
    "id": "app.import.validate_team_import_data.name_length.error",
    "translation": "Team name is too long."
  },
  {
    "id": "app.import.validate_team_import_data.name_missing.error",
    "translation": "Missing required team property: name."
  },
  {
    "id": "app.import.validate_team_import_data.name_reserved.error",
    "translation": "Team name contains reserved words."
  },
  {
    "id": "app.import.validate_team_import_data.scheme_invalid.error",
    "translation": "Invalid scheme name for team."
  },
  {
    "id": "app.import.validate_team_import_data.type_invalid.error",
    "translation": "Team type is not valid."
  },
  {
    "id": "app.import.validate_team_import_data.type_missing.error",
    "translation": "Missing required team property: type."
  },
  {
    "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_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.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_mobile.error",
    "translation": "Invalid Mobile NotifyProps for User's Channel Membership."
  },
  {
    "id": "app.import.validate_user_channels_import_data.invalid_roles.error",
    "translation": "Invalid roles for User's Channel Membership."
  },
  {
    "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_import_data.advanced_props_feature_markdown_preview.error",
    "translation": "Invalid markdown preview 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_show_unread_section.error",
    "translation": "Invalid show unread section setting for User"
  },
  {
    "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.auth_data_length.error",
    "translation": "User AuthData is too long."
  },
  {
    "id": "app.import.validate_user_import_data.email_length.error",
    "translation": "User email has an invalid length."
  },
  {
    "id": "app.import.validate_user_import_data.email_missing.error",
    "translation": "Missing required user property: email."
  },
  {
    "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.last_name_length.error",
    "translation": "User Last Name is too long."
  },
  {
    "id": "app.import.validate_user_import_data.nickname_length.error",
    "translation": "User nickname is too long."
  },
  {
    "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.notify_props_comments_trigger_invalid.error",
    "translation": "Invalid Comments 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_desktop_sound_invalid.error",
    "translation": "Invalid Desktop Sound 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_mobile_invalid.error",
    "translation": "Invalid Mobile Notify Prop value for user."
  },
  {
    "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.password_length.error",
    "translation": "User Password has invalid length."
  },
  {
    "id": "app.import.validate_user_import_data.position_length.error",
    "translation": "User Position is too long."
  },
  {
    "id": "app.import.validate_user_import_data.profile_image.error",
    "translation": "Invalid profile image."
  },
  {
    "id": "app.import.validate_user_import_data.roles_invalid.error",
    "translation": "User roles are not valid."
  },
  {
    "id": "app.import.validate_user_import_data.username_invalid.error",
    "translation": "Username is not valid."
  },
  {
    "id": "app.import.validate_user_import_data.username_missing.error",
    "translation": "Missing require user property: username."
  },
  {
    "id": "app.import.validate_user_teams_import_data.invalid_roles.error",
    "translation": "Invalid roles for 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.team_name_missing.error",
    "translation": "Team name missing from User's Team Membership."
  },
  {
    "id": "app.notification.body.intro.direct.full",
    "translation": "You have a new Direct Message."
  },
  {
    "id": "app.notification.body.intro.direct.generic",
    "translation": "You have a new Direct Message from {{.SenderName}}"
  },
  {
    "id": "app.notification.body.intro.group_message.full",
    "translation": "You have a new Group Message."
  },
  {
    "id": "app.notification.body.intro.group_message.generic",
    "translation": "You have a new Group Message from {{.SenderName}}"
  },
  {
    "id": "app.notification.body.intro.notification.full",
    "translation": "You have a new notification."
  },
  {
    "id": "app.notification.body.intro.notification.generic",
    "translation": "You have a new notification from {{.SenderName}}"
  },
  {
    "id": "app.notification.body.text.direct.full",
    "translation": "{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}"
  },
  {
    "id": "app.notification.body.text.direct.generic",
    "translation": "{{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}"
  },
  {
    "id": "app.notification.body.text.group_message.full",
    "translation": "Channel: {{.ChannelName}}"
  },
  {
    "id": "app.notification.body.text.group_message.full2",
    "translation": "{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}"
  },
  {
    "id": "app.notification.body.text.group_message.generic",
    "translation": "{{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}"
  },
  {
    "id": "app.notification.body.text.notification.full",
    "translation": "Channel: {{.ChannelName}}"
  },
  {
    "id": "app.notification.body.text.notification.full2",
    "translation": "{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}"
  },
  {
    "id": "app.notification.body.text.notification.generic",
    "translation": "{{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}"
  },
  {
    "id": "app.notification.subject.direct.full",
    "translation": "[{{.SiteName}}] New Direct Message from {{.SenderDisplayName}} on {{.Month}} {{.Day}}, {{.Year}}"
  },
  {
    "id": "app.notification.subject.group_message.full",
    "translation": "[{{ .SiteName }}] New Group Message in {{ .ChannelName}} on {{.Month}} {{.Day}}, {{.Year}}"
  },
  {
    "id": "app.notification.subject.group_message.generic",
    "translation": "[{{ .SiteName }}] New Group Message on {{.Month}} {{.Day}}, {{.Year}}"
  },
  {
    "id": "app.notification.subject.notification.full",
    "translation": "[{{ .SiteName }}] Notification in {{ .TeamName}} on {{.Month}} {{.Day}}, {{.Year}}"
  },
  {
    "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.plugin.config.app_error",
    "translation": "Error saving plugin state in config"
  },
  {
    "id": "app.plugin.deactivate.app_error",
    "translation": "Unable to deactivate plugin"
  },
  {
    "id": "app.plugin.delete_public_key.delete.app_error",
    "translation": "An error occurred while deleting the public key."
  },
  {
    "id": "app.plugin.disabled.app_error",
    "translation": "Plugins have been disabled. Please check your logs for details."
  },
  {
    "id": "app.plugin.extract.app_error",
    "translation": "Encountered error extracting plugin"
  },
  {
    "id": "app.plugin.filesystem.app_error",
    "translation": "Encountered filesystem error"
  },
  {
    "id": "app.plugin.flag_managed.app_error",
    "translation": "Unable to set plugin as managed by the file store."
  },
  {
    "id": "app.plugin.get_cluster_plugin_statuses.app_error",
    "translation": "Unable to get plugin statuses from the cluster."
  },
  {
    "id": "app.plugin.get_plugins.app_error",
    "translation": "Unable to get active plugins"
  },
  {
    "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_statuses.app_error",
    "translation": "Unable to get plugin statuses"
  },
  {
    "id": "app.plugin.install.app_error",
    "translation": "Unable to install plugin."
  },
  {
    "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_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.invalid_id.app_error",
    "translation": "Plugin Id must be at least {{.Min}} characters, at most {{.Max}} characters and match {{.Regex}}."
  },
  {
    "id": "app.plugin.invalid_version.app_error",
    "translation": "Plugin version could not be parsed"
  },
  {
    "id": "app.plugin.manifest.app_error",
    "translation": "Unable to find manifest for extracted plugin"
  },
  {
    "id": "app.plugin.marketplace_client.app_error",
    "translation": "Failed to create marketplace client."
  },
  {
    "id": "app.plugin.marketplace_disabled.app_error",
    "translation": "Marketplace has been disabled. Please check your logs for details."
  },
  {
    "id": "app.plugin.marketplace_plugin_request.app_error",
    "translation": "Failed to decode the marketplace plugin request."
  },
  {
    "id": "app.plugin.marketplace_plugins.app_error",
    "translation": "Failed to get plugins from the marketplace server."
  },
  {
    "id": "app.plugin.marketplace_plugins.not_found.app_error",
    "translation": "Could not find the requested marketplace plugin."
  },
  {
    "id": "app.plugin.marshal.app_error",
    "translation": "Failed to marshal marketplace plugins."
  },
  {
    "id": "app.plugin.modify_saml.app_error",
    "translation": "Can't modify saml files."
  },
  {
    "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.not_installed.app_error",
    "translation": "Plugin is not installed"
  },
  {
    "id": "app.plugin.remove.app_error",
    "translation": "Unable to delete plugin"
  },
  {
    "id": "app.plugin.remove_bundle.app_error",
    "translation": "Unable to remove plugin bundle from file store."
  },
  {
    "id": "app.plugin.restart.app_error",
    "translation": "Unable to restart plugin on upgrade."
  },
  {
    "id": "app.plugin.signature_decode.app_error",
    "translation": "Unable to decode base64 signature."
  },
  {
    "id": "app.plugin.store_bundle.app_error",
    "translation": "Unable to store the plugin to the configured file store."
  },
  {
    "id": "app.plugin.store_signature.app_error",
    "translation": "Unable to store the plugin signature to the configured file store."
  },
  {
    "id": "app.plugin.sync.list_filestore.app_error",
    "translation": "Error reading files from the plugins folder in the file store."
  },
  {
    "id": "app.plugin.sync.read_local_folder.app_error",
    "translation": "Error reading local plugins folder."
  },
  {
    "id": "app.plugin.upload_disabled.app_error",
    "translation": "Plugins and/or plugin uploads have been disabled."
  },
  {
    "id": "app.plugin.webapp_bundle.app_error",
    "translation": "Unable to generate plugin webapp bundle."
  },
  {
    "id": "app.plugin.write_file.read.app_error",
    "translation": "An error occurred while reading the file."
  },
  {
    "id": "app.plugin.write_file.saving.app_error",
    "translation": "An error occurred while saving the file."
  },
  {
    "id": "app.role.check_roles_exist.role_not_found",
    "translation": "The provided role does not exist"
  },
  {
    "id": "app.save_config.app_error",
    "translation": "An error occurred saving the configuration"
  },
  {
    "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.submit_interactive_dialog.json_error",
    "translation": "Encountered an error encoding JSON for the interactive dialog."
  },
  {
    "id": "app.system_install_date.parse_int.app_error",
    "translation": "Failed to parse installation date"
  },
  {
    "id": "app.team.invite_id.group_constrained.error",
    "translation": "Unable to join a group-constrained team by invite."
  },
  {
    "id": "app.team.invite_token.group_constrained.error",
    "translation": "Unable to join a group-constrained team by token."
  },
  {
    "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.rename_team.name_occupied",
    "translation": "Unable to rename the team, the name is already in use"
  },
  {
    "id": "app.user.complete_switch_with_oauth.blank_email.app_error",
    "translation": "Unable to complete SAML login with an empty email address."
  },
  {
    "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.invalid_or_missing",
    "translation": "Invalid or missing token"
  },
  {
    "id": "brand.save_brand_image.decode.app_error",
    "translation": "Unable to decode the image data."
  },
  {
    "id": "brand.save_brand_image.decode_config.app_error",
    "translation": "Unable to get image metadata."
  },
  {
    "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.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.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.too_large.app_error",
    "translation": "Unable to read the image file. Make sure the image size is less than 2 MB and try again."
  },
  {
    "id": "cli.license.critical",
    "translation": "Feature requires an upgrade to Enterprise Edition and the inclusion of a license key. Please contact your System Administrator."
  },
  {
    "id": "ent.account_migration.get_all_failed",
    "translation": "Unable to get users."
  },
  {
    "id": "ent.account_migration.get_saml_users_failed",
    "translation": "Unable to get SAML users."
  },
  {
    "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.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.compliance.bad_export_type.appError",
    "translation": "Unknown output format {{.ExportType}}"
  },
  {
    "id": "ent.compliance.csv.attachment.copy.appError",
    "translation": "Unable to copy the attachment into the zip file."
  },
  {
    "id": "ent.compliance.csv.attachment.export.appError",
    "translation": "Unable to add attachment to the CSV export."
  },
  {
    "id": "ent.compliance.csv.file.creation.appError",
    "translation": "Unable to create temporary CSV export file."
  },
  {
    "id": "ent.compliance.csv.header.export.appError",
    "translation": "Unable to add header to the CSV export."
  },
  {
    "id": "ent.compliance.csv.metadata.export.appError",
    "translation": "Unable to add metadata file to the zip file."
  },
  {
    "id": "ent.compliance.csv.metadata.json.marshalling.appError",
    "translation": "Unable to convert metadata to json."
  },
  {
    "id": "ent.compliance.csv.post.export.appError",
    "translation": "Unable to export a post."
  },
  {
    "id": "ent.compliance.csv.zip.creation.appError",
    "translation": "Unable to create the zip 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.global_relay.open_temporary_file.appError",
    "translation": "Unable to open the temporary export file."
  },
  {
    "id": "ent.compliance.global_relay.rewind_temporary_file.appError",
    "translation": "Unable to re-read the Global Relay temporary export file."
  },
  {
    "id": "ent.compliance.licence_disable.app_error",
    "translation": "Compliance functionality disabled by current license. Please contact your system administrator about upgrading your enterprise license."
  },
  {
    "id": "ent.compliance.run_export.template_watcher.appError",
    "translation": "Unable to load export templates. Please try again."
  },
  {
    "id": "ent.compliance.run_failed.error",
    "translation": "Compliance export failed for job '{{.JobName}}' at '{{.FilePath}}'"
  },
  {
    "id": "ent.data_retention.generic.license.error",
    "translation": "Your license does not support Data Retention."
  },
  {
    "id": "ent.elasticsearch.aggregator_worker.create_index_job.error",
    "translation": "Elasticsearch aggregator worker failed to create the indexing job"
  },
  {
    "id": "ent.elasticsearch.aggregator_worker.delete_indexes.error",
    "translation": "Elasticsearch aggregator worker failed to delete the indexes"
  },
  {
    "id": "ent.elasticsearch.aggregator_worker.get_indexes.error",
    "translation": "Elasticsearch aggregator worker failed to get indexes"
  },
  {
    "id": "ent.elasticsearch.aggregator_worker.index_job_failed.error",
    "translation": "Elasticsearch aggregator worker failed due to the indexing job failing"
  },
  {
    "id": "ent.elasticsearch.create_client.connect_failed",
    "translation": "Setting up Elasticsearch Client Failed"
  },
  {
    "id": "ent.elasticsearch.create_template_channels_if_not_exists.template_create_failed",
    "translation": "Failed to create Elasticsearch template for channels"
  },
  {
    "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_users_if_not_exists.template_create_failed",
    "translation": "Failed to create Elasticsearch template for users"
  },
  {
    "id": "ent.elasticsearch.data_retention_delete_indexes.delete_index.error",
    "translation": "Failed to delete Elasticsearch index"
  },
  {
    "id": "ent.elasticsearch.data_retention_delete_indexes.get_indexes.error",
    "translation": "Failed to get Elasticsearch indexes"
  },
  {
    "id": "ent.elasticsearch.delete_channel.error",
    "translation": "Failed to delete the channel"
  },
  {
    "id": "ent.elasticsearch.delete_post.error",
    "translation": "Failed to delete the post"
  },
  {
    "id": "ent.elasticsearch.delete_user.error",
    "translation": "Failed to delete the user"
  },
  {
    "id": "ent.elasticsearch.generic.disabled",
    "translation": "Elasticsearch search is not enabled on this server"
  },
  {
    "id": "ent.elasticsearch.index_channel.error",
    "translation": "Failed to index the channel"
  },
  {
    "id": "ent.elasticsearch.index_post.error",
    "translation": "Failed to index the post"
  },
  {
    "id": "ent.elasticsearch.index_user.error",
    "translation": "Failed to index the user"
  },
  {
    "id": "ent.elasticsearch.indexer.do_job.get_oldest_post.error",
    "translation": "The oldest post could not be retrieved from the database."
  },
  {
    "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.parse_start_time.error",
    "translation": "Elasticsearch indexing worker failed to parse the start time"
  },
  {
    "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.not_started.error",
    "translation": "Elasticsearch is not started"
  },
  {
    "id": "ent.elasticsearch.purge_indexes.delete_failed",
    "translation": "Failed to delete Elasticsearch index"
  },
  {
    "id": "ent.elasticsearch.search_channels.disabled",
    "translation": "Elasticsearch searching is disabled on this server"
  },
  {
    "id": "ent.elasticsearch.search_channels.search_failed",
    "translation": "Search failed to complete"
  },
  {
    "id": "ent.elasticsearch.search_channels.unmarshall_channel_failed",
    "translation": "Failed to decode search results"
  },
  {
    "id": "ent.elasticsearch.search_posts.disabled",
    "translation": "Elasticsearch searching is disabled on this server"
  },
  {
    "id": "ent.elasticsearch.search_posts.parse_matches_failed",
    "translation": "Failed to parse search result matches"
  },
  {
    "id": "ent.elasticsearch.search_posts.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_users.search_failed",
    "translation": "Search failed to complete"
  },
  {
    "id": "ent.elasticsearch.search_users.unmarshall_user_failed",
    "translation": "Failed to decode search results"
  },
  {
    "id": "ent.elasticsearch.start.already_started.app_error",
    "translation": "Elasticsearch is already started"
  },
  {
    "id": "ent.elasticsearch.start.create_bulk_processor_failed.app_error",
    "translation": "Failed to create Elasticsearch bulk processor"
  },
  {
    "id": "ent.elasticsearch.start.start_bulk_processor_failed.app_error",
    "translation": "Failed to start Elasticsearch bulk processor"
  },
  {
    "id": "ent.elasticsearch.stop.already_stopped.app_error",
    "translation": "Elasticsearch is already stopped"
  },
  {
    "id": "ent.elasticsearch.test_config.connect_failed",
    "translation": "Connecting to Elasticsearch server failed."
  },
  {
    "id": "ent.elasticsearch.test_config.indexing_disabled.error",
    "translation": "Elasticsearch is disabled."
  },
  {
    "id": "ent.elasticsearch.test_config.license.error",
    "translation": "Your license does not support Elasticsearch."
  },
  {
    "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.id_loaded.license_disable.app_error",
    "translation": "Your license does not support ID Loaded Push Notifications."
  },
  {
    "id": "ent.ldap.app_error",
    "translation": "ldap interface was nil"
  },
  {
    "id": "ent.ldap.create_fail",
    "translation": "Unable to create LDAP user."
  },
  {
    "id": "ent.ldap.disabled.app_error",
    "translation": "AD/LDAP disabled or licence does not support AD/LDAP."
  },
  {
    "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.do_login.invalid_password.app_error",
    "translation": "Invalid Password"
  },
  {
    "id": "ent.ldap.do_login.licence_disable.app_error",
    "translation": "AD/LDAP functionality disabled by current license. Please contact your system administrator about upgrading your enterprise license."
  },
  {
    "id": "ent.ldap.do_login.matched_to_many_users.app_error",
    "translation": "Username given matches multiple users"
  },
  {
    "id": "ent.ldap.do_login.search_ldap_server.app_error",
    "translation": "Failed to search AD/LDAP server"
  },
  {
    "id": "ent.ldap.do_login.unable_to_connect.app_error",
    "translation": "Unable to connect to 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.user_not_registered.app_error",
    "translation": "User not registered on AD/LDAP server"
  },
  {
    "id": "ent.ldap.syncronize.delete_group_constained_memberships",
    "translation": "error deleting team or channel memberships"
  },
  {
    "id": "ent.ldap.syncronize.get_all.app_error",
    "translation": "Unable to get all users using AD/LDAP"
  },
  {
    "id": "ent.ldap.syncronize.get_all_groups.app_error",
    "translation": "error retrieving groups"
  },
  {
    "id": "ent.ldap.syncronize.populate_syncables",
    "translation": "error populating syncables"
  },
  {
    "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.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.validate_filter.app_error",
    "translation": "Invalid AD/LDAP Filter"
  },
  {
    "id": "ent.ldap.validate_guest_filter.app_error",
    "translation": "Invalid AD/LDAP Guest Filter"
  },
  {
    "id": "ent.ldap_groups.group_search_error",
    "translation": "error retrieving ldap group"
  },
  {
    "id": "ent.ldap_groups.groups_search_error",
    "translation": "error retrieving ldap groups"
  },
  {
    "id": "ent.ldap_groups.members_of_group_error",
    "translation": "error retrieving members of group"
  },
  {
    "id": "ent.ldap_groups.no_rows",
    "translation": "no groups found with matching uid"
  },
  {
    "id": "ent.ldap_groups.reachable_groups_error",
    "translation": "error retrieving groups for user"
  },
  {
    "id": "ent.message_export.global_relay.attach_file.app_error",
    "translation": "Unable to add attachment to the Global Relay export."
  },
  {
    "id": "ent.message_export.global_relay.close_zip_file.app_error",
    "translation": "Unable to close the zip file."
  },
  {
    "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.generate_email.app_error",
    "translation": "Unable to generate eml file data."
  },
  {
    "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_export.deliver.from_address.app_error",
    "translation": "Unable to set the email From address."
  },
  {
    "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.msg_data.app_error",
    "translation": "Unable to write the email message."
  },
  {
    "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.to_address.app_error",
    "translation": "Unable to set the email To address."
  },
  {
    "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_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_open_zip_file_data.app_error",
    "translation": "Unable to open the export temporary file"
  },
  {
    "id": "ent.migration.migratetoldap.duplicate_field",
    "translation": "Unable to migrate AD/LDAP users with specified field. Duplicate entry detected. Please remove all duplcates and try again."
  },
  {
    "id": "ent.migration.migratetoldap.user_not_found",
    "translation": "Unable to find user on AD/LDAP server: "
  },
  {
    "id": "ent.migration.migratetosaml.email_already_used_by_other_user",
    "translation": "Email already used by another SAML user."
  },
  {
    "id": "ent.migration.migratetosaml.user_not_found_in_users_mapping_file",
    "translation": "User not found in the users file."
  },
  {
    "id": "ent.migration.migratetosaml.username_already_used_by_other_user",
    "translation": "Username already used by another Mattermost user."
  },
  {
    "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.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.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.configure.encryption_not_enabled.app_error",
    "translation": "SAML login was unsuccessful because encryption is not enabled. 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.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.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.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.do_login.empty_response.app_error",
    "translation": "We received an empty response from the Identity Provider"
  },
  {
    "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.validate.app_error",
    "translation": "An error occurred while validating the response from the Identity Provider. Please contact your System Administrator."
  },
  {
    "id": "ent.saml.license_disable.app_error",
    "translation": "Your license does not support SAML authentication."
  },
  {
    "id": "ent.saml.metadata.app_error",
    "translation": "An error occurred while building Service Provider Metadata."
  },
  {
    "id": "ent.saml.service_disable.app_error",
    "translation": "SAML 2.0 is not configured or supported on this server."
  },
  {
    "id": "interactive_message.decode_trigger_id.base64_decode_failed",
    "translation": "Failed to decode base64 for trigger ID for interactive dialog."
  },
  {
    "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.expired",
    "translation": "Trigger ID for interactive dialog is expired. Trigger IDs live for a maximum of {{.Seconds}} seconds."
  },
  {
    "id": "interactive_message.decode_trigger_id.missing_data",
    "translation": "Trigger ID missing required data 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.verify_signature_failed",
    "translation": "Signature verification failed of trigger ID for interactive dialog."
  },
  {
    "id": "interactive_message.generate_trigger_id.signing_failed",
    "translation": "Failed to sign generated trigger ID for interactive dialog."
  },
  {
    "id": "jobs.do_job.batch_size.parse_error",
    "translation": "Could not parse message export job BatchSize."
  },
  {
    "id": "jobs.do_job.batch_start_timestamp.parse_error",
    "translation": "Could not parse message export job ExportFromTimestamp."
  },
  {
    "id": "jobs.request_cancellation.status.error",
    "translation": "Could not request cancellation for job that is not in a cancelable state."
  },
  {
    "id": "jobs.set_job_error.update.error",
    "translation": "Failed to set job status to error"
  },
  {
    "id": "jobs.start_synchronize_job.timeout",
    "translation": "Reached AD/LDAP synchronization job timeout."
  },
  {
    "id": "manaultesting.manual_test.parse.app_error",
    "translation": "Unable to parse URL"
  },
  {
    "id": "manaultesting.test_autolink.unable.app_error",
    "translation": "Unable to get channels"
  },
  {
    "id": "mattermost.bulletin.subject",
    "translation": "Mattermost Security Bulletin"
  },
  {
    "id": "mfa.activate.authenticate.app_error",
    "translation": "Error attempting to authenticate MFA token"
  },
  {
    "id": "mfa.activate.bad_token.app_error",
    "translation": "Invalid MFA token"
  },
  {
    "id": "mfa.activate.save_active.app_error",
    "translation": "Unable to update MFA active status for the user"
  },
  {
    "id": "mfa.deactivate.save_active.app_error",
    "translation": "Unable to update MFA active status for the user"
  },
  {
    "id": "mfa.deactivate.save_secret.app_error",
    "translation": "Error clearing the MFA secret"
  },
  {
    "id": "mfa.generate_qr_code.create_code.app_error",
    "translation": "Error generating QR code"
  },
  {
    "id": "mfa.generate_qr_code.save_secret.app_error",
    "translation": "Error saving the MFA secret"
  },
  {
    "id": "mfa.mfa_disabled.app_error",
    "translation": "Multi-factor authentication has been disabled on this server."
  },
  {
    "id": "mfa.validate_token.authenticate.app_error",
    "translation": "Invalid MFA token."
  },
  {
    "id": "migrations.worker.run_advanced_permissions_phase_2_migration.invalid_progress",
    "translation": "Migration failed due to invalid progress data."
  },
  {
    "id": "migrations.worker.run_migration.unknown_key",
    "translation": "Unable to run migration job due to unknown migration key."
  },
  {
    "id": "model.access.is_valid.access_token.app_error",
    "translation": "Invalid access token"
  },
  {
    "id": "model.access.is_valid.client_id.app_error",
    "translation": "Invalid client id"
  },
  {
    "id": "model.access.is_valid.redirect_uri.app_error",
    "translation": "Invalid redirect uri"
  },
  {
    "id": "model.access.is_valid.refresh_token.app_error",
    "translation": "Invalid refresh token"
  },
  {
    "id": "model.access.is_valid.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.authorize.is_valid.auth_code.app_error",
    "translation": "Invalid authorization code"
  },
  {
    "id": "model.authorize.is_valid.client_id.app_error",
    "translation": "Invalid client id"
  },
  {
    "id": "model.authorize.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.authorize.is_valid.expires.app_error",
    "translation": "Expires in must be set"
  },
  {
    "id": "model.authorize.is_valid.redirect_uri.app_error",
    "translation": "Invalid redirect uri"
  },
  {
    "id": "model.authorize.is_valid.response_type.app_error",
    "translation": "Invalid response type"
  },
  {
    "id": "model.authorize.is_valid.scope.app_error",
    "translation": "Invalid scope"
  },
  {
    "id": "model.authorize.is_valid.state.app_error",
    "translation": "Invalid state"
  },
  {
    "id": "model.authorize.is_valid.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.bot.is_valid.create_at.app_error",
    "translation": "Invalid create at"
  },
  {
    "id": "model.bot.is_valid.creator_id.app_error",
    "translation": "Invalid creator id"
  },
  {
    "id": "model.bot.is_valid.description.app_error",
    "translation": "Invalid description"
  },
  {
    "id": "model.bot.is_valid.update_at.app_error",
    "translation": "Invalid update at"
  },
  {
    "id": "model.bot.is_valid.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.bot.is_valid.username.app_error",
    "translation": "Invalid username"
  },
  {
    "id": "model.channel.is_valid.2_or_more.app_error",
    "translation": "Name must be 2 or more lowercase alphanumeric characters"
  },
  {
    "id": "model.channel.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.channel.is_valid.creator_id.app_error",
    "translation": "Invalid creator id"
  },
  {
    "id": "model.channel.is_valid.display_name.app_error",
    "translation": "Invalid display name"
  },
  {
    "id": "model.channel.is_valid.header.app_error",
    "translation": "Invalid header"
  },
  {
    "id": "model.channel.is_valid.id.app_error",
    "translation": "Invalid Id"
  },
  {
    "id": "model.channel.is_valid.purpose.app_error",
    "translation": "Invalid purpose"
  },
  {
    "id": "model.channel.is_valid.type.app_error",
    "translation": "Invalid type"
  },
  {
    "id": "model.channel.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "id": "model.channel_member.is_valid.channel_id.app_error",
    "translation": "Invalid channel id"
  },
  {
    "id": "model.channel_member.is_valid.email_value.app_error",
    "translation": "Invalid email notification value"
  },
  {
    "id": "model.channel_member.is_valid.ignore_channel_mentions_value.app_error",
    "translation": "Invalid ignore channel mentions status"
  },
  {
    "id": "model.channel_member.is_valid.notify_level.app_error",
    "translation": "Invalid notify level"
  },
  {
    "id": "model.channel_member.is_valid.push_level.app_error",
    "translation": "Invalid push notification level"
  },
  {
    "id": "model.channel_member.is_valid.unread_level.app_error",
    "translation": "Invalid mark unread level"
  },
  {
    "id": "model.channel_member.is_valid.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.client.connecting.app_error",
    "translation": "We encountered an error while connecting to the server"
  },
  {
    "id": "model.cluster.is_valid.create_at.app_error",
    "translation": "CreateAt must be set"
  },
  {
    "id": "model.cluster.is_valid.hostname.app_error",
    "translation": "Hostname must be set"
  },
  {
    "id": "model.cluster.is_valid.id.app_error",
    "translation": "Invalid Id"
  },
  {
    "id": "model.cluster.is_valid.last_ping_at.app_error",
    "translation": "LastPingAt must be set"
  },
  {
    "id": "model.cluster.is_valid.name.app_error",
    "translation": "ClusterName must be set"
  },
  {
    "id": "model.cluster.is_valid.type.app_error",
    "translation": "Type must be set"
  },
  {
    "id": "model.command.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.command.is_valid.description.app_error",
    "translation": "Invalid description"
  },
  {
    "id": "model.command.is_valid.display_name.app_error",
    "translation": "Invalid title"
  },
  {
    "id": "model.command.is_valid.id.app_error",
    "translation": "Invalid Id"
  },
  {
    "id": "model.command.is_valid.method.app_error",
    "translation": "Invalid Method"
  },
  {
    "id": "model.command.is_valid.team_id.app_error",
    "translation": "Invalid team ID"
  },
  {
    "id": "model.command.is_valid.token.app_error",
    "translation": "Invalid token"
  },
  {
    "id": "model.command.is_valid.trigger.app_error",
    "translation": "Invalid trigger"
  },
  {
    "id": "model.command.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "id": "model.command.is_valid.url.app_error",
    "translation": "Invalid URL"
  },
  {
    "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.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.command_hook.channel_id.app_error",
    "translation": "Invalid channel id"
  },
  {
    "id": "model.command_hook.command_id.app_error",
    "translation": "Invalid command id"
  },
  {
    "id": "model.command_hook.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.command_hook.id.app_error",
    "translation": "Invalid command hook id"
  },
  {
    "id": "model.command_hook.parent_id.app_error",
    "translation": "Invalid parent id"
  },
  {
    "id": "model.command_hook.root_id.app_error",
    "translation": "Invalid root id"
  },
  {
    "id": "model.command_hook.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.compliance.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.compliance.is_valid.desc.app_error",
    "translation": "Invalid description"
  },
  {
    "id": "model.compliance.is_valid.end_at.app_error",
    "translation": "To must be a valid time"
  },
  {
    "id": "model.compliance.is_valid.id.app_error",
    "translation": "Invalid Id"
  },
  {
    "id": "model.compliance.is_valid.start_at.app_error",
    "translation": "From must be a valid time"
  },
  {
    "id": "model.compliance.is_valid.start_end_at.app_error",
    "translation": "To must be greater than From"
  },
  {
    "id": "model.config.is_valid.allow_cookies_for_subdomains.app_error",
    "translation": "Allowing cookies for subdomains requires SiteURL to be set."
  },
  {
    "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.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.cluster_email_batching.app_error",
    "translation": "Unable to enable email batching when clustering is enabled."
  },
  {
    "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.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.message_retention_days_too_low.app_error",
    "translation": "Message retention must be one day or longer."
  },
  {
    "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 (+), period (.) and hyphen (-)."
  },
  {
    "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.elastic_search.bulk_indexing_time_window_seconds.app_error",
    "translation": "Elasticsearch Bulk Indexing Time Window must be at least 1 second."
  },
  {
    "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.enable_autocomplete.app_error",
    "translation": "Elasticsearch IndexingEnabled setting must be set to true when Elasticsearch AutocompleteEnabled is set to true."
  },
  {
    "id": "model.config.is_valid.elastic_search.enable_searching.app_error",
    "translation": "Elasticsearch IndexingEnabled setting must be set to true when Elasticsearch SearchEnabled is set to true."
  },
  {
    "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.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.request_timeout_seconds.app_error",
    "translation": "Elasticsearch Request Timeout must be at least 1 second."
  },
  {
    "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.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_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_security.app_error",
    "translation": "Invalid connection security for email settings. Must be '', 'TLS', or 'STARTTLS'"
  },
  {
    "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.file_driver.app_error",
    "translation": "Invalid driver name for file settings. Must be 'local' or 'amazons3'"
  },
  {
    "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.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.image_proxy_type.app_error",
    "translation": "Invalid image proxy type. Must be 'local' or 'atmos/camo'."
  },
  {
    "id": "model.config.is_valid.ldap_basedn",
    "translation": "AD/LDAP field \"BaseDN\" is required."
  },
  {
    "id": "model.config.is_valid.ldap_email",
    "translation": "AD/LDAP field \"Email Attribute\" is required."
  },
  {
    "id": "model.config.is_valid.ldap_id",
    "translation": "AD/LDAP field \"ID Attribute\" is required."
  },
  {
    "id": "model.config.is_valid.ldap_login_id",
    "translation": "AD/LDAP field \"Login ID Attribute\" is required."
  },
  {
    "id": "model.config.is_valid.ldap_max_page_size.app_error",
    "translation": "Invalid max page size value."
  },
  {
    "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_server",
    "translation": "AD/LDAP field \"AD/LDAP Server\" 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_username",
    "translation": "AD/LDAP field \"Username Attribute\" is required."
  },
  {
    "id": "model.config.is_valid.listen_address.app_error",
    "translation": "Invalid listen address for service settings Must be set."
  },
  {
    "id": "model.config.is_valid.localization.available_locales.app_error",
    "translation": "Available Languages must contain Default Client Language"
  },
  {
    "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.max_burst.app_error",
    "translation": "Maximum burst size must be 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_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_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_users.app_error",
    "translation": "Invalid maximum users per team for team settings. Must be a positive number."
  },
  {
    "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.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.enable.app_error",
    "translation": "Message export job EnableExport setting must be either true or false"
  },
  {
    "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.export_type.app_error",
    "translation": "Message export job ExportFormat must be one of 'actiance', 'csv' or 'globalrelay'"
  },
  {
    "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.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.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.smtp_password.app_error",
    "translation": "Message export job GlobalRelaySettings.SmtpPassword must be set"
  },
  {
    "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.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.rate_mem.app_error",
    "translation": "Invalid memory store size for rate limit settings. Must be a positive number"
  },
  {
    "id": "model.config.is_valid.rate_sec.app_error",
    "translation": "Invalid per sec for rate limit settings. Must be a positive number"
  },
  {
    "id": "model.config.is_valid.read_timeout.app_error",
    "translation": "Invalid value for read timeout."
  },
  {
    "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.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_canonical_algorithm.app_error",
    "translation": "Invalid Canonical Algorithm."
  },
  {
    "id": "model.config.is_valid.saml_email_attribute.app_error",
    "translation": "Invalid Email attribute. Must be set."
  },
  {
    "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_idp_cert.app_error",
    "translation": "Identity Provider Public Certificate missing. Did you forget to upload it?"
  },
  {
    "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_url.app_error",
    "translation": "SAML SSO URL must be a valid URL and start with http:// or https://."
  },
  {
    "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_public_cert.app_error",
    "translation": "Service Provider Public Certificate missing. Did you forget to upload it?"
  },
  {
    "id": "model.config.is_valid.saml_signature_algorithm.app_error",
    "translation": "Invalid Signature Algorithm."
  },
  {
    "id": "model.config.is_valid.saml_username_attribute.app_error",
    "translation": "Invalid Username attribute. Must be 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.site_url_email_batching.app_error",
    "translation": "Unable to enable email batching when SiteURL isn't set."
  },
  {
    "id": "model.config.is_valid.sitename_empty.app_error",
    "translation": "Site name cannot be empty."
  },
  {
    "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.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_data_src.app_error",
    "translation": "Invalid data source for SQL settings. Must be set."
  },
  {
    "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_idle.app_error",
    "translation": "Invalid maximum idle connection 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_query_timeout.app_error",
    "translation": "Invalid query timeout for SQL settings. Must be a positive number."
  },
  {
    "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.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.tls_cert_file.app_error",
    "translation": "Invalid value for TLS certificate file - Either use LetsEncrypt or set path to existing certificate file"
  },
  {
    "id": "model.config.is_valid.tls_key_file.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_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.webserver_security.app_error",
    "translation": "Invalid value for webserver connection security."
  },
  {
    "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.write_timeout.app_error",
    "translation": "Invalid value for write timeout."
  },
  {
    "id": "model.emoji.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.emoji.id.app_error",
    "translation": "Invalid emoji id"
  },
  {
    "id": "model.emoji.name.app_error",
    "translation": "Name must be 1 to 64 lowercase alphanumeric characters"
  },
  {
    "id": "model.emoji.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "id": "model.emoji.user_id.app_error",
    "translation": "Invalid creator id"
  },
  {
    "id": "model.file_info.get.gif.app_error",
    "translation": "Could not decode gif."
  },
  {
    "id": "model.file_info.is_valid.create_at.app_error",
    "translation": "Invalid value for create_at."
  },
  {
    "id": "model.file_info.is_valid.id.app_error",
    "translation": "Invalid value for id."
  },
  {
    "id": "model.file_info.is_valid.path.app_error",
    "translation": "Invalid value for path."
  },
  {
    "id": "model.file_info.is_valid.post_id.app_error",
    "translation": "Invalid value for post_id."
  },
  {
    "id": "model.file_info.is_valid.update_at.app_error",
    "translation": "Invalid value for update_at."
  },
  {
    "id": "model.file_info.is_valid.user_id.app_error",
    "translation": "Invalid value for user_id."
  },
  {
    "id": "model.group.create_at.app_error",
    "translation": "invalid create at property for group"
  },
  {
    "id": "model.group.delete_at.app_error",
    "translation": "invalid delete at property for group"
  },
  {
    "id": "model.group.description.app_error",
    "translation": "invalid description property for group"
  },
  {
    "id": "model.group.display_name.app_error",
    "translation": "invalid display name property for group"
  },
  {
    "id": "model.group.id.app_error",
    "translation": "invalid id property for group"
  },
  {
    "id": "model.group.name.app_error",
    "translation": "invalid name property for group"
  },
  {
    "id": "model.group.remote_id.app_error",
    "translation": "invalid remote id property for group"
  },
  {
    "id": "model.group.source.app_error",
    "translation": "invalid source property for group"
  },
  {
    "id": "model.group.update_at.app_error",
    "translation": "invalid update at property for group"
  },
  {
    "id": "model.group_member.group_id.app_error",
    "translation": "invalid group id property for group member"
  },
  {
    "id": "model.group_member.user_id.app_error",
    "translation": "invalid user id property for group member"
  },
  {
    "id": "model.group_syncable.group_id.app_error",
    "translation": "invalid group id property for group syncable"
  },
  {
    "id": "model.group_syncable.syncable_id.app_error",
    "translation": "invalid syncable id for group syncable"
  },
  {
    "id": "model.group_syncable.type.app_error",
    "translation": "invalid type property for group syncable"
  },
  {
    "id": "model.guest.is_valid.channel.app_error",
    "translation": "Invalid channel"
  },
  {
    "id": "model.guest.is_valid.channels.app_error",
    "translation": "Invalid channels"
  },
  {
    "id": "model.guest.is_valid.email.app_error",
    "translation": "Invalid email"
  },
  {
    "id": "model.guest.is_valid.emails.app_error",
    "translation": "Invalid emails"
  },
  {
    "id": "model.incoming_hook.channel_id.app_error",
    "translation": "Invalid channel id"
  },
  {
    "id": "model.incoming_hook.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.incoming_hook.description.app_error",
    "translation": "Invalid description"
  },
  {
    "id": "model.incoming_hook.display_name.app_error",
    "translation": "Invalid title"
  },
  {
    "id": "model.incoming_hook.icon_url.app_error",
    "translation": "Invalid post icon"
  },
  {
    "id": "model.incoming_hook.id.app_error",
    "translation": "Invalid Id"
  },
  {
    "id": "model.incoming_hook.parse_data.app_error",
    "translation": "Unable to parse incoming data"
  },
  {
    "id": "model.incoming_hook.team_id.app_error",
    "translation": "Invalid team ID"
  },
  {
    "id": "model.incoming_hook.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "id": "model.incoming_hook.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.incoming_hook.username.app_error",
    "translation": "Invalid username"
  },
  {
    "id": "model.job.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.job.is_valid.id.app_error",
    "translation": "Invalid job Id"
  },
  {
    "id": "model.job.is_valid.status.app_error",
    "translation": "Invalid job status"
  },
  {
    "id": "model.job.is_valid.type.app_error",
    "translation": "Invalid job type"
  },
  {
    "id": "model.license_record.is_valid.create_at.app_error",
    "translation": "Invalid value for create_at when uploading a license."
  },
  {
    "id": "model.license_record.is_valid.id.app_error",
    "translation": "Invalid value for id when uploading a license."
  },
  {
    "id": "model.link_metadata.is_valid.data.app_error",
    "translation": "Link metadata data cannot be nil"
  },
  {
    "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.timestamp.app_error",
    "translation": "Link metadata timestamp must be nonzero and rounded to the nearest hour"
  },
  {
    "id": "model.link_metadata.is_valid.type.app_error",
    "translation": "Invalid link metadata type"
  },
  {
    "id": "model.link_metadata.is_valid.url.app_error",
    "translation": "Link metadata URL must be set"
  },
  {
    "id": "model.oauth.is_valid.app_id.app_error",
    "translation": "Invalid app id"
  },
  {
    "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.client_secret.app_error",
    "translation": "Invalid client secret"
  },
  {
    "id": "model.oauth.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.oauth.is_valid.creator_id.app_error",
    "translation": "Invalid creator id"
  },
  {
    "id": "model.oauth.is_valid.description.app_error",
    "translation": "Invalid description"
  },
  {
    "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.icon_url.app_error",
    "translation": "Icon URL must be a valid URL and start with http:// or https://."
  },
  {
    "id": "model.oauth.is_valid.name.app_error",
    "translation": "Invalid name"
  },
  {
    "id": "model.oauth.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "id": "model.outgoing_hook.icon_url.app_error",
    "translation": "Invalid icon"
  },
  {
    "id": "model.outgoing_hook.is_valid.callback.app_error",
    "translation": "Invalid callback URLs"
  },
  {
    "id": "model.outgoing_hook.is_valid.channel_id.app_error",
    "translation": "Invalid channel id"
  },
  {
    "id": "model.outgoing_hook.is_valid.content_type.app_error",
    "translation": "Invalid value for content_type"
  },
  {
    "id": "model.outgoing_hook.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.outgoing_hook.is_valid.description.app_error",
    "translation": "Invalid description"
  },
  {
    "id": "model.outgoing_hook.is_valid.display_name.app_error",
    "translation": "Invalid title"
  },
  {
    "id": "model.outgoing_hook.is_valid.id.app_error",
    "translation": "Invalid Id"
  },
  {
    "id": "model.outgoing_hook.is_valid.team_id.app_error",
    "translation": "Invalid team ID"
  },
  {
    "id": "model.outgoing_hook.is_valid.token.app_error",
    "translation": "Invalid token"
  },
  {
    "id": "model.outgoing_hook.is_valid.trigger_words.app_error",
    "translation": "Invalid trigger words"
  },
  {
    "id": "model.outgoing_hook.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "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.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.outgoing_hook.is_valid.words.app_error",
    "translation": "Invalid trigger words"
  },
  {
    "id": "model.outgoing_hook.username.app_error",
    "translation": "Invalid username"
  },
  {
    "id": "model.plugin_command.error.app_error",
    "translation": "An error occurred while trying to execute this command."
  },
  {
    "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_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_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.post.is_valid.channel_id.app_error",
    "translation": "Invalid channel id"
  },
  {
    "id": "model.post.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.post.is_valid.file_ids.app_error",
    "translation": "Invalid file ids. Note that uploads are limited to 5 files maximum. Please use additional posts for more files."
  },
  {
    "id": "model.post.is_valid.filenames.app_error",
    "translation": "Invalid filenames"
  },
  {
    "id": "model.post.is_valid.hashtags.app_error",
    "translation": "Invalid hashtags"
  },
  {
    "id": "model.post.is_valid.id.app_error",
    "translation": "Invalid Id"
  },
  {
    "id": "model.post.is_valid.msg.app_error",
    "translation": "Invalid message"
  },
  {
    "id": "model.post.is_valid.original_id.app_error",
    "translation": "Invalid original id"
  },
  {
    "id": "model.post.is_valid.parent_id.app_error",
    "translation": "Invalid parent id"
  },
  {
    "id": "model.post.is_valid.props.app_error",
    "translation": "Invalid props"
  },
  {
    "id": "model.post.is_valid.root_id.app_error",
    "translation": "Invalid root id"
  },
  {
    "id": "model.post.is_valid.root_parent.app_error",
    "translation": "Invalid root ID must be set if parent ID set"
  },
  {
    "id": "model.post.is_valid.type.app_error",
    "translation": "Invalid type"
  },
  {
    "id": "model.post.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "id": "model.post.is_valid.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.preference.is_valid.category.app_error",
    "translation": "Invalid category"
  },
  {
    "id": "model.preference.is_valid.id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.preference.is_valid.name.app_error",
    "translation": "Invalid name"
  },
  {
    "id": "model.preference.is_valid.theme.app_error",
    "translation": "Invalid theme"
  },
  {
    "id": "model.preference.is_valid.value.app_error",
    "translation": "Value is too long"
  },
  {
    "id": "model.reaction.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.reaction.is_valid.emoji_name.app_error",
    "translation": "Invalid emoji name"
  },
  {
    "id": "model.reaction.is_valid.post_id.app_error",
    "translation": "Invalid post id"
  },
  {
    "id": "model.reaction.is_valid.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.team.is_valid.characters.app_error",
    "translation": "Name must be 2 or more lowercase alphanumeric characters"
  },
  {
    "id": "model.team.is_valid.company.app_error",
    "translation": "Invalid company name"
  },
  {
    "id": "model.team.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.team.is_valid.description.app_error",
    "translation": "Invalid description"
  },
  {
    "id": "model.team.is_valid.domains.app_error",
    "translation": "Invalid allowed domains"
  },
  {
    "id": "model.team.is_valid.email.app_error",
    "translation": "Invalid email"
  },
  {
    "id": "model.team.is_valid.id.app_error",
    "translation": "Invalid Id"
  },
  {
    "id": "model.team.is_valid.invite_id.app_error",
    "translation": "Invalid invite id"
  },
  {
    "id": "model.team.is_valid.name.app_error",
    "translation": "Invalid name"
  },
  {
    "id": "model.team.is_valid.reserved.app_error",
    "translation": "This URL is unavailable. Please try another."
  },
  {
    "id": "model.team.is_valid.type.app_error",
    "translation": "Invalid type"
  },
  {
    "id": "model.team.is_valid.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "id": "model.team.is_valid.url.app_error",
    "translation": "Invalid URL Identifier"
  },
  {
    "id": "model.team_member.is_valid.team_id.app_error",
    "translation": "Invalid team ID"
  },
  {
    "id": "model.team_member.is_valid.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.token.is_valid.expiry",
    "translation": "Invalid token expiry"
  },
  {
    "id": "model.token.is_valid.size",
    "translation": "Invalid token."
  },
  {
    "id": "model.user.is_valid.auth_data.app_error",
    "translation": "Invalid auth data"
  },
  {
    "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_type.app_error",
    "translation": "Invalid user, auth data must be set with auth type"
  },
  {
    "id": "model.user.is_valid.create_at.app_error",
    "translation": "Create at must be a valid time"
  },
  {
    "id": "model.user.is_valid.email.app_error",
    "translation": "Invalid email"
  },
  {
    "id": "model.user.is_valid.first_name.app_error",
    "translation": "Invalid first name"
  },
  {
    "id": "model.user.is_valid.id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.user.is_valid.last_name.app_error",
    "translation": "Invalid last name"
  },
  {
    "id": "model.user.is_valid.locale.app_error",
    "translation": "Invalid locale"
  },
  {
    "id": "model.user.is_valid.nickname.app_error",
    "translation": "Invalid nickname"
  },
  {
    "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.position.app_error",
    "translation": "Invalid position: must not be longer than 128 characters."
  },
  {
    "id": "model.user.is_valid.pwd.app_error",
    "translation": "Your password must contain at least {{.Min}} characters."
  },
  {
    "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_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_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_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_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_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_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_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_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_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_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_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_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_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_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.update_at.app_error",
    "translation": "Update at must be a valid time"
  },
  {
    "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_access_token.is_valid.description.app_error",
    "translation": "Invalid description, must be 255 or less characters"
  },
  {
    "id": "model.user_access_token.is_valid.id.app_error",
    "translation": "Invalid value for id"
  },
  {
    "id": "model.user_access_token.is_valid.token.app_error",
    "translation": "Invalid access token"
  },
  {
    "id": "model.user_access_token.is_valid.user_id.app_error",
    "translation": "Invalid user id"
  },
  {
    "id": "model.utils.decode_json.app_error",
    "translation": "could not decode"
  },
  {
    "id": "model.websocket_client.connect_fail.app_error",
    "translation": "Unable to connect to the WebSocket server."
  },
  {
    "id": "oauth.gitlab.tos.error",
    "translation": "GitLab's Terms of Service have updated. Please go to gitlab.com to accept them and then try logging into Mattermost again."
  },
  {
    "id": "plugin.api.get_users_in_channel",
    "translation": "Unable to get the users, invalid sorting criteria"
  },
  {
    "id": "plugin.api.update_user_status.bad_status",
    "translation": "Unable to set the user status. Unknown user status."
  },
  {
    "id": "plugin_api.bot_cant_create_bot",
    "translation": "Bot user cannot create bot user."
  },
  {
    "id": "plugin_api.get_file_link.disabled.app_error",
    "translation": "Public links have been disabled"
  },
  {
    "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.send_mail.missing_htmlbody",
    "translation": "Missing HTML Body."
  },
  {
    "id": "plugin_api.send_mail.missing_subject",
    "translation": "Missing email subject."
  },
  {
    "id": "plugin_api.send_mail.missing_to",
    "translation": "Missing TO address."
  },
  {
    "id": "store.insert_error",
    "translation": "insert error"
  },
  {
    "id": "store.select_error",
    "translation": "select error"
  },
  {
    "id": "store.sql.build_query.app_error",
    "translation": "failed to build query"
  },
  {
    "id": "store.sql.convert_string_array",
    "translation": "FromDb: Unable to convert StringArray to *string"
  },
  {
    "id": "store.sql.convert_string_interface",
    "translation": "FromDb: Unable to convert StringInterface to *string"
  },
  {
    "id": "store.sql.convert_string_map",
    "translation": "FromDb: Unable to convert StringMap to *string"
  },
  {
    "id": "store.sql_audit.get.finding.app_error",
    "translation": "We encountered an error finding the audits"
  },
  {
    "id": "store.sql_audit.get.limit.app_error",
    "translation": "Limit exceeded for paging"
  },
  {
    "id": "store.sql_audit.permanent_delete_batch.app_error",
    "translation": "We encountered an error permanently deleting the batch of audits"
  },
  {
    "id": "store.sql_audit.permanent_delete_by_user.app_error",
    "translation": "We encountered an error deleting the audits"
  },
  {
    "id": "store.sql_audit.save.saving.app_error",
    "translation": "We encountered an error saving the audit"
  },
  {
    "id": "store.sql_bot.delete.app_error",
    "translation": "Unable to delete the bot"
  },
  {
    "id": "store.sql_bot.get.app_error",
    "translation": "Unable to get the bot"
  },
  {
    "id": "store.sql_bot.get.missing.app_error",
    "translation": "Bot does not exist"
  },
  {
    "id": "store.sql_bot.get_all.app_error",
    "translation": "Unable to get the bots"
  },
  {
    "id": "store.sql_bot.save.app_error",
    "translation": "Unable to save the bot"
  },
  {
    "id": "store.sql_bot.update.app_error",
    "translation": "Unable to update the bot"
  },
  {
    "id": "store.sql_bot.update.updating.app_error",
    "translation": "We encountered an error updating the bot"
  },
  {
    "id": "store.sql_channel.analytics_deleted_type_count.app_error",
    "translation": "Unable to get deleted channel type counts"
  },
  {
    "id": "store.sql_channel.analytics_type_count.app_error",
    "translation": "Unable to get channel type counts"
  },
  {
    "id": "store.sql_channel.clear_all_custom_role_assignments.commit_transaction.app_error",
    "translation": "Failed to commit the database transaction"
  },
  {
    "id": "store.sql_channel.clear_all_custom_role_assignments.open_transaction.app_error",
    "translation": "Failed to begin the database transaction"
  },
  {
    "id": "store.sql_channel.clear_all_custom_role_assignments.select.app_error",
    "translation": "Failed to retrieve the channel members"
  },
  {
    "id": "store.sql_channel.clear_all_custom_role_assignments.update.app_error",
    "translation": "Failed to update the channel member"
  },
  {
    "id": "store.sql_channel.count_posts_since.app_error",
    "translation": "Unable to count messages since given date"
  },
  {
    "id": "store.sql_channel.delete.channel.app_error",
    "translation": "Unable to delete the channel"
  },
  {
    "id": "store.sql_channel.get.existing.app_error",
    "translation": "Unable to find the existing channel"
  },
  {
    "id": "store.sql_channel.get.find.app_error",
    "translation": "We encountered an error finding the channel"
  },
  {
    "id": "store.sql_channel.get_all.app_error",
    "translation": "Unable to get all the channels"
  },
  {
    "id": "store.sql_channel.get_all_channels.get.app_error",
    "translation": "Unable to get all the channels"
  },
  {
    "id": "store.sql_channel.get_all_direct.app_error",
    "translation": "Unable to get all the direct channels"
  },
  {
    "id": "store.sql_channel.get_by_name.existing.app_error",
    "translation": "Unable to find the existing channel"
  },
  {
    "id": "store.sql_channel.get_by_name.missing.app_error",
    "translation": "Channel does not exist"
  },
  {
    "id": "store.sql_channel.get_by_scheme.app_error",
    "translation": "Unable to get the channels for the provided scheme"
  },
  {
    "id": "store.sql_channel.get_channel_counts.get.app_error",
    "translation": "Unable to get the channel counts"
  },
  {
    "id": "store.sql_channel.get_channels.get.app_error",
    "translation": "Unable to get the channels"
  },
  {
    "id": "store.sql_channel.get_channels.not_found.app_error",
    "translation": "No channels were found"
  },
  {
    "id": "store.sql_channel.get_channels_batch_for_indexing.get.app_error",
    "translation": "Unable to get the channels batch for indexing"
  },
  {
    "id": "store.sql_channel.get_channels_by_ids.app_error",
    "translation": "Unable to get channels by ids"
  },
  {
    "id": "store.sql_channel.get_channels_by_ids.get.app_error",
    "translation": "Unable to get the channels"
  },
  {
    "id": "store.sql_channel.get_channels_by_ids.not_found.app_error",
    "translation": "No channel found"
  },
  {
    "id": "store.sql_channel.get_deleted.existing.app_error",
    "translation": "Unable to find the existing deleted channel"
  },
  {
    "id": "store.sql_channel.get_deleted.missing.app_error",
    "translation": "No deleted channels exist"
  },
  {
    "id": "store.sql_channel.get_deleted_by_name.existing.app_error",
    "translation": "Unable to find the existing deleted channel"
  },
  {
    "id": "store.sql_channel.get_deleted_by_name.missing.app_error",
    "translation": "No deleted channel exists with that name"
  },
  {
    "id": "store.sql_channel.get_for_post.app_error",
    "translation": "Unable to get the channel for the given post"
  },
  {
    "id": "store.sql_channel.get_member.app_error",
    "translation": "Unable to get the channel member"
  },
  {
    "id": "store.sql_channel.get_member.missing.app_error",
    "translation": "No channel member found for that user ID and channel ID"
  },
  {
    "id": "store.sql_channel.get_member_count.app_error",
    "translation": "Unable to get the channel member count"
  },
  {
    "id": "store.sql_channel.get_member_for_post.app_error",
    "translation": "Unable to get the channel member for the given post"
  },
  {
    "id": "store.sql_channel.get_members.app_error",
    "translation": "Unable to get the channel members"
  },
  {
    "id": "store.sql_channel.get_members_by_ids.app_error",
    "translation": "Unable to get the channel members"
  },
  {
    "id": "store.sql_channel.get_more_channels.get.app_error",
    "translation": "Unable to get the channels"
  },
  {
    "id": "store.sql_channel.get_pinnedpost_count.app_error",
    "translation": "Unable to get the channel pinned post count"
  },
  {
    "id": "store.sql_channel.get_public_channels.get.app_error",
    "translation": "Unable to get public channels"
  },
  {
    "id": "store.sql_channel.get_unread.app_error",
    "translation": "Unable to get the channel unread messages"
  },
  {
    "id": "store.sql_channel.increment_mention_count.app_error",
    "translation": "Unable to increment the mention count"
  },
  {
    "id": "store.sql_channel.migrate_channel_members.commit_transaction.app_error",
    "translation": "Failed to commit the database transaction"
  },
  {
    "id": "store.sql_channel.migrate_channel_members.open_transaction.app_error",
    "translation": "Failed to open the database transaction"
  },
  {
    "id": "store.sql_channel.migrate_channel_members.select.app_error",
    "translation": "Failed to select the batch of channel members"
  },
  {
    "id": "store.sql_channel.migrate_channel_members.update.app_error",
    "translation": "Failed to update the channel member"
  },
  {
    "id": "store.sql_channel.permanent_delete.app_error",
    "translation": "Unable to delete the channel"
  },
  {
    "id": "store.sql_channel.permanent_delete.commit_transaction.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "id": "store.sql_channel.permanent_delete.delete_public_channel.app_error",
    "translation": "Unable to delete materialized public channel"
  },
  {
    "id": "store.sql_channel.permanent_delete.open_transaction.app_error",
    "translation": "Unable to open transaction"
  },
  {
    "id": "store.sql_channel.permanent_delete_by_team.app_error",
    "translation": "Unable to delete the channels"
  },
  {
    "id": "store.sql_channel.permanent_delete_by_team.commit_transaction.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "id": "store.sql_channel.permanent_delete_by_team.delete_public_channels.app_error",
    "translation": "Unable to delete materialized public channels"
  },
  {
    "id": "store.sql_channel.permanent_delete_by_team.open_transaction.app_error",
    "translation": "Unable to open transaction"
  },
  {
    "id": "store.sql_channel.permanent_delete_members_by_user.app_error",
    "translation": "Unable to remove the channel member"
  },
  {
    "id": "store.sql_channel.pinned_posts.app_error",
    "translation": "Unable to find the pinned posts"
  },
  {
    "id": "store.sql_channel.remove_all_deactivated_members.app_error",
    "translation": "We could not remove the deactivated users from the channel"
  },
  {
    "id": "store.sql_channel.remove_member.app_error",
    "translation": "Unable to remove the channel member"
  },
  {
    "id": "store.sql_channel.reset_all_channel_schemes.app_error",
    "translation": "We could not reset the channel schemes"
  },
  {
    "id": "store.sql_channel.reset_all_channel_schemes.commit_transaction.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "id": "store.sql_channel.reset_all_channel_schemes.open_transaction.app_error",
    "translation": "Unable to open transaction"
  },
  {
    "id": "store.sql_channel.save.archived_channel.app_error",
    "translation": "You can not modify an archived channel"
  },
  {
    "id": "store.sql_channel.save.commit_transaction.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "id": "store.sql_channel.save.direct_channel.app_error",
    "translation": "Use SaveDirectChannel to create a direct channel"
  },
  {
    "id": "store.sql_channel.save.open_transaction.app_error",
    "translation": "Unable to open transaction"
  },
  {
    "id": "store.sql_channel.save.upsert_public_channel.app_error",
    "translation": "Unable to upsert materialized public channel"
  },
  {
    "id": "store.sql_channel.save_channel.current_count.app_error",
    "translation": "Failed to get current channel count"
  },
  {
    "id": "store.sql_channel.save_channel.existing.app_error",
    "translation": "Must call update for existing channel"
  },
  {
    "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.limit.app_error",
    "translation": "You've reached the limit of the number of allowed channels."
  },
  {
    "id": "store.sql_channel.save_channel.save.app_error",
    "translation": "Unable to save the channel"
  },
  {
    "id": "store.sql_channel.save_direct_channel.add_members.app_error",
    "translation": "Unable to add direct channel members"
  },
  {
    "id": "store.sql_channel.save_direct_channel.commit.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "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_direct_channel.open_transaction.app_error",
    "translation": "Unable to open transaction"
  },
  {
    "id": "store.sql_channel.save_member.commit_transaction.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "id": "store.sql_channel.save_member.exists.app_error",
    "translation": "A channel member with that ID already exists"
  },
  {
    "id": "store.sql_channel.save_member.open_transaction.app_error",
    "translation": "Unable to open transaction"
  },
  {
    "id": "store.sql_channel.save_member.save.app_error",
    "translation": "Unable to save the channel member"
  },
  {
    "id": "store.sql_channel.search.app_error",
    "translation": "We encountered an error searching channels"
  },
  {
    "id": "store.sql_channel.search_group_channels.app_error",
    "translation": "Unable to get the group channels for the given user and term"
  },
  {
    "id": "store.sql_channel.set_delete_at.commit_transaction.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "id": "store.sql_channel.set_delete_at.open_transaction.app_error",
    "translation": "Unable to open transaction"
  },
  {
    "id": "store.sql_channel.set_delete_at.update_public_channel.app_error",
    "translation": "Unable to update the materialized public channel"
  },
  {
    "id": "store.sql_channel.update.app_error",
    "translation": "Unable to update the channel"
  },
  {
    "id": "store.sql_channel.update.archived_channel.app_error",
    "translation": "You can not modify an archived channel"
  },
  {
    "id": "store.sql_channel.update.commit_transaction.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "id": "store.sql_channel.update.exists.app_error",
    "translation": "A channel with that handle already exists"
  },
  {
    "id": "store.sql_channel.update.open_transaction.app_error",
    "translation": "Unable to open transaction"
  },
  {
    "id": "store.sql_channel.update.previously.app_error",
    "translation": "A channel with that handle was previously created"
  },
  {
    "id": "store.sql_channel.update.updating.app_error",
    "translation": "We encountered an error updating the channel"
  },
  {
    "id": "store.sql_channel.update.upsert_public_channel.app_error",
    "translation": "Unable to upsert materialized public channel"
  },
  {
    "id": "store.sql_channel.update_last_viewed_at.app_error",
    "translation": "Unable to update the last viewed at time"
  },
  {
    "id": "store.sql_channel.update_last_viewed_at_post.app_error",
    "translation": "Unable to mark channel as unread"
  },
  {
    "id": "store.sql_channel.update_member.app_error",
    "translation": "We encountered an error updating the channel member"
  },
  {
    "id": "store.sql_channel.user_belongs_to_channels.app_error",
    "translation": "Unable to determine if the user belongs to a list of channels"
  },
  {
    "id": "store.sql_channel_member_history.get_users_in_channel_during.app_error",
    "translation": "Failed to get users in channel during specified time period"
  },
  {
    "id": "store.sql_channel_member_history.log_join_event.app_error",
    "translation": "Failed to record channel member history"
  },
  {
    "id": "store.sql_channel_member_history.log_leave_event.update_error",
    "translation": "Failed to record channel member history. Failed to update existing join record"
  },
  {
    "id": "store.sql_channel_member_history.permanent_delete_batch.app_error",
    "translation": "Failed to purge records"
  },
  {
    "id": "store.sql_cluster_discovery.cleanup.app_error",
    "translation": "Failed to save ClusterDiscovery row"
  },
  {
    "id": "store.sql_cluster_discovery.delete.app_error",
    "translation": "Failed to delete"
  },
  {
    "id": "store.sql_cluster_discovery.exists.app_error",
    "translation": "Failed to check if it exists"
  },
  {
    "id": "store.sql_cluster_discovery.get_all.app_error",
    "translation": "Failed to get all discovery rows"
  },
  {
    "id": "store.sql_cluster_discovery.save.app_error",
    "translation": "Failed to save ClusterDiscovery row"
  },
  {
    "id": "store.sql_cluster_discovery.set_last_ping.app_error",
    "translation": "Failed to update last ping at"
  },
  {
    "id": "store.sql_command.analytics_command_count.app_error",
    "translation": "Unable to count the commands"
  },
  {
    "id": "store.sql_command.get_by_trigger.app_error",
    "translation": "Unable to get the command"
  },
  {
    "id": "store.sql_command.save.delete.app_error",
    "translation": "Unable to delete the command"
  },
  {
    "id": "store.sql_command.save.delete_perm.app_error",
    "translation": "Unable to delete the command"
  },
  {
    "id": "store.sql_command.save.get.app_error",
    "translation": "Unable to get the command"
  },
  {
    "id": "store.sql_command.save.get_team.app_error",
    "translation": "Unable to get the commands"
  },
  {
    "id": "store.sql_command.save.saving.app_error",
    "translation": "Unable to save the Command"
  },
  {
    "id": "store.sql_command.save.saving_overwrite.app_error",
    "translation": "You cannot overwrite an existing Command"
  },
  {
    "id": "store.sql_command.save.update.app_error",
    "translation": "Unable to update the command"
  },
  {
    "id": "store.sql_command_webhooks.get.app_error",
    "translation": "Unable to get the webhook"
  },
  {
    "id": "store.sql_command_webhooks.save.app_error",
    "translation": "Unable to save the CommandWebhook"
  },
  {
    "id": "store.sql_command_webhooks.save.existing.app_error",
    "translation": "You cannot update an existing CommandWebhook"
  },
  {
    "id": "store.sql_command_webhooks.try_use.app_error",
    "translation": "Unable to use the webhook"
  },
  {
    "id": "store.sql_command_webhooks.try_use.invalid.app_error",
    "translation": "Invalid webhook"
  },
  {
    "id": "store.sql_compliance.get.finding.app_error",
    "translation": "We encountered an error retrieving the compliance reports"
  },
  {
    "id": "store.sql_compliance.message_export.app_error",
    "translation": "Failed to select message export data"
  },
  {
    "id": "store.sql_compliance.save.saving.app_error",
    "translation": "We encountered an error saving the compliance report"
  },
  {
    "id": "store.sql_emoji.delete.app_error",
    "translation": "Unable to delete the emoji"
  },
  {
    "id": "store.sql_emoji.delete.no_results",
    "translation": "We couldn’t find the emoji to delete"
  },
  {
    "id": "store.sql_emoji.get.app_error",
    "translation": "Unable to get the emoji"
  },
  {
    "id": "store.sql_emoji.get_all.app_error",
    "translation": "Unable to get the emoji"
  },
  {
    "id": "store.sql_emoji.get_by_name.app_error",
    "translation": "Unable to get the emoji"
  },
  {
    "id": "store.sql_emoji.save.app_error",
    "translation": "Unable to save the emoji"
  },
  {
    "id": "store.sql_file_info.PermanentDeleteByUser.app_error",
    "translation": "Unable to delete attachments of the user"
  },
  {
    "id": "store.sql_file_info.attach_to_post.app_error",
    "translation": "Unable to attach the file info to the post"
  },
  {
    "id": "store.sql_file_info.delete_for_post.app_error",
    "translation": "Unable to delete the file info to the post"
  },
  {
    "id": "store.sql_file_info.get.app_error",
    "translation": "Unable to get the file info"
  },
  {
    "id": "store.sql_file_info.get_by_path.app_error",
    "translation": "Unable to get the file info by path"
  },
  {
    "id": "store.sql_file_info.get_for_post.app_error",
    "translation": "Unable to get the file info for the post"
  },
  {
    "id": "store.sql_file_info.get_for_user_id.app_error",
    "translation": "Unable to get the file info for the user"
  },
  {
    "id": "store.sql_file_info.permanent_delete.app_error",
    "translation": "Unable to permanently delete the file info"
  },
  {
    "id": "store.sql_file_info.permanent_delete_batch.app_error",
    "translation": "We encountered an error permanently deleting the batch of file infos"
  },
  {
    "id": "store.sql_file_info.save.app_error",
    "translation": "Unable to save the file info"
  },
  {
    "id": "store.sql_group.app_error",
    "translation": "failed to build query"
  },
  {
    "id": "store.sql_group.group_syncable_already_deleted",
    "translation": "group syncable was already deleted"
  },
  {
    "id": "store.sql_group.no_rows",
    "translation": "no matching group found"
  },
  {
    "id": "store.sql_group.no_rows_changed",
    "translation": "no rows changed"
  },
  {
    "id": "store.sql_group.permanent_delete_members_by_user.app_error",
    "translation": "Unable to remove the group members with UserID \"{{.UserId}}\""
  },
  {
    "id": "store.sql_group.unique_constraint",
    "translation": "a group with that name already exists"
  },
  {
    "id": "store.sql_group.uniqueness_error",
    "translation": "group member already exists"
  },
  {
    "id": "store.sql_job.delete.app_error",
    "translation": "Unable to delete the job"
  },
  {
    "id": "store.sql_job.get.app_error",
    "translation": "Unable to get the job"
  },
  {
    "id": "store.sql_job.get_all.app_error",
    "translation": "Unable to get the jobs"
  },
  {
    "id": "store.sql_job.get_count_by_status_and_type.app_error",
    "translation": "Unable to get the job count by status and type"
  },
  {
    "id": "store.sql_job.get_newest_job_by_status_and_type.app_error",
    "translation": "Unable to get the newest job by status and type"
  },
  {
    "id": "store.sql_job.save.app_error",
    "translation": "Unable to save the job"
  },
  {
    "id": "store.sql_job.update.app_error",
    "translation": "Unable to update the job"
  },
  {
    "id": "store.sql_license.get.app_error",
    "translation": "We encountered an error getting the license"
  },
  {
    "id": "store.sql_license.get.missing.app_error",
    "translation": "A license with that ID was not found"
  },
  {
    "id": "store.sql_license.save.app_error",
    "translation": "We encountered an error saving the license"
  },
  {
    "id": "store.sql_link_metadata.get.app_error",
    "translation": "Unable to get the link metadata"
  },
  {
    "id": "store.sql_link_metadata.save.app_error",
    "translation": "Unable to save the link metadata"
  },
  {
    "id": "store.sql_oauth.delete.commit_transaction.app_error",
    "translation": "Unable to commit transaction"
  },
  {
    "id": "store.sql_oauth.delete.open_transaction.app_error",
    "translation": "Unable to open transaction to delete the OAuth2 app"
  },
  {
    "id": "store.sql_oauth.delete_app.app_error",
    "translation": "An error occurred while deleting the OAuth2 App"
  },
  {
    "id": "store.sql_oauth.get_access_data.app_error",
    "translation": "We encountered an error finding the access token"
  },
  {
    "id": "store.sql_oauth.get_access_data_by_user_for_app.app_error",
    "translation": "We encountered an error finding all the access tokens"
  },
  {
    "id": "store.sql_oauth.get_app.find.app_error",
    "translation": "Unable to find the requested app"
  },
  {
    "id": "store.sql_oauth.get_app.finding.app_error",
    "translation": "We encountered an error finding the app"
  },
  {
    "id": "store.sql_oauth.get_app_by_user.find.app_error",
    "translation": "Unable to find any existing apps"
  },
  {
    "id": "store.sql_oauth.get_apps.find.app_error",
    "translation": "An error occurred while finding the OAuth2 Apps"
  },
  {
    "id": "store.sql_oauth.get_auth_data.find.app_error",
    "translation": "Unable to find the existing authorization code"
  },
  {
    "id": "store.sql_oauth.get_auth_data.finding.app_error",
    "translation": "We encountered an error finding the authorization code"
  },
  {
    "id": "store.sql_oauth.get_previous_access_data.app_error",
    "translation": "We encountered an error finding the access token"
  },
  {
    "id": "store.sql_oauth.permanent_delete_auth_data_by_user.app_error",
    "translation": "Unable to remove the authorization code"
  },
  {
    "id": "store.sql_oauth.remove_access_data.app_error",
    "translation": "Unable to remove the access token"
  },
  {
    "id": "store.sql_oauth.remove_auth_data.app_error",
    "translation": "Unable to remove the authorization code"
  },
  {
    "id": "store.sql_oauth.save_access_data.app_error",
    "translation": "Unable to save the access token."
  },
  {
    "id": "store.sql_oauth.save_app.existing.app_error",
    "translation": "Must call update for existing app"
  },
  {
    "id": "store.sql_oauth.save_app.save.app_error",
    "translation": "Unable to save the app."
  },
  {
    "id": "store.sql_oauth.save_auth_data.app_error",
    "translation": "Unable to save the authorization code."
  },
  {
    "id": "store.sql_oauth.update_access_data.app_error",
    "translation": "We encountered an error updating the access token"
  },
  {
    "id": "store.sql_oauth.update_app.find.app_error",
    "translation": "Unable to find the existing app to update"
  },
  {
    "id": "store.sql_oauth.update_app.finding.app_error",
    "translation": "We encountered an error finding the app"
  },
  {
    "id": "store.sql_oauth.update_app.update.app_error",
    "translation": "Unable to update the app"
  },
  {
    "id": "store.sql_oauth.update_app.updating.app_error",
    "translation": "We encountered an error updating the app"
  },
  {
    "id": "store.sql_plugin_store.delete.app_error",
    "translation": "Could not delete plugin key value"
  },
  {
    "id": "store.sql_plugin_store.get.app_error",
    "translation": "Could not get plugin key value"
  },
  {
    "id": "store.sql_plugin_store.list.app_error",
    "translation": "Unable to list all the plugin keys"
  },
  {
    "id": "store.sql_plugin_store.save.app_error",
    "translation": "Could not save or update plugin key value"
  },
  {
    "id": "store.sql_post.analytics_posts_count.app_error",
    "translation": "Unable to get post counts"
  },
  {
    "id": "store.sql_post.analytics_posts_count_by_day.app_error",
    "translation": "Unable to get post counts by day"
  },
  {
    "id": "store.sql_post.analytics_user_counts_posts_by_day.app_error",
    "translation": "Unable to get user counts with posts"
  },
  {
    "id": "store.sql_post.compliance_export.app_error",
    "translation": "Unable to get the compliance export posts."
  },
  {
    "id": "store.sql_post.delete.app_error",
    "translation": "Unable to delete the post"
  },
  {
    "id": "store.sql_post.get.app_error",
    "translation": "Unable to get the post"
  },
  {
    "id": "store.sql_post.get_direct_posts.app_error",
    "translation": "Unable to get direct posts"
  },
  {
    "id": "store.sql_post.get_flagged_posts.app_error",
    "translation": "Unable to get the flagged posts"
  },
  {
    "id": "store.sql_post.get_parents_posts.app_error",
    "translation": "Unable to get the parent post for the channel"
  },
  {
    "id": "store.sql_post.get_post_after_time.app_error",
    "translation": "Unable to get post after time bound"
  },
  {
    "id": "store.sql_post.get_post_id_around.app_error",
    "translation": "Unable to get post around time bound"
  },
  {
    "id": "store.sql_post.get_posts.app_error",
    "translation": "Limit exceeded for paging"
  },
  {
    "id": "store.sql_post.get_posts_around.get.app_error",
    "translation": "Unable to get the posts for the channel"
  },
  {
    "id": "store.sql_post.get_posts_around.get_parent.app_error",
    "translation": "Unable to get the parent posts for the channel"
  },
  {
    "id": "store.sql_post.get_posts_batch_for_indexing.get.app_error",
    "translation": "Unable to get the posts batch for indexing"
  },
  {
    "id": "store.sql_post.get_posts_by_ids.app_error",
    "translation": "Unable to get the posts"
  },
  {
    "id": "store.sql_post.get_posts_created_att.app_error",
    "translation": "Unable to get the posts for the channel"
  },
  {
    "id": "store.sql_post.get_posts_since.app_error",
    "translation": "Unable to get the posts for the channel"
  },
  {
    "id": "store.sql_post.get_root_posts.app_error",
    "translation": "Unable to get the posts for the channel"
  },
  {
    "id": "store.sql_post.overwrite.app_error",
    "translation": "Unable to overwrite the Post"
  },
  {
    "id": "store.sql_post.permanent_delete.app_error",
    "translation": "Unable to delete the post"
  },
  {
    "id": "store.sql_post.permanent_delete_all_comments_by_user.app_error",
    "translation": "Unable to delete the comments for user"
  },
  {
    "id": "store.sql_post.permanent_delete_batch.app_error",
    "translation": "We encountered an error permanently deleting the batch of posts"
  },
  {
    "id": "store.sql_post.permanent_delete_by_channel.app_error",
    "translation": "Unable to delete the posts by channel"
  },
  {
    "id": "store.sql_post.permanent_delete_by_user.app_error",
    "translation": "Unable to select the posts to delete for the user"
  },
  {
    "id": "store.sql_post.permanent_delete_by_user.too_many.app_error",
    "translation": "Unable to select the posts to delete for the user (too many), please re-run"
  },
  {
    "id": "store.sql_post.save.app_error",
    "translation": "Unable to save the Post"
  },
  {
    "id": "store.sql_post.save.existing.app_error",
    "translation": "You cannot update an existing Post"
  },
  {
    "id": "store.sql_post.search.disabled",
    "translation": "Searching has been disabled on this server. Please contact your System Administrator."
  },
  {
    "id": "store.sql_post.update.app_error",
    "translation": "Unable to update the Post"
  },
  {
    "id": "store.sql_preference.cleanup_flags_batch.app_error",
    "translation": "We encountered an error cleaning up the batch of flags"
  },
  {
    "id": "store.sql_preference.delete.app_error",
    "translation": "We encountered an error while deleting preferences"
  },
  {
    "id": "store.sql_preference.get.app_error",
    "translation": "We encountered an error while finding preferences"
  },
  {
    "id": "store.sql_preference.get_all.app_error",
    "translation": "We encountered an error while finding preferences"
  },
  {
    "id": "store.sql_preference.get_category.app_error",
    "translation": "We encountered an error while finding preferences"
  },
  {
    "id": "store.sql_preference.insert.exists.app_error",
    "translation": "A preference with that user id, category, and name already exists"
  },
  {
    "id": "store.sql_preference.insert.save.app_error",
    "translation": "Unable to save the preference"
  },
  {
    "id": "store.sql_preference.permanent_delete_by_user.app_error",
    "translation": "We encountered an error while deleteing preferences"
  },
  {
    "id": "store.sql_preference.save.commit_transaction.app_error",
    "translation": "Unable to commit transaction to save preferences"
  },
  {
    "id": "store.sql_preference.save.missing_driver.app_error",
    "translation": "We encountered an error while updating preferences"
  },
  {
    "id": "store.sql_preference.save.open_transaction.app_error",
    "translation": "Unable to open transaction to save preferences"
  },
  {
    "id": "store.sql_preference.save.updating.app_error",
    "translation": "We encountered an error while updating preferences"
  },
  {
    "id": "store.sql_preference.update.app_error",
    "translation": "Unable to update the preference"
  },
  {
    "id": "store.sql_reaction.bulk_get_for_post_ids.app_error",
    "translation": "Unable to get reactions for post"
  },
  {
    "id": "store.sql_reaction.delete.app_error",
    "translation": "Unable to delete reaction"
  },
  {
    "id": "store.sql_reaction.delete.begin.app_error",
    "translation": "Unable to open transaction while deleting reaction"
  },
  {
    "id": "store.sql_reaction.delete.commit.app_error",
    "translation": "Unable to commit transaction while deleting reaction"
  },
  {
    "id": "store.sql_reaction.delete_all_with_emoji_name.delete_reactions.app_error",
    "translation": "Unable to delete all reactions with this emoji name"
  },
  {
    "id": "store.sql_reaction.delete_all_with_emoji_name.get_reactions.app_error",
    "translation": "Unable to get all reactions with this emoji name"
  },
  {
    "id": "store.sql_reaction.get_for_post.app_error",
    "translation": "Unable to get reactions for post"
  },
  {
    "id": "store.sql_reaction.permanent_delete_batch.app_error",
    "translation": "We encountered an error permanently deleting the batch of reactions"
  },
  {
    "id": "store.sql_reaction.save.begin.app_error",
    "translation": "Unable to open transaction while saving reaction"
  },
  {
    "id": "store.sql_reaction.save.commit.app_error",
    "translation": "Unable to commit transaction while saving reaction"
  },
  {
    "id": "store.sql_reaction.save.save.app_error",
    "translation": "Unable to save reaction"
  },
  {
    "id": "store.sql_recover.delete.app_error",
    "translation": "Unable to delete token"
  },
  {
    "id": "store.sql_recover.get_by_code.app_error",
    "translation": "Unable to get a token with this code"
  },
  {
    "id": "store.sql_recover.remove_all_tokens_by_type.app_error",
    "translation": "Unable to remove all the tokens of a type"
  },
  {
    "id": "store.sql_recover.save.app_error",
    "translation": "Unable to save the token"
  },
  {
    "id": "store.sql_role.delete.update.app_error",
    "translation": "Unable to delete the role"
  },
  {
    "id": "store.sql_role.get.app_error",
    "translation": "Unable to get role"
  },
  {
    "id": "store.sql_role.get_all.app_error",
    "translation": "Unable to get all the roles"
  },
  {
    "id": "store.sql_role.get_by_name.app_error",
    "translation": "Unable to get role"
  },
  {
    "id": "store.sql_role.get_by_names.app_error",
    "translation": "Unable to get roles"
  },
  {
    "id": "store.sql_role.permanent_delete_all.app_error",
    "translation": "We could not permanently delete all the roles"
  },
  {
    "id": "store.sql_role.save.insert.app_error",
    "translation": "Unable to save new role"
  },
  {
    "id": "store.sql_role.save.invalid_role.app_error",
    "translation": "The role was not valid"
  },
  {
    "id": "store.sql_role.save.open_transaction.app_error",
    "translation": "Failed to open the transaction to save the role"
  },
  {
    "id": "store.sql_role.save.update.app_error",
    "translation": "Unable to update role"
  },
  {
    "id": "store.sql_role.save_role.commit_transaction.app_error",
    "translation": "Failed to commit the transaction to save the role"
  },
  {
    "id": "store.sql_scheme.delete.role_update.app_error",
    "translation": "Unable to delete the roles belonging to this scheme"
  },
  {
    "id": "store.sql_scheme.delete.update.app_error",
    "translation": "Unable to delete the scheme"
  },
  {
    "id": "store.sql_scheme.get.app_error",
    "translation": "Unable to get the scheme"
  },
  {
    "id": "store.sql_scheme.permanent_delete_all.app_error",
    "translation": "We could not permanently delete the schemes"
  },
  {
    "id": "store.sql_scheme.reset_channels.app_error",
    "translation": "Unable to reset all channels using this scheme to the default scheme"
  },
  {
    "id": "store.sql_scheme.reset_teams.app_error",
    "translation": "Unable to reset all teams using this scheme to the default scheme"
  },
  {
    "id": "store.sql_scheme.save.insert.app_error",
    "translation": "Unable to create the scheme"
  },
  {
    "id": "store.sql_scheme.save.invalid_scheme.app_error",
    "translation": "The provided scheme is invalid"
  },
  {
    "id": "store.sql_scheme.save.open_transaction.app_error",
    "translation": "Failed to open the transaction to save the scheme"
  },
  {
    "id": "store.sql_scheme.save.retrieve_default_scheme_roles.app_error",
    "translation": "Unable to retrieve the default scheme roles"
  },
  {
    "id": "store.sql_scheme.save.update.app_error",
    "translation": "Unable to update the scheme"
  },
  {
    "id": "store.sql_scheme.save_scheme.commit_transaction.app_error",
    "translation": "Failed to commit the transaction to save the scheme"
  },
  {
    "id": "store.sql_session.analytics_session_count.app_error",
    "translation": "Unable to count the sessions"
  },
  {
    "id": "store.sql_session.get.app_error",
    "translation": "We encountered an error finding the session"
  },
  {
    "id": "store.sql_session.get_sessions.app_error",
    "translation": "We encountered an error while finding user sessions"
  },
  {
    "id": "store.sql_session.permanent_delete_sessions_by_user.app_error",
    "translation": "Unable to remove all the sessions for the user"
  },
  {
    "id": "store.sql_session.remove.app_error",
    "translation": "Unable to remove the session"
  },
  {
    "id": "store.sql_session.remove_all_sessions_for_team.app_error",
    "translation": "Unable to remove all the sessions"
  },
  {
    "id": "store.sql_session.save.app_error",
    "translation": "Unable to save the session"
  },
  {
    "id": "store.sql_session.save.existing.app_error",
    "translation": "Unable to update existing session"
  },
  {
    "id": "store.sql_session.update_device_id.app_error",
    "translation": "Unable to update the device id"
  },
  {
    "id": "store.sql_session.update_last_activity.app_error",
    "translation": "Unable to update the last_activity_at"
  },
  {
    "id": "store.sql_session.update_props.app_error",
    "translation": "Unable to update session props"
  },
  {
    "id": "store.sql_session.update_roles.app_error",
    "translation": "Unable to update the roles"
  },
  {
    "id": "store.sql_status.get.app_error",
    "translation": "Encountered an error retrieving the status"
  },
  {
    "id": "store.sql_status.get.missing.app_error",
    "translation": "No entry for that status exists"
  },
  {
    "id": "store.sql_status.get_total_active_users_count.app_error",
    "translation": "We could not count the active users"
  },
  {
    "id": "store.sql_status.reset_all.app_error",
    "translation": "Encountered an error resetting all the statuses"
  },
  {
    "id": "store.sql_status.save.app_error",
    "translation": "Encountered an error saving the status"
  },
  {
    "id": "store.sql_status.update.app_error",
    "translation": "Encountered an error updating the status"
  },
  {
    "id": "store.sql_status.update_last_activity_at.app_error",
    "translation": "Unable to update the last activity date and time of the user"
  },
  {
    "id": "store.sql_system.get.app_error",
    "translation": "We encountered an error finding the system properties"
  },
  {
    "id": "store.sql_system.get_by_name.app_error",
    "translation": "Unable to find the system variable."
  },
  {
    "id": "store.sql_system.permanent_delete_by_name.app_error",
    "translation": "We could not permanently delete the system table entry"
  },
  {
    "id": "store.sql_system.save.app_error",
    "translation": "We encountered an error saving the system property"
  },
  {
    "id": "store.sql_system.update.app_error",
    "translation": "We encountered an error updating the system property"
  },
  {
    "id": "store.sql_team.analytics_get_team_count_for_scheme.app_error",
    "translation": "Unable to get the channel count for the scheme."
  },
  {
    "id": "store.sql_team.analytics_private_team_count.app_error",
    "translation": "Unable to count the private teams"
  },
  {
    "id": "store.sql_team.analytics_public_team_count.app_error",
    "translation": "Unable to count the public teams"
  },
  {
    "id": "store.sql_team.analytics_team_count.app_error",
    "translation": "Unable to count the teams"
  },
  {
    "id": "store.sql_team.clear_all_custom_role_assignments.commit_transaction.app_error",
    "translation": "Failed to commit the database transaction"
  },
  {
    "id": "store.sql_team.clear_all_custom_role_assignments.open_transaction.app_error",
    "translation": "Failed to begin the database transaction"
  },
  {
    "id": "store.sql_team.clear_all_custom_role_assignments.select.app_error",
    "translation": "Failed to retrieve the team members"
  },
  {
    "id": "store.sql_team.clear_all_custom_role_assignments.update.app_error",
    "translation": "Failed to update the team member"
  },
  {
    "id": "store.sql_team.get.find.app_error",
    "translation": "Unable to find the existing team"
  },
  {
    "id": "store.sql_team.get.finding.app_error",
    "translation": "We encountered an error finding the team"
  },
  {
    "id": "store.sql_team.get_active_member_count.app_error",
    "translation": "Unable to count the team members"
  },
  {
    "id": "store.sql_team.get_all.app_error",
    "translation": "We could not get all teams"
  },
  {
    "id": "store.sql_team.get_all_private_team_listing.app_error",
    "translation": "We could not get all private teams"
  },
  {
    "id": "store.sql_team.get_all_team_listing.app_error",
    "translation": "We could not get all teams"
  },
  {
    "id": "store.sql_team.get_by_invite_id.find.app_error",
    "translation": "Unable to find the existing team"
  },
  {
    "id": "store.sql_team.get_by_invite_id.finding.app_error",
    "translation": "Unable to find the existing team"
  },
  {
    "id": "store.sql_team.get_by_name.app_error",
    "translation": "Unable to find the existing team"
  },
  {
    "id": "store.sql_team.get_by_name.missing.app_error",
    "translation": "Unable to find the existing team"
  },
  {
    "id": "store.sql_team.get_by_scheme.app_error",
    "translation": "Unable to get the channels for the provided scheme"
  },
  {
    "id": "store.sql_team.get_member.app_error",
    "translation": "Unable to get the team member"
  },
  {
    "id": "store.sql_team.get_member.missing.app_error",
    "translation": "No team member found for that user ID and team ID"
  },
  {
    "id": "store.sql_team.get_member_count.app_error",
    "translation": "Unable to count the team members"
  },
  {
    "id": "store.sql_team.get_members.app_error",
    "translation": "Unable to get the team members"
  },
  {
    "id": "store.sql_team.get_members_by_ids.app_error",
    "translation": "Unable to get the team members"
  },
  {
    "id": "store.sql_team.get_unread.app_error",
    "translation": "Unable to get the teams unread messages"
  },
  {
    "id": "store.sql_team.get_user_team_ids.app_error",
    "translation": "Unable to get the list of teams of a user"
  },
  {
    "id": "store.sql_team.migrate_team_members.commit_transaction.app_error",
    "translation": "Failed to commit the database transaction"
  },
  {
    "id": "store.sql_team.migrate_team_members.open_transaction.app_error",
    "translation": "Failed to open the database transaction"
  },
  {
    "id": "store.sql_team.migrate_team_members.select.app_error",
    "translation": " Failed to select the batch of team members"
  },
  {
    "id": "store.sql_team.migrate_team_members.update.app_error",
    "translation": "Failed to update the team member"
  },
  {
    "id": "store.sql_team.permanent_delete.app_error",
    "translation": "Unable to delete the existing team"
  },
  {
    "id": "store.sql_team.remove_member.app_error",
    "translation": "Unable to remove the team member"
  },
  {
    "id": "store.sql_team.reset_all_team_schemes.app_error",
    "translation": "We could not reset the team schemes"
  },
  {
    "id": "store.sql_team.save.app_error",
    "translation": "Unable to save the team"
  },
  {
    "id": "store.sql_team.save.domain_exists.app_error",
    "translation": "A team with that name already exists"
  },
  {
    "id": "store.sql_team.save.existing.app_error",
    "translation": "Must call update for existing team"
  },
  {
    "id": "store.sql_team.save_member.exists.app_error",
    "translation": "A team member with that ID already exists"
  },
  {
    "id": "store.sql_team.save_member.save.app_error",
    "translation": "Unable to save the team member"
  },
  {
    "id": "store.sql_team.search_all_team.app_error",
    "translation": "We encountered an error searching teams"
  },
  {
    "id": "store.sql_team.search_open_team.app_error",
    "translation": "We encountered an error searching open teams"
  },
  {
    "id": "store.sql_team.search_private_team.app_error",
    "translation": "We encountered an error searching private teams"
  },
  {
    "id": "store.sql_team.update.app_error",
    "translation": "Unable to update the team"
  },
  {
    "id": "store.sql_team.update.find.app_error",
    "translation": "Unable to find the existing team to update"
  },
  {
    "id": "store.sql_team.update.finding.app_error",
    "translation": "We encountered an error finding the team"
  },
  {
    "id": "store.sql_team.update.updating.app_error",
    "translation": "We encountered an error updating the team"
  },
  {
    "id": "store.sql_team.update_last_team_icon_update.app_error",
    "translation": "Unable to update the date of the last team icon update"
  },
  {
    "id": "store.sql_team.user_belongs_to_teams.app_error",
    "translation": "Unable to determine if the user belongs to a list of teams"
  },
  {
    "id": "store.sql_terms_of_service.save.app_error",
    "translation": "Unable to save terms of service."
  },
  {
    "id": "store.sql_terms_of_service_store.get.app_error",
    "translation": "Unable to fetch terms of service."
  },
  {
    "id": "store.sql_terms_of_service_store.get.no_rows.app_error",
    "translation": "No terms of service found."
  },
  {
    "id": "store.sql_terms_of_service_store.save.existing.app_error",
    "translation": "Must not call save for existing terms of service."
  },
  {
    "id": "store.sql_user.analytics_daily_active_users.app_error",
    "translation": "Unable to get the active users during the requested period"
  },
  {
    "id": "store.sql_user.analytics_get_inactive_users_count.app_error",
    "translation": "We could not count the inactive users"
  },
  {
    "id": "store.sql_user.analytics_get_system_admin_count.app_error",
    "translation": "Unable to get the system admin count"
  },
  {
    "id": "store.sql_user.app_error",
    "translation": "Failed to build query"
  },
  {
    "id": "store.sql_user.clear_all_custom_role_assignments.commit_transaction.app_error",
    "translation": "Failed to commit the database transaction"
  },
  {
    "id": "store.sql_user.clear_all_custom_role_assignments.open_transaction.app_error",
    "translation": "Failed to begin the database transaction"
  },
  {
    "id": "store.sql_user.clear_all_custom_role_assignments.select.app_error",
    "translation": "Failed to retrieve the users"
  },
  {
    "id": "store.sql_user.clear_all_custom_role_assignments.update.app_error",
    "translation": "Failed to update the user"
  },
  {
    "id": "store.sql_user.count.app_error",
    "translation": "UserCountOptions don't make sense"
  },
  {
    "id": "store.sql_user.demote_user_to_guest.channel_members_update.app_error",
    "translation": "Failed to update the user channels memberships"
  },
  {
    "id": "store.sql_user.demote_user_to_guest.commit_transaction.app_error",
    "translation": "Failed to commit the database transaction"
  },
  {
    "id": "store.sql_user.demote_user_to_guest.open_transaction.app_error",
    "translation": "Failed to begin the database transaction"
  },
  {
    "id": "store.sql_user.demote_user_to_guest.team_members_update.app_error",
    "translation": "Failed to update the user teams memberships"
  },
  {
    "id": "store.sql_user.demote_user_to_guest.user_update.app_error",
    "translation": "Failed to update the user"
  },
  {
    "id": "store.sql_user.get.app_error",
    "translation": "We encountered an error finding the account"
  },
  {
    "id": "store.sql_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": "store.sql_user.get_by_auth.other.app_error",
    "translation": "We encountered an error trying to find the account by authentication type."
  },
  {
    "id": "store.sql_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": "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_user.get_for_login.multiple_users",
    "translation": "We found multiple users matching your credentials and were unable to log you in. Please contact an administrator."
  },
  {
    "id": "store.sql_user.get_new_users.app_error",
    "translation": "We encountered an error while finding the new users"
  },
  {
    "id": "store.sql_user.get_profile_by_group_channel_ids_for_user.app_error",
    "translation": "We encountered an error while finding user profiles"
  },
  {
    "id": "store.sql_user.get_profiles.app_error",
    "translation": "We encountered an error while finding user profiles"
  },
  {
    "id": "store.sql_user.get_recently_active_users.app_error",
    "translation": "We encountered an error while finding the recently active users"
  },
  {
    "id": "store.sql_user.get_sysadmin_profiles.app_error",
    "translation": "We encountered an error while finding user profiles"
  },
  {
    "id": "store.sql_user.get_system_install_date.app_error",
    "translation": "Unable to infer the system date based on the first user creation date."
  },
  {
    "id": "store.sql_user.get_total_users_count.app_error",
    "translation": "We could not count the users"
  },
  {
    "id": "store.sql_user.get_unread_count.app_error",
    "translation": "We could not get the unread message count for the user"
  },
  {
    "id": "store.sql_user.get_unread_count_for_channel.app_error",
    "translation": "We could not get the unread message count for the user and channel"
  },
  {
    "id": "store.sql_user.get_users_batch_for_indexing.get_channel_members.app_error",
    "translation": "Unable to get the channel members for the users batch for indexing"
  },
  {
    "id": "store.sql_user.get_users_batch_for_indexing.get_team_members.app_error",
    "translation": "Unable to get the team members for the users batch for indexing"
  },
  {
    "id": "store.sql_user.get_users_batch_for_indexing.get_users.app_error",
    "translation": "Unable to get the users batch for indexing"
  },
  {
    "id": "store.sql_user.missing_account.const",
    "translation": "Unable to find the user."
  },
  {
    "id": "store.sql_user.permanent_delete.app_error",
    "translation": "Unable to delete the existing account"
  },
  {
    "id": "store.sql_user.promote_guest.channel_members_update.app_error",
    "translation": "Failed to update the user channels memberships"
  },
  {
    "id": "store.sql_user.promote_guest.commit_transaction.app_error",
    "translation": "Failed to commit the database transaction"
  },
  {
    "id": "store.sql_user.promote_guest.open_transaction.app_error",
    "translation": "Failed to begin the database transaction"
  },
  {
    "id": "store.sql_user.promote_guest.team_members_update.app_error",
    "translation": "Failed to update the user teams memberships"
  },
  {
    "id": "store.sql_user.promote_guest.user_update.app_error",
    "translation": "Failed to update the user"
  },
  {
    "id": "store.sql_user.save.app_error",
    "translation": "Unable to save the account."
  },
  {
    "id": "store.sql_user.save.email_exists.app_error",
    "translation": "An account with that email already exists."
  },
  {
    "id": "store.sql_user.save.email_exists.ldap_app_error",
    "translation": "This account does not use AD/LDAP authentication. Please sign in using email and password."
  },
  {
    "id": "store.sql_user.save.email_exists.saml_app_error",
    "translation": "This account does not use SAML authentication. Please sign in using email and password."
  },
  {
    "id": "store.sql_user.save.existing.app_error",
    "translation": "Must call update for existing user"
  },
  {
    "id": "store.sql_user.save.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": "store.sql_user.save.member_count.app_error",
    "translation": "Failed to get current team member count"
  },
  {
    "id": "store.sql_user.save.username_exists.app_error",
    "translation": "An account with that username already exists."
  },
  {
    "id": "store.sql_user.save.username_exists.ldap_app_error",
    "translation": "An account with that username already exists. Please contact your Administrator."
  },
  {
    "id": "store.sql_user.save.username_exists.saml_app_error",
    "translation": "An account with that username already exists. Please contact your Administrator."
  },
  {
    "id": "store.sql_user.search.app_error",
    "translation": "Unable to find any user matching the search parameters"
  },
  {
    "id": "store.sql_user.update.app_error",
    "translation": "Unable to update the account"
  },
  {
    "id": "store.sql_user.update.can_not_change_ldap.app_error",
    "translation": "Can not change fields set by AD/LDAP"
  },
  {
    "id": "store.sql_user.update.email_taken.app_error",
    "translation": "This email is already taken. Please choose another."
  },
  {
    "id": "store.sql_user.update.find.app_error",
    "translation": "Unable to find the existing account to update"
  },
  {
    "id": "store.sql_user.update.finding.app_error",
    "translation": "We encountered an error finding the account"
  },
  {
    "id": "store.sql_user.update.updating.app_error",
    "translation": "We encountered an error updating the account"
  },
  {
    "id": "store.sql_user.update.username_taken.app_error",
    "translation": "This username is already taken. Please choose another."
  },
  {
    "id": "store.sql_user.update_active_for_multiple_users.getting_changed_users.app_error",
    "translation": "Unable to get the list of deactivate guests ids"
  },
  {
    "id": "store.sql_user.update_active_for_multiple_users.updating.app_error",
    "translation": "Unable to deactivate guests"
  },
  {
    "id": "store.sql_user.update_auth_data.app_error",
    "translation": "Unable to update the auth data"
  },
  {
    "id": "store.sql_user.update_auth_data.email_exists.app_error",
    "translation": "Unable to switch account to {{.Service}}. An account using the email {{.Email}} already exists."
  },
  {
    "id": "store.sql_user.update_failed_pwd_attempts.app_error",
    "translation": "Unable to update the failed_attempts"
  },
  {
    "id": "store.sql_user.update_last_picture_update.app_error",
    "translation": "Unable to update the update_at"
  },
  {
    "id": "store.sql_user.update_mfa_active.app_error",
    "translation": "We encountered an error updating the user's MFA active status"
  },
  {
    "id": "store.sql_user.update_mfa_secret.app_error",
    "translation": "We encountered an error updating the user's MFA secret"
  },
  {
    "id": "store.sql_user.update_password.app_error",
    "translation": "Unable to update the user password"
  },
  {
    "id": "store.sql_user.update_update.app_error",
    "translation": "Unable to update the date of the last update of the user"
  },
  {
    "id": "store.sql_user.verify_email.app_error",
    "translation": "Unable to update verify email field"
  },
  {
    "id": "store.sql_user_access_token.delete.app_error",
    "translation": "Unable to delete the personal access token"
  },
  {
    "id": "store.sql_user_access_token.get.app_error",
    "translation": "Unable to get the personal access token"
  },
  {
    "id": "store.sql_user_access_token.get_all.app_error",
    "translation": "Unable to get all personal access tokens"
  },
  {
    "id": "store.sql_user_access_token.get_by_token.app_error",
    "translation": "Unable to get the personal access token by token"
  },
  {
    "id": "store.sql_user_access_token.get_by_user.app_error",
    "translation": "Unable to get the personal access tokens by user"
  },
  {
    "id": "store.sql_user_access_token.save.app_error",
    "translation": "Unable to save the personal access token"
  },
  {
    "id": "store.sql_user_access_token.search.app_error",
    "translation": "We encountered an error searching user access tokens"
  },
  {
    "id": "store.sql_user_access_token.update_token_disable.app_error",
    "translation": "Unable to disable the access token"
  },
  {
    "id": "store.sql_user_access_token.update_token_enable.app_error",
    "translation": "Unable to enable the access token"
  },
  {
    "id": "store.sql_user_terms_of_service.delete.app_error",
    "translation": "Unable to delete terms of service."
  },
  {
    "id": "store.sql_user_terms_of_service.get_by_user.app_error",
    "translation": "Unable to fetch terms of service."
  },
  {
    "id": "store.sql_user_terms_of_service.get_by_user.no_rows.app_error",
    "translation": "No terms of service found."
  },
  {
    "id": "store.sql_user_terms_of_service.save.app_error",
    "translation": "Unable to save terms of service."
  },
  {
    "id": "store.sql_webhooks.analytics_incoming_count.app_error",
    "translation": "Unable to count the incoming webhooks"
  },
  {
    "id": "store.sql_webhooks.analytics_outgoing_count.app_error",
    "translation": "Unable to count the outgoing webhooks"
  },
  {
    "id": "store.sql_webhooks.delete_incoming.app_error",
    "translation": "Unable to delete the webhook"
  },
  {
    "id": "store.sql_webhooks.delete_outgoing.app_error",
    "translation": "Unable to delete the webhook"
  },
  {
    "id": "store.sql_webhooks.get_incoming.app_error",
    "translation": "Unable to get the webhook"
  },
  {
    "id": "store.sql_webhooks.get_incoming_by_channel.app_error",
    "translation": "Unable to get the webhooks"
  },
  {
    "id": "store.sql_webhooks.get_incoming_by_user.app_error",
    "translation": "Unable to get the webhook"
  },
  {
    "id": "store.sql_webhooks.get_outgoing.app_error",
    "translation": "Unable to get the webhook"
  },
  {
    "id": "store.sql_webhooks.get_outgoing_by_channel.app_error",
    "translation": "Unable to get the webhooks"
  },
  {
    "id": "store.sql_webhooks.get_outgoing_by_team.app_error",
    "translation": "Unable to get the webhooks"
  },
  {
    "id": "store.sql_webhooks.permanent_delete_incoming_by_channel.app_error",
    "translation": "Unable to delete the webhook"
  },
  {
    "id": "store.sql_webhooks.permanent_delete_incoming_by_user.app_error",
    "translation": "Unable to delete the webhook"
  },
  {
    "id": "store.sql_webhooks.permanent_delete_outgoing_by_channel.app_error",
    "translation": "Unable to delete the webhook"
  },
  {
    "id": "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error",
    "translation": "Unable to delete the webhook"
  },
  {
    "id": "store.sql_webhooks.save_incoming.app_error",
    "translation": "Unable to save the IncomingWebhook"
  },
  {
    "id": "store.sql_webhooks.save_incoming.existing.app_error",
    "translation": "You cannot overwrite an existing IncomingWebhook"
  },
  {
    "id": "store.sql_webhooks.save_outgoing.app_error",
    "translation": "Unable to save the OutgoingWebhook"
  },
  {
    "id": "store.sql_webhooks.save_outgoing.override.app_error",
    "translation": "You cannot overwrite an existing OutgoingWebhook"
  },
  {
    "id": "store.sql_webhooks.update_incoming.app_error",
    "translation": "Unable to update the IncomingWebhook"
  },
  {
    "id": "store.sql_webhooks.update_outgoing.app_error",
    "translation": "Unable to update the webhook"
  },
  {
    "id": "store.update_error",
    "translation": "update error"
  },
  {
    "id": "system.message.name",
    "translation": "System"
  },
  {
    "id": "utils.file.list_directory.local.app_error",
    "translation": "Encountered an error listing directory from local server file storage."
  },
  {
    "id": "utils.file.list_directory.s3.app_error",
    "translation": "Encountered an error listing directory from S3."
  },
  {
    "id": "utils.file.remove_directory.local.app_error",
    "translation": "Encountered an error removing directory from local server file storage."
  },
  {
    "id": "utils.file.remove_directory.s3.app_error",
    "translation": "Encountered an error removing directory from S3."
  },
  {
    "id": "utils.file.remove_file.local.app_error",
    "translation": "Encountered an error removing file from local server file storage."
  },
  {
    "id": "utils.file.remove_file.s3.app_error",
    "translation": "Encountered an error removing file from S3."
  },
  {
    "id": "utils.mail.connect_smtp.helo.app_error",
    "translation": "Failed to set HELO"
  },
  {
    "id": "utils.mail.connect_smtp.open.app_error",
    "translation": "Failed to open connection"
  },
  {
    "id": "utils.mail.connect_smtp.open_tls.app_error",
    "translation": "Failed to open TLS connection"
  },
  {
    "id": "utils.mail.new_client.auth.app_error",
    "translation": "Failed to authenticate on SMTP server"
  },
  {
    "id": "utils.mail.sendMail.attachments.write_error",
    "translation": "Failed to write attachment to email"
  },
  {
    "id": "utils.mail.send_mail.close.app_error",
    "translation": "Failed to close connection to SMTP server"
  },
  {
    "id": "utils.mail.send_mail.from_address.app_error",
    "translation": "Error setting \"From Address\""
  },
  {
    "id": "utils.mail.send_mail.msg.app_error",
    "translation": "Failed to write email message"
  },
  {
    "id": "utils.mail.send_mail.msg_data.app_error",
    "translation": "Failed to add email message data"
  },
  {
    "id": "utils.mail.send_mail.to_address.app_error",
    "translation": "Error setting \"To Address\""
  },
  {
    "id": "web.command_webhook.command.app_error",
    "translation": "Couldn't find the command"
  },
  {
    "id": "web.command_webhook.invalid.app_error",
    "translation": "Invalid webhook"
  },
  {
    "id": "web.command_webhook.parse.app_error",
    "translation": "Unable to parse incoming data"
  },
  {
    "id": "web.error.unsupported_browser.browser_get_latest.chrome",
    "translation": "Get the latest Chrome browser"
  },
  {
    "id": "web.error.unsupported_browser.browser_get_latest.firefox",
    "translation": "Get the latest Firefox browser"
  },
  {
    "id": "web.error.unsupported_browser.browser_get_latest.safari",
    "translation": "Get the latest Safari browser"
  },
  {
    "id": "web.error.unsupported_browser.browser_title.chrome",
    "translation": "Google Chrome"
  },
  {
    "id": "web.error.unsupported_browser.browser_title.edge",
    "translation": "Microsoft Edge"
  },
  {
    "id": "web.error.unsupported_browser.browser_title.firefox",
    "translation": "Firefox"
  },
  {
    "id": "web.error.unsupported_browser.browser_title.safari",
    "translation": "Safari"
  },
  {
    "id": "web.error.unsupported_browser.download",
    "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_the_app",
    "translation": "Download the App"
  },
  {
    "id": "web.error.unsupported_browser.install_guide.mac",
    "translation": "Install Guide"
  },
  {
    "id": "web.error.unsupported_browser.install_guide.windows",
    "translation": "Install Guide"
  },
  {
    "id": "web.error.unsupported_browser.learn_more",
    "translation": "Learn more about supported browsers."
  },
  {
    "id": "web.error.unsupported_browser.min_browser_version.chrome",
    "translation": "Version 61+"
  },
  {
    "id": "web.error.unsupported_browser.min_browser_version.edge",
    "translation": "Version 44+"
  },
  {
    "id": "web.error.unsupported_browser.min_browser_version.firefox",
    "translation": "Version 60+"
  },
  {
    "id": "web.error.unsupported_browser.min_browser_version.safari",
    "translation": "Version 12+"
  },
  {
    "id": "web.error.unsupported_browser.min_os_version.mac",
    "translation": "macOS 10.9+"
  },
  {
    "id": "web.error.unsupported_browser.min_os_version.windows",
    "translation": "Windows 7+"
  },
  {
    "id": "web.error.unsupported_browser.no_longer_support",
    "translation": "This browser is no longer supported by Mattermost"
  },
  {
    "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.open_system_browser.edge",
    "translation": "Open Edge"
  },
  {
    "id": "web.error.unsupported_browser.system_browser_make_default",
    "translation": "Make default"
  },
  {
    "id": "web.error.unsupported_browser.system_browser_or",
    "translation": "or"
  },
  {
    "id": "web.get_access_token.internal_saving.app_error",
    "translation": "Unable to update the user access data."
  },
  {
    "id": "web.incoming_webhook.channel.app_error",
    "translation": "Couldn't find the channel"
  },
  {
    "id": "web.incoming_webhook.channel_locked.app_error",
    "translation": "This webhook is not permitted to post to the requested channel"
  },
  {
    "id": "web.incoming_webhook.disabled.app_error",
    "translation": "Incoming webhooks have been disabled by the system admin."
  },
  {
    "id": "web.incoming_webhook.invalid.app_error",
    "translation": "Invalid webhook"
  },
  {
    "id": "web.incoming_webhook.parse.app_error",
    "translation": "Unable to parse incoming data"
  },
  {
    "id": "web.incoming_webhook.permissions.app_error",
    "translation": "Inappropriate channel permissions"
  },
  {
    "id": "web.incoming_webhook.split_props_length.app_error",
    "translation": "Unable to split webhook props into {{.Max}} character parts."
  },
  {
    "id": "web.incoming_webhook.text.app_error",
    "translation": "No text specified"
  },
  {
    "id": "web.incoming_webhook.user.app_error",
    "translation": "Couldn't find the user"
  }
]
