From 5a34ec47935045ddc33686b0ac52384bc8a6baba Mon Sep 17 00:00:00 2001 From: Ben Schumacher Date: Wed, 4 Mar 2020 20:14:23 +0100 Subject: [PATCH] Fix app error messages (#13852) * Summary Fixing inconsistencies of the app_error messages. Now all end with a period and there is the same user experience all over the system. We agreed on this change on the community server a while ago and I just came around finally doing it. Ticket Link N/A Checklist Includes text changes and localization file (.../i18n/en.json and .../webapp/i18n/en.json) updates * Update i18n/en.json Approving changes Co-Authored-By: Jason Blais <13119842+jasonblais@users.noreply.github.com> * Update i18n/en.json Approving changes Co-Authored-By: Jason Blais <13119842+jasonblais@users.noreply.github.com> * Update i18n/en.json Approving changes Co-Authored-By: Jason Blais <13119842+jasonblais@users.noreply.github.com> * Fix test failures due string differences Co-authored-by: Jason Blais <13119842+jasonblais@users.noreply.github.com> Co-authored-by: Miguel de la Cruz Co-authored-by: mattermod --- api4/post_test.go | 2 +- app/notification_push_test.go | 2 +- i18n/en.json | 1748 ++++++++++++++++----------------- 3 files changed, 876 insertions(+), 876 deletions(-) diff --git a/api4/post_test.go b/api4/post_test.go index 5c2ee43de9..a90f797102 100644 --- a/api4/post_test.go +++ b/api4/post_test.go @@ -871,7 +871,7 @@ func TestPatchPost(t *testing.T) { t.Run("invalid requests", func(t *testing.T) { r, err := Client.DoApiPut("/posts/"+post.Id+"/patch", "garbage") - require.EqualError(t, err, ": Invalid or missing post in request body, ") + require.EqualError(t, err, ": Invalid or missing post in request body., ") require.Equal(t, http.StatusBadRequest, r.StatusCode, "wrong status code") patch := &model.PostPatch{} diff --git a/app/notification_push_test.go b/app/notification_push_test.go index 394991ee35..862797d001 100644 --- a/app/notification_push_test.go +++ b/app/notification_push_test.go @@ -981,7 +981,7 @@ func TestSendPushNotifications(t *testing.T) { t.Run("should return error if data is not valid or nil", func(t *testing.T) { err := th.App.sendPushNotificationToAllSessions(nil, th.BasicUser.Id, "") assert.NotNil(t, err) - assert.Equal(t, "pushNotification: An error occurred building the push notification message, ", err.Error()) + assert.Equal(t, "pushNotification: An error occurred building the push notification message., ", err.Error()) // Errors derived of using an empty object are handled internally through the notifications log err = th.App.sendPushNotificationToAllSessions(&model.PushNotification{}, th.BasicUser.Id, "") assert.Nil(t, err) diff --git a/i18n/en.json b/i18n/en.json index 9a11e57e80..91944b2404 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -149,15 +149,15 @@ }, { "id": "api.admin.upload_brand_image.array.app_error", - "translation": "Empty array under 'image' in request" + "translation": "Empty array under 'image' in request." }, { "id": "api.admin.upload_brand_image.no_file.app_error", - "translation": "No file under 'image' in request" + "translation": "No file under 'image' in request." }, { "id": "api.admin.upload_brand_image.parse.app_error", - "translation": "Could not parse multipart form" + "translation": "Could not parse multipart form." }, { "id": "api.admin.upload_brand_image.storage.app_error", @@ -173,31 +173,31 @@ }, { "id": "api.bot.delete_bot_icon_image.app_error", - "translation": "Couldn't delete icon image" + "translation": "Couldn't delete icon image." }, { "id": "api.bot.get_bot_icon_image.read.app_error", - "translation": "Unable to read icon image file" + "translation": "Unable to read icon image file." }, { "id": "api.bot.set_bot_icon_image.app_error", - "translation": "Couldn't upload icon image" + "translation": "Couldn't upload icon image." }, { "id": "api.bot.set_bot_icon_image.array.app_error", - "translation": "Empty array under 'image' in request" + "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" + "translation": "No file under 'image' in request." }, { "id": "api.bot.set_bot_icon_image.open.app_error", - "translation": "Could not open image file" + "translation": "Could not open image file." }, { "id": "api.bot.set_bot_icon_image.parse.app_error", - "translation": "Could not parse multipart form" + "translation": "Could not parse multipart form." }, { "id": "api.bot.set_bot_icon_image.too_large.app_error", @@ -225,7 +225,7 @@ }, { "id": "api.channel.add_user.to.channel.failed.app_error", - "translation": "Failed to add user to channel" + "translation": "Failed to add user to channel." }, { "id": "api.channel.add_user.to.channel.failed.deleted.app_error", @@ -233,7 +233,7 @@ }, { "id": "api.channel.add_user_to_channel.type.app_error", - "translation": "Can not add user to this channel type" + "translation": "Can not add user to this channel type." }, { "id": "api.channel.change_channel_privacy.private_to_public", @@ -253,15 +253,15 @@ }, { "id": "api.channel.create_channel.direct_channel.app_error", - "translation": "Must use createDirectChannel API service for direct message channel creation" + "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" + "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" + "translation": "Unable to create more than {{.MaxChannelsPerTeam}} channels for current team." }, { "id": "api.channel.create_default_channels.off_topic", @@ -273,15 +273,15 @@ }, { "id": "api.channel.create_direct_channel.invalid_user.app_error", - "translation": "Invalid user ID for direct channel creation" + "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" + "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" + "translation": "One of the provided users does not exist." }, { "id": "api.channel.delete_channel.archived", @@ -289,11 +289,11 @@ }, { "id": "api.channel.delete_channel.cannot.app_error", - "translation": "Unable to delete the default channel {{.Channel}}" + "translation": "Unable to delete the default channel {{.Channel}}." }, { "id": "api.channel.delete_channel.deleted.app_error", - "translation": "The channel has been archived or deleted" + "translation": "The channel has been archived or deleted." }, { "id": "api.channel.delete_channel.type.invalid", @@ -305,7 +305,7 @@ }, { "id": "api.channel.join_channel.permissions.app_error", - "translation": "You do not have the appropriate permissions" + "translation": "You do not have the appropriate permissions." }, { "id": "api.channel.join_channel.post_and_forget", @@ -313,11 +313,11 @@ }, { "id": "api.channel.leave.default.app_error", - "translation": "Unable to leave the default channel {{.Channel}}" + "translation": "Unable to leave the default channel {{.Channel}}." }, { "id": "api.channel.leave.direct.app_error", - "translation": "Unable to leave a direct message channel" + "translation": "Unable to leave a direct message channel." }, { "id": "api.channel.leave.last_member.app_error", @@ -329,7 +329,7 @@ }, { "id": "api.channel.patch_update_channel.forbidden.app_error", - "translation": "Failed to update the channel" + "translation": "Failed to update the channel." }, { "id": "api.channel.post_channel_privacy_message.error", @@ -373,7 +373,7 @@ }, { "id": "api.channel.remove.default.app_error", - "translation": "Unable to remove user from the default channel {{.Channel}}" + "translation": "Unable to remove user from the default channel {{.Channel}}." }, { "id": "api.channel.remove_channel_member.type.app_error", @@ -393,15 +393,15 @@ }, { "id": "api.channel.remove_user_from_channel.app_error", - "translation": "Can not remove user from this channel type" + "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" + "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" + "translation": "You cannot rename a group message channel." }, { "id": "api.channel.restore_channel.restored.app_error", @@ -413,7 +413,7 @@ }, { "id": "api.channel.update_channel.deleted.app_error", - "translation": "The channel has been archived or deleted" + "translation": "The channel has been archived or deleted." }, { "id": "api.channel.update_channel.invalid_character.app_error", @@ -421,15 +421,15 @@ }, { "id": "api.channel.update_channel.tried.app_error", - "translation": "Tried to perform an invalid update of the default channel {{.Channel}}" + "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" + "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" + "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", @@ -437,7 +437,7 @@ }, { "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" + "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", @@ -453,11 +453,11 @@ }, { "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" + "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" + "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", @@ -481,15 +481,15 @@ }, { "id": "api.command.execute_command.failed.app_error", - "translation": "Command with a trigger of '{{.Trigger}}' failed" + "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" + "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}}" + "translation": "Command with a trigger of '{{.Trigger}}' returned response {{.Status}}." }, { "id": "api.command.execute_command.not_found.app_error", @@ -497,7 +497,7 @@ }, { "id": "api.command.execute_command.start.app_error", - "translation": "No command trigger found" + "translation": "No command trigger found." }, { "id": "api.command.invite_people.desc", @@ -537,7 +537,7 @@ }, { "id": "api.command.team_mismatch.app_error", - "translation": "Unable to update commands across teams" + "translation": "Unable to update commands across teams." }, { "id": "api.command_away.desc", @@ -645,11 +645,11 @@ }, { "id": "api.command_channel_rename.too_long.app_error", - "translation": "Channel name must be {{.Length}} or fewer characters" + "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" + "translation": "Channel name must be {{.Length}} or more characters." }, { "id": "api.command_channel_rename.update_channel.app_error", @@ -705,7 +705,7 @@ }, { "id": "api.command_echo.delay.app_error", - "translation": "Delays must be under 10000 seconds" + "translation": "Delays must be under 10000 seconds." }, { "id": "api.command_echo.desc", @@ -713,7 +713,7 @@ }, { "id": "api.command_echo.high_volume.app_error", - "translation": "High volume of echo request, cannot process request" + "translation": "High volume of echo request, cannot process request." }, { "id": "api.command_echo.hint", @@ -741,7 +741,7 @@ }, { "id": "api.command_expand_collapse.fail.app_error", - "translation": "An error occurred while expanding previews" + "translation": "An error occurred while expanding previews." }, { "id": "api.command_groupmsg.desc", @@ -872,7 +872,7 @@ }, { "id": "api.command_join.missing.app_error", - "translation": "Unable to find the channel" + "translation": "Unable to find the channel." }, { "id": "api.command_join.name", @@ -936,7 +936,7 @@ }, { "id": "api.command_msg.missing.app_error", - "translation": "Unable to find the user" + "translation": "Unable to find the user." }, { "id": "api.command_msg.name", @@ -1064,7 +1064,7 @@ }, { "id": "api.command_search.unsupported.app_error", - "translation": "The search command is not supported on your device" + "translation": "The search command is not supported on your device." }, { "id": "api.command_settings.desc", @@ -1076,7 +1076,7 @@ }, { "id": "api.command_settings.unsupported.app_error", - "translation": "The settings command is not supported on your device" + "translation": "The settings command is not supported on your device." }, { "id": "api.command_shortcuts.desc", @@ -1088,7 +1088,7 @@ }, { "id": "api.command_shortcuts.unsupported.app_error", - "translation": "The shortcuts command is not supported on your device" + "translation": "The shortcuts command is not supported on your device." }, { "id": "api.command_shrug.desc", @@ -1116,11 +1116,11 @@ }, { "id": "api.context.invalid_body_param.app_error", - "translation": "Invalid or missing {{.Name}} in request body" + "translation": "Invalid or missing {{.Name}} in request body." }, { "id": "api.context.invalid_param.app_error", - "translation": "Invalid {{.Name}} parameter" + "translation": "Invalid {{.Name}} parameter." }, { "id": "api.context.invalid_token.error", @@ -1128,7 +1128,7 @@ }, { "id": "api.context.invalid_url_param.app_error", - "translation": "Invalid or missing {{.Name}} parameter in request URL" + "translation": "Invalid or missing {{.Name}} parameter in request URL." }, { "id": "api.context.mfa_required.app_error", @@ -1136,11 +1136,11 @@ }, { "id": "api.context.permissions.app_error", - "translation": "You do not have the appropriate permissions" + "translation": "You do not have the appropriate permissions." }, { "id": "api.context.server_busy.app_error", - "translation": "Server is busy, non-critical services are temporarily unavailable" + "translation": "Server is busy, non-critical services are temporarily unavailable." }, { "id": "api.context.session_expired.app_error", @@ -1148,11 +1148,11 @@ }, { "id": "api.context.token_provided.app_error", - "translation": "Session is not OAuth but token was provided in the query string" + "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" + "translation": "Custom terms of service feature is disabled." }, { "id": "api.create_terms_of_service.empty_text.app_error", @@ -1164,7 +1164,7 @@ }, { "id": "api.email_batching.add_notification_email_to_batch.disabled.app_error", - "translation": "Email batching has been disabled by the system administrator" + "translation": "Email batching has been disabled by the system administrator." }, { "id": "api.email_batching.render_batched_post.date", @@ -1206,7 +1206,7 @@ }, { "id": "api.emoji.create.other_user.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "api.emoji.create.parse.app_error", @@ -1274,19 +1274,19 @@ }, { "id": "api.file.get_file.public_invalid.app_error", - "translation": "The public link does not appear to be valid" + "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" + "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" + "translation": "File doesn't have a thumbnail image." }, { "id": "api.file.get_public_link.disabled.app_error", - "translation": "Public links have been disabled" + "translation": "Public links have been disabled." }, { "id": "api.file.get_public_link.no_post.app_error", @@ -1310,19 +1310,19 @@ }, { "id": "api.file.read_file.reading_local.app_error", - "translation": "Encountered an error reading from local server file storage" + "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" + "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" + "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" + "translation": "Encountered an error opening a reader from S3 storage." }, { "id": "api.file.test_connection.local.connection.app_error", @@ -1354,7 +1354,7 @@ }, { "id": "api.file.upload_file.large_image_detailed.app_error", - "translation": "{{.Filename}} dimensions ({{.Width}} by {{.Height}} pixels) exceed the limits" + "translation": "{{.Filename}} dimensions ({{.Width}} by {{.Height}} pixels) exceed the limits." }, { "id": "api.file.upload_file.multiple_channel_ids.app_error", @@ -1382,15 +1382,15 @@ }, { "id": "api.file.write_file.s3.app_error", - "translation": "Encountered an error writing to S3" + "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" + "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" + "translation": "Encountered an error writing to local server storage." }, { "id": "api.incoming_webhook.disabled.app_error", @@ -1414,7 +1414,7 @@ }, { "id": "api.license.add_license.array.app_error", - "translation": "Empty array under 'license' in request" + "translation": "Empty array under 'license' in request." }, { "id": "api.license.add_license.expired.app_error", @@ -1430,11 +1430,11 @@ }, { "id": "api.license.add_license.no_file.app_error", - "translation": "No file under 'license' in request" + "translation": "No file under 'license' in request." }, { "id": "api.license.add_license.open.app_error", - "translation": "Could not open license file" + "translation": "Could not open license file." }, { "id": "api.license.add_license.save.app_error", @@ -1458,7 +1458,7 @@ }, { "id": "api.oauth.allow_oauth.redirect_callback.app_error", - "translation": "invalid_request: Supplied redirect_uri did not match registered callback_url" + "translation": "invalid_request: Supplied redirect_uri did not match registered callback_url." }, { "id": "api.oauth.allow_oauth.turn_off.app_error", @@ -1470,19 +1470,19 @@ }, { "id": "api.oauth.get_access_token.bad_client_id.app_error", - "translation": "invalid_request: Bad client_id" + "translation": "invalid_request: Bad client_id." }, { "id": "api.oauth.get_access_token.bad_client_secret.app_error", - "translation": "invalid_request: Missing client_secret" + "translation": "invalid_request: Missing client_secret." }, { "id": "api.oauth.get_access_token.bad_grant.app_error", - "translation": "invalid_request: Bad grant_type" + "translation": "invalid_request: Bad grant_type." }, { "id": "api.oauth.get_access_token.credentials.app_error", - "translation": "invalid_client: Invalid client credentials" + "translation": "invalid_client: Invalid client credentials." }, { "id": "api.oauth.get_access_token.disabled.app_error", @@ -1490,43 +1490,43 @@ }, { "id": "api.oauth.get_access_token.expired_code.app_error", - "translation": "invalid_grant: Invalid or expired authorization code" + "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" + "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" + "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" + "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" + "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" + "translation": "invalid_request: Missing code." }, { "id": "api.oauth.get_access_token.missing_refresh_token.app_error", - "translation": "invalid_request: Missing refresh_token" + "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" + "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" + "translation": "invalid_grant: Invalid refresh token." }, { "id": "api.oauth.invalid_state_token.app_error", - "translation": "Invalid state token" + "translation": "Invalid state token." }, { "id": "api.oauth.register_oauth_app.turn_off.app_error", @@ -1534,15 +1534,15 @@ }, { "id": "api.oauth.revoke_access_token.del_session.app_error", - "translation": "Error deleting session from DB" + "translation": "Error deleting session from DB." }, { "id": "api.oauth.revoke_access_token.del_token.app_error", - "translation": "Error deleting access token from DB" + "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" + "translation": "Error getting access token from DB before deletion." }, { "id": "api.oauth.singup_with_oauth.disabled.app_error", @@ -1550,11 +1550,11 @@ }, { "id": "api.oauth.singup_with_oauth.expired_link.app_error", - "translation": "The signup link has expired" + "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" + "translation": "The signup link does not appear to be valid." }, { "id": "api.outgoing_webhook.disabled.app_error", @@ -1570,15 +1570,15 @@ }, { "id": "api.plugin.upload.array.app_error", - "translation": "File array is empty in multipart/form request" + "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" + "translation": "Unable to open file in multipart/form request." }, { "id": "api.plugin.upload.no_file.app_error", - "translation": "Missing file in multipart/form request" + "translation": "Missing file in multipart/form request." }, { "id": "api.plugin.verify_plugin.app_error", @@ -1606,15 +1606,15 @@ }, { "id": "api.post.create_post.channel_root_id.app_error", - "translation": "Invalid ChannelId for RootId parameter" + "translation": "Invalid ChannelId for RootId parameter." }, { "id": "api.post.create_post.parent_id.app_error", - "translation": "Invalid ParentId parameter" + "translation": "Invalid ParentId parameter." }, { "id": "api.post.create_post.root_id.app_error", - "translation": "Invalid RootId parameter" + "translation": "Invalid RootId parameter." }, { "id": "api.post.create_post.town_square_read_only", @@ -1622,7 +1622,7 @@ }, { "id": "api.post.create_webhook_post.creating.app_error", - "translation": "Error creating post" + "translation": "Error creating post." }, { "id": "api.post.deduplicate_create_post.failed_to_get", @@ -1650,11 +1650,11 @@ }, { "id": "api.post.do_action.action_id.app_error", - "translation": "Invalid action id" + "translation": "Invalid action id." }, { "id": "api.post.do_action.action_integration.app_error", - "translation": "Action integration error" + "translation": "Action integration error." }, { "id": "api.post.get_message_for_notification.files_sent", @@ -1720,7 +1720,7 @@ }, { "id": "api.post.update_post.permissions_details.app_error", - "translation": "Already deleted id={{.PostId}}" + "translation": "Already deleted id={{.PostId}}." }, { "id": "api.post.update_post.permissions_time_limit.app_error", @@ -1728,11 +1728,11 @@ }, { "id": "api.post.update_post.system_message.app_error", - "translation": "Unable to update system message" + "translation": "Unable to update system message." }, { "id": "api.post_get_post_by_id.get.app_error", - "translation": "Unable to get post" + "translation": "Unable to get post." }, { "id": "api.preference.delete_preferences.delete.app_error", @@ -1756,19 +1756,19 @@ }, { "id": "api.push_notification.id_loaded.fetch.app_error", - "translation": "An error occurred fetching the ID-loaded push notification" + "translation": "An error occurred fetching the ID-loaded push notification." }, { "id": "api.push_notifications.message.parse.app_error", - "translation": "An error occurred building the push notification message" + "translation": "An error occurred building the push notification message." }, { "id": "api.push_notifications_ack.forward.app_error", - "translation": "An error occurred sending the receipt delivery to the push notification service" + "translation": "An error occurred sending the receipt delivery to the push notification service." }, { "id": "api.push_notifications_ack.message.parse.app_error", - "translation": "An error occurred building the push notification ack message" + "translation": "An error occurred building the push notification ack message." }, { "id": "api.reaction.delete.archived_channel.app_error", @@ -1924,7 +1924,7 @@ }, { "id": "api.status.user_not_found.app_error", - "translation": "User not found" + "translation": "User not found." }, { "id": "api.system.id_loaded.not_available.app_error", @@ -1964,7 +1964,7 @@ }, { "id": "api.team.get_team_icon.filesettings_no_driver.app_error", - "translation": "Invalid driver name for file settings. Must be 'local' or 'amazons3'" + "translation": "Invalid driver name for file settings. Must be 'local' or 'amazons3'." }, { "id": "api.team.get_team_icon.read_file.app_error", @@ -1972,15 +1972,15 @@ }, { "id": "api.team.import_team.array.app_error", - "translation": "Empty array under 'file' in request" + "translation": "Empty array under 'file' in request." }, { "id": "api.team.import_team.integer.app_error", - "translation": "Filesize not an integer" + "translation": "Filesize not an integer." }, { "id": "api.team.import_team.no_file.app_error", - "translation": "No file under 'file' in request" + "translation": "No file under 'file' in request." }, { "id": "api.team.import_team.no_import_from.app_error", @@ -1988,11 +1988,11 @@ }, { "id": "api.team.import_team.open.app_error", - "translation": "Could not open file" + "translation": "Could not open file." }, { "id": "api.team.import_team.parse.app_error", - "translation": "Could not parse multipart form" + "translation": "Could not parse multipart form." }, { "id": "api.team.import_team.unavailable.app_error", @@ -2060,7 +2060,7 @@ }, { "id": "api.team.remove_team_icon.get_team.app_error", - "translation": "An error occurred getting the team" + "translation": "An error occurred getting the team." }, { "id": "api.team.remove_user_from_team.missing.app_error", @@ -2080,35 +2080,35 @@ }, { "id": "api.team.set_team_icon.array.app_error", - "translation": "Empty array under 'image' in request" + "translation": "Empty array under 'image' in request." }, { "id": "api.team.set_team_icon.decode.app_error", - "translation": "Could not decode team icon" + "translation": "Could not decode team icon." }, { "id": "api.team.set_team_icon.decode_config.app_error", - "translation": "Could not decode team icon metadata" + "translation": "Could not decode team icon metadata." }, { "id": "api.team.set_team_icon.encode.app_error", - "translation": "Could not encode team icon" + "translation": "Could not encode team icon." }, { "id": "api.team.set_team_icon.get_team.app_error", - "translation": "An error occurred getting the team" + "translation": "An error occurred getting the team." }, { "id": "api.team.set_team_icon.no_file.app_error", - "translation": "No file under 'image' in request" + "translation": "No file under 'image' in request." }, { "id": "api.team.set_team_icon.open.app_error", - "translation": "Could not open image file" + "translation": "Could not open image file." }, { "id": "api.team.set_team_icon.parse.app_error", - "translation": "Could not parse multipart form" + "translation": "Could not parse multipart form." }, { "id": "api.team.set_team_icon.storage.app_error", @@ -2120,11 +2120,11 @@ }, { "id": "api.team.set_team_icon.write_file.app_error", - "translation": "Could not save team icon" + "translation": "Could not save team icon." }, { "id": "api.team.team_icon.update.app_error", - "translation": "An error occurred updating the team icon" + "translation": "An error occurred updating the team icon." }, { "id": "api.team.update_member_roles.not_a_member", @@ -2384,7 +2384,7 @@ }, { "id": "api.user.activate_mfa.email_and_ldap_only.app_error", - "translation": "MFA is not available for this account type" + "translation": "MFA is not available for this account type." }, { "id": "api.user.add_direct_channels_and_forget.failed.error", @@ -2392,11 +2392,11 @@ }, { "id": "api.user.authorize_oauth_user.bad_response.app_error", - "translation": "Bad response from token request" + "translation": "Bad response from token request." }, { "id": "api.user.authorize_oauth_user.bad_token.app_error", - "translation": "Bad token type" + "translation": "Bad token type." }, { "id": "api.user.authorize_oauth_user.invalid_state.app_error", @@ -2404,23 +2404,23 @@ }, { "id": "api.user.authorize_oauth_user.missing.app_error", - "translation": "Missing access token" + "translation": "Missing access token." }, { "id": "api.user.authorize_oauth_user.response.app_error", - "translation": "Received invalid response from OAuth service provider" + "translation": "Received invalid response from OAuth service provider." }, { "id": "api.user.authorize_oauth_user.service.app_error", - "translation": "Token request to {{.Service}} failed" + "translation": "Token request to {{.Service}} failed." }, { "id": "api.user.authorize_oauth_user.token_failed.app_error", - "translation": "Token request failed" + "translation": "Token request failed." }, { "id": "api.user.authorize_oauth_user.unsupported.app_error", - "translation": "Unsupported OAuth service provider" + "translation": "Unsupported OAuth service provider." }, { "id": "api.user.check_user_login_attempts.too_many.app_error", @@ -2432,19 +2432,19 @@ }, { "id": "api.user.check_user_password.invalid.app_error", - "translation": "Login failed because of invalid password" + "translation": "Login failed because of invalid password." }, { "id": "api.user.complete_switch_with_oauth.blank_email.app_error", - "translation": "Blank email" + "translation": "Blank email." }, { "id": "api.user.complete_switch_with_oauth.parse.app_error", - "translation": "Could not parse auth data out of {{.Service}} user object" + "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" + "translation": "{{.Service}} SSO through OAuth 2.0 not available on this server." }, { "id": "api.user.create_email_token.error", @@ -2456,11 +2456,11 @@ }, { "id": "api.user.create_oauth_user.create.app_error", - "translation": "Could not create user out of {{.Service}} user object" + "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" + "translation": "{{.Service}} SSO through OAuth 2.0 not available on this server." }, { "id": "api.user.create_password_token.error", @@ -2468,15 +2468,15 @@ }, { "id": "api.user.create_profile_image.default_font.app_error", - "translation": "Could not create default profile image font" + "translation": "Could not create default profile image font." }, { "id": "api.user.create_profile_image.encode.app_error", - "translation": "Could not encode default profile image" + "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" + "translation": "Could not add user initial to default profile picture." }, { "id": "api.user.create_user.accepted_domain.app_error", @@ -2488,11 +2488,11 @@ }, { "id": "api.user.create_user.guest_accounts.disabled.app_error", - "translation": "Guest accounts are disabled" + "translation": "Guest accounts are disabled." }, { "id": "api.user.create_user.guest_accounts.license.app_error", - "translation": "Your license does not support guest accounts" + "translation": "Your license does not support guest accounts." }, { "id": "api.user.create_user.invalid_invitation_type.app_error", @@ -2508,19 +2508,19 @@ }, { "id": "api.user.create_user.signup_link_expired.app_error", - "translation": "The signup link has expired" + "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" + "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" + "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" + "translation": "AD/LDAP not available on this server." }, { "id": "api.user.email_to_oauth.not_available.app_error", @@ -2528,7 +2528,7 @@ }, { "id": "api.user.get_authorization_code.unsupported.app_error", - "translation": "Unsupported OAuth service provider" + "translation": "Unsupported OAuth service provider." }, { "id": "api.user.get_user_by_email.permissions.app_error", @@ -2536,11 +2536,11 @@ }, { "id": "api.user.ldap_to_email.not_available.app_error", - "translation": "AD/LDAP not available on this server" + "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" + "translation": "This user account does not use AD/LDAP." }, { "id": "api.user.login.blank_pwd.app_error", @@ -2548,15 +2548,15 @@ }, { "id": "api.user.login.bot_login_forbidden.app_error", - "translation": "Bot login is forbidden" + "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" + "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" + "translation": "Attempt to use the experimental feature ClientSideCertEnable without a valid enterprise license." }, { "id": "api.user.login.guest_accounts.disabled.error", @@ -2588,31 +2588,31 @@ }, { "id": "api.user.login.not_verified.app_error", - "translation": "Login failed because email address has not been verified" + "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}}" + "translation": "Please sign in using {{.AuthService}}." }, { "id": "api.user.login_by_oauth.bot_login_forbidden.app_error", - "translation": "Bot login is forbidden" + "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" + "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" + "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" + "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" + "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", @@ -2620,7 +2620,7 @@ }, { "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" + "translation": "Unable to convert the guest to regular user because is not a guest." }, { "id": "api.user.reset_password.broken_token.app_error", @@ -2640,7 +2640,7 @@ }, { "id": "api.user.reset_password.sso.app_error", - "translation": "Unable to reset password for SSO accounts" + "translation": "Unable to reset password for SSO accounts." }, { "id": "api.user.reset_password.token_parse.error", @@ -2676,11 +2676,11 @@ }, { "id": "api.user.send_password_reset.send.app_error", - "translation": "Failed to send password reset email successfully" + "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" + "translation": "Unable to reset password for SSO accounts." }, { "id": "api.user.send_sign_in_change_email_and_forget.error", @@ -2708,19 +2708,19 @@ }, { "id": "api.user.update_active.permissions.app_error", - "translation": "You do not have the appropriate permissions" + "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" + "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" + "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" + "translation": "Update password failed." }, { "id": "api.user.update_password.incorrect.app_error", @@ -2732,11 +2732,11 @@ }, { "id": "api.user.update_password.oauth.app_error", - "translation": "Update password failed because the user is logged in through an OAuth service" + "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" + "translation": "Update password failed because we couldn't find a valid account." }, { "id": "api.user.update_user.accepted_domain.app_error", @@ -2748,11 +2748,11 @@ }, { "id": "api.user.upload_profile_user.array.app_error", - "translation": "Empty array under 'image' in request" + "translation": "Empty array under 'image' in request." }, { "id": "api.user.upload_profile_user.decode.app_error", - "translation": "Could not decode profile image" + "translation": "Could not decode profile image." }, { "id": "api.user.upload_profile_user.decode_config.app_error", @@ -2760,19 +2760,19 @@ }, { "id": "api.user.upload_profile_user.encode.app_error", - "translation": "Could not encode profile image" + "translation": "Could not encode profile image." }, { "id": "api.user.upload_profile_user.no_file.app_error", - "translation": "No file under 'image' in request" + "translation": "No file under 'image' in request." }, { "id": "api.user.upload_profile_user.open.app_error", - "translation": "Could not open image file" + "translation": "Could not open image file." }, { "id": "api.user.upload_profile_user.parse.app_error", - "translation": "Could not parse multipart form" + "translation": "Could not parse multipart form." }, { "id": "api.user.upload_profile_user.storage.app_error", @@ -2784,7 +2784,7 @@ }, { "id": "api.user.upload_profile_user.upload_profile.app_error", - "translation": "Couldn't upload profile image" + "translation": "Couldn't upload profile image." }, { "id": "api.user.verify_email.bad_link.app_error", @@ -2804,7 +2804,7 @@ }, { "id": "api.web_socket.connect.upgrade.app_error", - "translation": "Failed to upgrade websocket connection" + "translation": "Failed to upgrade websocket connection." }, { "id": "api.web_socket_router.bad_action.app_error", @@ -2836,7 +2836,7 @@ }, { "id": "api.webhook.create_outgoing.triggers.app_error", - "translation": "Either trigger_words or channel_id must be set" + "translation": "Either trigger_words or channel_id must be set." }, { "id": "api.webhook.incoming.error", @@ -2844,7 +2844,7 @@ }, { "id": "api.webhook.team_mismatch.app_error", - "translation": "Unable to update webhook across teams" + "translation": "Unable to update webhook across teams." }, { "id": "api.webhook.update_outgoing.intersect.app_error", @@ -2852,11 +2852,11 @@ }, { "id": "api.websocket_handler.invalid_param.app_error", - "translation": "Invalid {{.Name}} parameter" + "translation": "Invalid {{.Name}} parameter." }, { "id": "api.websocket_handler.server_busy.app_error", - "translation": "Server is busy, non-critical services are temporarily unavailable" + "translation": "Server is busy, non-critical services are temporarily unavailable." }, { "id": "app.admin.saml.failure_decode_metadata_xml_from_idp.app_error", @@ -2884,7 +2884,7 @@ }, { "id": "app.channel.create_channel.no_team_id.app_error", - "translation": "Must specify the team ID to create a channel" + "translation": "Must specify the team ID to create a channel." }, { "id": "app.channel.move_channel.members_do_not_match.error", @@ -3552,11 +3552,11 @@ }, { "id": "app.plugin.config.app_error", - "translation": "Error saving plugin state in config" + "translation": "Error saving plugin state in config." }, { "id": "app.plugin.deactivate.app_error", - "translation": "Unable to deactivate plugin" + "translation": "Unable to deactivate plugin." }, { "id": "app.plugin.delete_public_key.delete.app_error", @@ -3572,7 +3572,7 @@ }, { "id": "app.plugin.filesystem.app_error", - "translation": "Encountered filesystem error" + "translation": "Encountered filesystem error." }, { "id": "app.plugin.flag_managed.app_error", @@ -3584,7 +3584,7 @@ }, { "id": "app.plugin.get_plugins.app_error", - "translation": "Unable to get active plugins" + "translation": "Unable to get active plugins." }, { "id": "app.plugin.get_public_key.get_file.app_error", @@ -3592,7 +3592,7 @@ }, { "id": "app.plugin.get_statuses.app_error", - "translation": "Unable to get plugin statuses" + "translation": "Unable to get plugin statuses." }, { "id": "app.plugin.install.app_error", @@ -3616,11 +3616,11 @@ }, { "id": "app.plugin.invalid_version.app_error", - "translation": "Plugin version could not be parsed" + "translation": "Plugin version could not be parsed." }, { "id": "app.plugin.manifest.app_error", - "translation": "Unable to find manifest for extracted plugin" + "translation": "Unable to find manifest for extracted plugin." }, { "id": "app.plugin.marketplace_client.app_error", @@ -3660,11 +3660,11 @@ }, { "id": "app.plugin.not_installed.app_error", - "translation": "Plugin is not installed" + "translation": "Plugin is not installed." }, { "id": "app.plugin.remove.app_error", - "translation": "Unable to delete plugin" + "translation": "Unable to delete plugin." }, { "id": "app.plugin.remove_bundle.app_error", @@ -3716,7 +3716,7 @@ }, { "id": "app.save_config.app_error", - "translation": "An error occurred saving the configuration" + "translation": "An error occurred saving the configuration." }, { "id": "app.schemes.is_phase_2_migration_completed.not_completed.app_error", @@ -3728,7 +3728,7 @@ }, { "id": "app.system_install_date.parse_int.app_error", - "translation": "Failed to parse installation date" + "translation": "Failed to parse installation date." }, { "id": "app.team.invite_id.group_constrained.error", @@ -4000,27 +4000,27 @@ }, { "id": "ent.elasticsearch.start.already_started.app_error", - "translation": "Elasticsearch is already started" + "translation": "Elasticsearch is already started." }, { "id": "ent.elasticsearch.start.create_bulk_processor_failed.app_error", - "translation": "Failed to create Elasticsearch bulk processor" + "translation": "Failed to create Elasticsearch bulk processor." }, { "id": "ent.elasticsearch.start.get_server_version.app_error", - "translation": "Failed to get Elasticsearch server version" + "translation": "Failed to get Elasticsearch server version." }, { "id": "ent.elasticsearch.start.parse_server_version.app_error", - "translation": "Failed to parse Elasticsearch server version" + "translation": "Failed to parse Elasticsearch server version." }, { "id": "ent.elasticsearch.start.start_bulk_processor_failed.app_error", - "translation": "Failed to start Elasticsearch bulk processor" + "translation": "Failed to start Elasticsearch bulk processor." }, { "id": "ent.elasticsearch.stop.already_stopped.app_error", - "translation": "Elasticsearch is already stopped" + "translation": "Elasticsearch is already stopped." }, { "id": "ent.elasticsearch.test_config.connect_failed", @@ -4044,7 +4044,7 @@ }, { "id": "ent.ldap.app_error", - "translation": "ldap interface was nil" + "translation": "ldap interface was nil." }, { "id": "ent.ldap.create_fail", @@ -4060,7 +4060,7 @@ }, { "id": "ent.ldap.do_login.invalid_password.app_error", - "translation": "Invalid Password" + "translation": "Invalid Password." }, { "id": "ent.ldap.do_login.licence_disable.app_error", @@ -4068,15 +4068,15 @@ }, { "id": "ent.ldap.do_login.matched_to_many_users.app_error", - "translation": "Username given matches multiple users" + "translation": "Username given matches multiple users." }, { "id": "ent.ldap.do_login.search_ldap_server.app_error", - "translation": "Failed to search AD/LDAP server" + "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" + "translation": "Unable to connect to AD/LDAP server." }, { "id": "ent.ldap.do_login.user_filtered.app_error", @@ -4084,7 +4084,7 @@ }, { "id": "ent.ldap.do_login.user_not_registered.app_error", - "translation": "User not registered on AD/LDAP server" + "translation": "User not registered on AD/LDAP server." }, { "id": "ent.ldap.syncronize.delete_group_constained_memberships", @@ -4092,11 +4092,11 @@ }, { "id": "ent.ldap.syncronize.get_all.app_error", - "translation": "Unable to get all users using AD/LDAP" + "translation": "Unable to get all users using AD/LDAP." }, { "id": "ent.ldap.syncronize.get_all_groups.app_error", - "translation": "error retrieving groups" + "translation": "error retrieving groups." }, { "id": "ent.ldap.syncronize.populate_syncables", @@ -4112,15 +4112,15 @@ }, { "id": "ent.ldap.validate_admin_filter.app_error", - "translation": "Invalid AD/LDAP Admin Filter" + "translation": "Invalid AD/LDAP Admin Filter." }, { "id": "ent.ldap.validate_filter.app_error", - "translation": "Invalid AD/LDAP Filter" + "translation": "Invalid AD/LDAP Filter." }, { "id": "ent.ldap.validate_guest_filter.app_error", - "translation": "Invalid AD/LDAP Guest Filter" + "translation": "Invalid AD/LDAP Guest Filter." }, { "id": "ent.ldap_groups.group_search_error", @@ -4184,15 +4184,15 @@ }, { "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" + "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" + "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" + "translation": "Unable to open the export temporary file." }, { "id": "ent.migration.migratetoldap.duplicate_field", @@ -4248,7 +4248,7 @@ }, { "id": "ent.saml.do_login.empty_response.app_error", - "translation": "We received an empty response from the Identity Provider" + "translation": "We received an empty response from the Identity Provider." }, { "id": "ent.saml.do_login.parse.app_error", @@ -4324,11 +4324,11 @@ }, { "id": "manaultesting.manual_test.parse.app_error", - "translation": "Unable to parse URL" + "translation": "Unable to parse URL." }, { "id": "manaultesting.test_autolink.unable.app_error", - "translation": "Unable to get channels" + "translation": "Unable to get channels." }, { "id": "mattermost.bulletin.subject", @@ -4336,31 +4336,31 @@ }, { "id": "mfa.activate.authenticate.app_error", - "translation": "Error attempting to authenticate MFA token" + "translation": "Error attempting to authenticate MFA token." }, { "id": "mfa.activate.bad_token.app_error", - "translation": "Invalid MFA token" + "translation": "Invalid MFA token." }, { "id": "mfa.activate.save_active.app_error", - "translation": "Unable to update MFA active status for the user" + "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" + "translation": "Unable to update MFA active status for the user." }, { "id": "mfa.deactivate.save_secret.app_error", - "translation": "Error clearing the MFA secret" + "translation": "Error clearing the MFA secret." }, { "id": "mfa.generate_qr_code.create_code.app_error", - "translation": "Error generating QR code" + "translation": "Error generating QR code." }, { "id": "mfa.generate_qr_code.save_secret.app_error", - "translation": "Error saving the MFA secret" + "translation": "Error saving the MFA secret." }, { "id": "mfa.mfa_disabled.app_error", @@ -4380,275 +4380,275 @@ }, { "id": "model.access.is_valid.access_token.app_error", - "translation": "Invalid access token" + "translation": "Invalid access token." }, { "id": "model.access.is_valid.client_id.app_error", - "translation": "Invalid client id" + "translation": "Invalid client id." }, { "id": "model.access.is_valid.redirect_uri.app_error", - "translation": "Invalid redirect uri" + "translation": "Invalid redirect uri." }, { "id": "model.access.is_valid.refresh_token.app_error", - "translation": "Invalid refresh token" + "translation": "Invalid refresh token." }, { "id": "model.access.is_valid.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.authorize.is_valid.auth_code.app_error", - "translation": "Invalid authorization code" + "translation": "Invalid authorization code." }, { "id": "model.authorize.is_valid.client_id.app_error", - "translation": "Invalid client id" + "translation": "Invalid client id." }, { "id": "model.authorize.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.authorize.is_valid.expires.app_error", - "translation": "Expires in must be set" + "translation": "Expires in must be set." }, { "id": "model.authorize.is_valid.redirect_uri.app_error", - "translation": "Invalid redirect uri" + "translation": "Invalid redirect uri." }, { "id": "model.authorize.is_valid.response_type.app_error", - "translation": "Invalid response type" + "translation": "Invalid response type." }, { "id": "model.authorize.is_valid.scope.app_error", - "translation": "Invalid scope" + "translation": "Invalid scope." }, { "id": "model.authorize.is_valid.state.app_error", - "translation": "Invalid state" + "translation": "Invalid state." }, { "id": "model.authorize.is_valid.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.bot.is_valid.create_at.app_error", - "translation": "Invalid create at" + "translation": "Invalid create at." }, { "id": "model.bot.is_valid.creator_id.app_error", - "translation": "Invalid creator id" + "translation": "Invalid creator id." }, { "id": "model.bot.is_valid.description.app_error", - "translation": "Invalid description" + "translation": "Invalid description." }, { "id": "model.bot.is_valid.update_at.app_error", - "translation": "Invalid update at" + "translation": "Invalid update at." }, { "id": "model.bot.is_valid.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.bot.is_valid.username.app_error", - "translation": "Invalid username" + "translation": "Invalid username." }, { "id": "model.channel.is_valid.2_or_more.app_error", - "translation": "Name must be 2 or more lowercase alphanumeric characters" + "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" + "translation": "Create at must be a valid time." }, { "id": "model.channel.is_valid.creator_id.app_error", - "translation": "Invalid creator id" + "translation": "Invalid creator id." }, { "id": "model.channel.is_valid.display_name.app_error", - "translation": "Invalid display name" + "translation": "Invalid display name." }, { "id": "model.channel.is_valid.header.app_error", - "translation": "Invalid header" + "translation": "Invalid header." }, { "id": "model.channel.is_valid.id.app_error", - "translation": "Invalid Id" + "translation": "Invalid Id." }, { "id": "model.channel.is_valid.purpose.app_error", - "translation": "Invalid purpose" + "translation": "Invalid purpose." }, { "id": "model.channel.is_valid.type.app_error", - "translation": "Invalid type" + "translation": "Invalid type." }, { "id": "model.channel.is_valid.update_at.app_error", - "translation": "Update at must be a valid time" + "translation": "Update at must be a valid time." }, { "id": "model.channel_member.is_valid.channel_id.app_error", - "translation": "Invalid channel id" + "translation": "Invalid channel id." }, { "id": "model.channel_member.is_valid.email_value.app_error", - "translation": "Invalid email notification value" + "translation": "Invalid email notification value." }, { "id": "model.channel_member.is_valid.ignore_channel_mentions_value.app_error", - "translation": "Invalid ignore channel mentions status" + "translation": "Invalid ignore channel mentions status." }, { "id": "model.channel_member.is_valid.notify_level.app_error", - "translation": "Invalid notify level" + "translation": "Invalid notify level." }, { "id": "model.channel_member.is_valid.push_level.app_error", - "translation": "Invalid push notification level" + "translation": "Invalid push notification level." }, { "id": "model.channel_member.is_valid.unread_level.app_error", - "translation": "Invalid mark unread level" + "translation": "Invalid mark unread level." }, { "id": "model.channel_member.is_valid.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.client.connecting.app_error", - "translation": "We encountered an error while connecting to the server" + "translation": "We encountered an error while connecting to the server." }, { "id": "model.cluster.is_valid.create_at.app_error", - "translation": "CreateAt must be set" + "translation": "CreateAt must be set." }, { "id": "model.cluster.is_valid.hostname.app_error", - "translation": "Hostname must be set" + "translation": "Hostname must be set." }, { "id": "model.cluster.is_valid.id.app_error", - "translation": "Invalid Id" + "translation": "Invalid Id." }, { "id": "model.cluster.is_valid.last_ping_at.app_error", - "translation": "LastPingAt must be set" + "translation": "LastPingAt must be set." }, { "id": "model.cluster.is_valid.name.app_error", - "translation": "ClusterName must be set" + "translation": "ClusterName must be set." }, { "id": "model.cluster.is_valid.type.app_error", - "translation": "Type must be set" + "translation": "Type must be set." }, { "id": "model.command.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.command.is_valid.description.app_error", - "translation": "Invalid description" + "translation": "Invalid description." }, { "id": "model.command.is_valid.display_name.app_error", - "translation": "Invalid title" + "translation": "Invalid title." }, { "id": "model.command.is_valid.id.app_error", - "translation": "Invalid Id" + "translation": "Invalid Id." }, { "id": "model.command.is_valid.method.app_error", - "translation": "Invalid Method" + "translation": "Invalid Method." }, { "id": "model.command.is_valid.team_id.app_error", - "translation": "Invalid team ID" + "translation": "Invalid team ID." }, { "id": "model.command.is_valid.token.app_error", - "translation": "Invalid token" + "translation": "Invalid token." }, { "id": "model.command.is_valid.trigger.app_error", - "translation": "Invalid trigger" + "translation": "Invalid trigger." }, { "id": "model.command.is_valid.update_at.app_error", - "translation": "Update at must be a valid time" + "translation": "Update at must be a valid time." }, { "id": "model.command.is_valid.url.app_error", - "translation": "Invalid URL" + "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://" + "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" + "translation": "Invalid user id." }, { "id": "model.command_hook.channel_id.app_error", - "translation": "Invalid channel id" + "translation": "Invalid channel id." }, { "id": "model.command_hook.command_id.app_error", - "translation": "Invalid command id" + "translation": "Invalid command id." }, { "id": "model.command_hook.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.command_hook.id.app_error", - "translation": "Invalid command hook id" + "translation": "Invalid command hook id." }, { "id": "model.command_hook.parent_id.app_error", - "translation": "Invalid parent id" + "translation": "Invalid parent id." }, { "id": "model.command_hook.root_id.app_error", - "translation": "Invalid root id" + "translation": "Invalid root id." }, { "id": "model.command_hook.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.compliance.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.compliance.is_valid.desc.app_error", - "translation": "Invalid description" + "translation": "Invalid description." }, { "id": "model.compliance.is_valid.end_at.app_error", - "translation": "To must be a valid time" + "translation": "To must be a valid time." }, { "id": "model.compliance.is_valid.id.app_error", - "translation": "Invalid Id" + "translation": "Invalid Id." }, { "id": "model.compliance.is_valid.start_at.app_error", - "translation": "From must be a valid time" + "translation": "From must be a valid time." }, { "id": "model.compliance.is_valid.start_end_at.app_error", - "translation": "To must be greater than From" + "translation": "To must be greater than From." }, { "id": "model.config.is_valid.allow_cookies_for_subdomains.app_error", @@ -4684,7 +4684,7 @@ }, { "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" + "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", @@ -4704,11 +4704,11 @@ }, { "id": "model.config.is_valid.elastic_search.live_indexing_batch_size.app_error", - "translation": "Elasticsearch Live Indexing Batch Size must be at least 1" + "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\"" + "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", @@ -4728,7 +4728,7 @@ }, { "id": "model.config.is_valid.email_security.app_error", - "translation": "Invalid connection security for email settings. Must be '', 'TLS', or 'STARTTLS'" + "translation": "Invalid connection security for email settings. Must be '', 'TLS', or 'STARTTLS'." }, { "id": "model.config.is_valid.encrypt_sql.app_error", @@ -4736,7 +4736,7 @@ }, { "id": "model.config.is_valid.file_driver.app_error", - "translation": "Invalid driver name for file settings. Must be 'local' or 'amazons3'" + "translation": "Invalid driver name for file settings. Must be 'local' or 'amazons3'." }, { "id": "model.config.is_valid.file_salt.app_error", @@ -4772,7 +4772,7 @@ }, { "id": "model.config.is_valid.ldap_security.app_error", - "translation": "Invalid connection security for AD/LDAP settings. Must be '', 'TLS', or 'STARTTLS'" + "translation": "Invalid connection security for AD/LDAP settings. Must be '', 'TLS', or 'STARTTLS'." }, { "id": "model.config.is_valid.ldap_server", @@ -4792,7 +4792,7 @@ }, { "id": "model.config.is_valid.localization.available_locales.app_error", - "translation": "Available Languages must contain Default Client Language" + "translation": "Available Languages must contain Default Client Language." }, { "id": "model.config.is_valid.login_attempts.app_error", @@ -4820,7 +4820,7 @@ }, { "id": "model.config.is_valid.message_export.batch_size.app_error", - "translation": "Message export job BatchSize must be a positive integer" + "translation": "Message export job BatchSize must be a positive integer." }, { "id": "model.config.is_valid.message_export.daily_runtime.app_error", @@ -4828,7 +4828,7 @@ }, { "id": "model.config.is_valid.message_export.enable.app_error", - "translation": "Message export job EnableExport setting must be either true or false" + "translation": "Message export job EnableExport setting must be either true or false." }, { "id": "model.config.is_valid.message_export.export_from.app_error", @@ -4836,27 +4836,27 @@ }, { "id": "model.config.is_valid.message_export.export_type.app_error", - "translation": "Message export job ExportFormat must be one of 'actiance', 'csv' or 'globalrelay'" + "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" + "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'" + "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" + "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" + "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" + "translation": "Message export job GlobalRelaySettings.SmtpUsername must be set." }, { "id": "model.config.is_valid.password_length.app_error", @@ -4864,11 +4864,11 @@ }, { "id": "model.config.is_valid.rate_mem.app_error", - "translation": "Invalid memory store size for rate limit settings. Must be a positive number" + "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" + "translation": "Invalid per sec for rate limit settings. Must be a positive number." }, { "id": "model.config.is_valid.read_timeout.app_error", @@ -4876,11 +4876,11 @@ }, { "id": "model.config.is_valid.restrict_direct_message.app_error", - "translation": "Invalid direct message restriction. Must be 'any', or 'team'" + "translation": "Invalid direct message restriction. Must be 'any', or 'team'." }, { "id": "model.config.is_valid.saml_admin_attribute.app_error", - "translation": "Invalid Admin attribute. Must be in the form 'field=value'" + "translation": "Invalid Admin attribute. Must be in the form 'field=value'." }, { "id": "model.config.is_valid.saml_assertion_consumer_service_url.app_error", @@ -4896,7 +4896,7 @@ }, { "id": "model.config.is_valid.saml_guest_attribute.app_error", - "translation": "Invalid Guest attribute. Must be in the form 'field=value'" + "translation": "Invalid Guest attribute. Must be in the form 'field=value'." }, { "id": "model.config.is_valid.saml_idp_cert.app_error", @@ -4928,7 +4928,7 @@ }, { "id": "model.config.is_valid.site_url.app_error", - "translation": "Site URL must be a valid URL and start with http:// or https://" + "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", @@ -4948,7 +4948,7 @@ }, { "id": "model.config.is_valid.sql_driver.app_error", - "translation": "Invalid driver name for SQL settings. Must be 'mysql' or 'postgres'" + "translation": "Invalid driver name for SQL settings. Must be 'mysql' or 'postgres'." }, { "id": "model.config.is_valid.sql_idle.app_error", @@ -4964,7 +4964,7 @@ }, { "id": "model.config.is_valid.teammate_name_display.app_error", - "translation": "Invalid teammate display. Must be 'full_name', 'nickname_full_name' or 'username'" + "translation": "Invalid teammate display. Must be 'full_name', 'nickname_full_name' or 'username'." }, { "id": "model.config.is_valid.time_between_user_typing.app_error", @@ -4972,15 +4972,15 @@ }, { "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" + "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" + "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" + "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", @@ -4988,7 +4988,7 @@ }, { "id": "model.config.is_valid.websocket_url.app_error", - "translation": "Websocket URL must be a valid URL and start with ws:// or wss://" + "translation": "Websocket URL must be a valid URL and start with ws:// or wss://." }, { "id": "model.config.is_valid.write_timeout.app_error", @@ -4996,23 +4996,23 @@ }, { "id": "model.emoji.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.emoji.id.app_error", - "translation": "Invalid emoji id" + "translation": "Invalid emoji id." }, { "id": "model.emoji.name.app_error", - "translation": "Name must be 1 to 64 lowercase alphanumeric characters" + "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" + "translation": "Update at must be a valid time." }, { "id": "model.emoji.user_id.app_error", - "translation": "Invalid creator id" + "translation": "Invalid creator id." }, { "id": "model.file_info.get.gif.app_error", @@ -5044,135 +5044,135 @@ }, { "id": "model.group.create_at.app_error", - "translation": "invalid create at property for group" + "translation": "invalid create at property for group." }, { "id": "model.group.delete_at.app_error", - "translation": "invalid delete at property for group" + "translation": "invalid delete at property for group." }, { "id": "model.group.description.app_error", - "translation": "invalid description property for group" + "translation": "invalid description property for group." }, { "id": "model.group.display_name.app_error", - "translation": "invalid display name property for group" + "translation": "invalid display name property for group." }, { "id": "model.group.id.app_error", - "translation": "invalid id property for group" + "translation": "invalid id property for group." }, { "id": "model.group.name.app_error", - "translation": "invalid name property for group" + "translation": "invalid name property for group." }, { "id": "model.group.remote_id.app_error", - "translation": "invalid remote id property for group" + "translation": "invalid remote id property for group." }, { "id": "model.group.source.app_error", - "translation": "invalid source property for group" + "translation": "invalid source property for group." }, { "id": "model.group.update_at.app_error", - "translation": "invalid update at property for group" + "translation": "invalid update at property for group." }, { "id": "model.group_member.group_id.app_error", - "translation": "invalid group id property for group member" + "translation": "invalid group id property for group member." }, { "id": "model.group_member.user_id.app_error", - "translation": "invalid user id property for group member" + "translation": "invalid user id property for group member." }, { "id": "model.group_syncable.group_id.app_error", - "translation": "invalid group id property for group syncable" + "translation": "invalid group id property for group syncable." }, { "id": "model.group_syncable.syncable_id.app_error", - "translation": "invalid syncable id for group syncable" + "translation": "invalid syncable id for group syncable." }, { "id": "model.group_syncable.type.app_error", - "translation": "invalid type property for group syncable" + "translation": "invalid type property for group syncable." }, { "id": "model.guest.is_valid.channel.app_error", - "translation": "Invalid channel" + "translation": "Invalid channel." }, { "id": "model.guest.is_valid.channels.app_error", - "translation": "Invalid channels" + "translation": "Invalid channels." }, { "id": "model.guest.is_valid.email.app_error", - "translation": "Invalid email" + "translation": "Invalid email." }, { "id": "model.guest.is_valid.emails.app_error", - "translation": "Invalid emails" + "translation": "Invalid emails." }, { "id": "model.incoming_hook.channel_id.app_error", - "translation": "Invalid channel id" + "translation": "Invalid channel id." }, { "id": "model.incoming_hook.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.incoming_hook.description.app_error", - "translation": "Invalid description" + "translation": "Invalid description." }, { "id": "model.incoming_hook.display_name.app_error", - "translation": "Invalid title" + "translation": "Invalid title." }, { "id": "model.incoming_hook.icon_url.app_error", - "translation": "Invalid post icon" + "translation": "Invalid post icon." }, { "id": "model.incoming_hook.id.app_error", - "translation": "Invalid Id" + "translation": "Invalid Id." }, { "id": "model.incoming_hook.parse_data.app_error", - "translation": "Unable to parse incoming data" + "translation": "Unable to parse incoming data." }, { "id": "model.incoming_hook.team_id.app_error", - "translation": "Invalid team ID" + "translation": "Invalid team ID." }, { "id": "model.incoming_hook.update_at.app_error", - "translation": "Update at must be a valid time" + "translation": "Update at must be a valid time." }, { "id": "model.incoming_hook.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.incoming_hook.username.app_error", - "translation": "Invalid username" + "translation": "Invalid username." }, { "id": "model.job.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.job.is_valid.id.app_error", - "translation": "Invalid job Id" + "translation": "Invalid job Id." }, { "id": "model.job.is_valid.status.app_error", - "translation": "Invalid job status" + "translation": "Invalid job status." }, { "id": "model.job.is_valid.type.app_error", - "translation": "Invalid job type" + "translation": "Invalid job type." }, { "id": "model.license_record.is_valid.create_at.app_error", @@ -5184,27 +5184,27 @@ }, { "id": "model.link_metadata.is_valid.data.app_error", - "translation": "Link metadata data cannot be nil" + "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" + "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" + "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" + "translation": "Invalid link metadata type." }, { "id": "model.link_metadata.is_valid.url.app_error", - "translation": "Link metadata URL must be set" + "translation": "Link metadata URL must be set." }, { "id": "model.oauth.is_valid.app_id.app_error", - "translation": "Invalid app id" + "translation": "Invalid app id." }, { "id": "model.oauth.is_valid.callback.app_error", @@ -5212,19 +5212,19 @@ }, { "id": "model.oauth.is_valid.client_secret.app_error", - "translation": "Invalid client secret" + "translation": "Invalid client secret." }, { "id": "model.oauth.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.oauth.is_valid.creator_id.app_error", - "translation": "Invalid creator id" + "translation": "Invalid creator id." }, { "id": "model.oauth.is_valid.description.app_error", - "translation": "Invalid description" + "translation": "Invalid description." }, { "id": "model.oauth.is_valid.homepage.app_error", @@ -5236,75 +5236,75 @@ }, { "id": "model.oauth.is_valid.name.app_error", - "translation": "Invalid name" + "translation": "Invalid name." }, { "id": "model.oauth.is_valid.update_at.app_error", - "translation": "Update at must be a valid time" + "translation": "Update at must be a valid time." }, { "id": "model.outgoing_hook.icon_url.app_error", - "translation": "Invalid icon" + "translation": "Invalid icon." }, { "id": "model.outgoing_hook.is_valid.callback.app_error", - "translation": "Invalid callback URLs" + "translation": "Invalid callback URLs." }, { "id": "model.outgoing_hook.is_valid.channel_id.app_error", - "translation": "Invalid channel id" + "translation": "Invalid channel id." }, { "id": "model.outgoing_hook.is_valid.content_type.app_error", - "translation": "Invalid value for content_type" + "translation": "Invalid value for content_type." }, { "id": "model.outgoing_hook.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.outgoing_hook.is_valid.description.app_error", - "translation": "Invalid description" + "translation": "Invalid description." }, { "id": "model.outgoing_hook.is_valid.display_name.app_error", - "translation": "Invalid title" + "translation": "Invalid title." }, { "id": "model.outgoing_hook.is_valid.id.app_error", - "translation": "Invalid Id" + "translation": "Invalid Id." }, { "id": "model.outgoing_hook.is_valid.team_id.app_error", - "translation": "Invalid team ID" + "translation": "Invalid team ID." }, { "id": "model.outgoing_hook.is_valid.token.app_error", - "translation": "Invalid token" + "translation": "Invalid token." }, { "id": "model.outgoing_hook.is_valid.trigger_words.app_error", - "translation": "Invalid trigger words" + "translation": "Invalid trigger words." }, { "id": "model.outgoing_hook.is_valid.update_at.app_error", - "translation": "Update at must be a valid time" + "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://" + "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" + "translation": "Invalid user id." }, { "id": "model.outgoing_hook.is_valid.words.app_error", - "translation": "Invalid trigger words" + "translation": "Invalid trigger words." }, { "id": "model.outgoing_hook.username.app_error", - "translation": "Invalid username" + "translation": "Invalid username." }, { "id": "model.plugin_command.error.app_error", @@ -5328,11 +5328,11 @@ }, { "id": "model.post.is_valid.channel_id.app_error", - "translation": "Invalid channel id" + "translation": "Invalid channel id." }, { "id": "model.post.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.post.is_valid.file_ids.app_error", @@ -5340,123 +5340,123 @@ }, { "id": "model.post.is_valid.filenames.app_error", - "translation": "Invalid filenames" + "translation": "Invalid filenames." }, { "id": "model.post.is_valid.hashtags.app_error", - "translation": "Invalid hashtags" + "translation": "Invalid hashtags." }, { "id": "model.post.is_valid.id.app_error", - "translation": "Invalid Id" + "translation": "Invalid Id." }, { "id": "model.post.is_valid.msg.app_error", - "translation": "Invalid message" + "translation": "Invalid message." }, { "id": "model.post.is_valid.original_id.app_error", - "translation": "Invalid original id" + "translation": "Invalid original id." }, { "id": "model.post.is_valid.parent_id.app_error", - "translation": "Invalid parent id" + "translation": "Invalid parent id." }, { "id": "model.post.is_valid.props.app_error", - "translation": "Invalid props" + "translation": "Invalid props." }, { "id": "model.post.is_valid.root_id.app_error", - "translation": "Invalid root id" + "translation": "Invalid root id." }, { "id": "model.post.is_valid.root_parent.app_error", - "translation": "Invalid root ID must be set if parent ID set" + "translation": "Invalid root ID must be set if parent ID set." }, { "id": "model.post.is_valid.type.app_error", - "translation": "Invalid type" + "translation": "Invalid type." }, { "id": "model.post.is_valid.update_at.app_error", - "translation": "Update at must be a valid time" + "translation": "Update at must be a valid time." }, { "id": "model.post.is_valid.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.preference.is_valid.category.app_error", - "translation": "Invalid category" + "translation": "Invalid category." }, { "id": "model.preference.is_valid.id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.preference.is_valid.name.app_error", - "translation": "Invalid name" + "translation": "Invalid name." }, { "id": "model.preference.is_valid.theme.app_error", - "translation": "Invalid theme" + "translation": "Invalid theme." }, { "id": "model.preference.is_valid.value.app_error", - "translation": "Value is too long" + "translation": "Value is too long." }, { "id": "model.reaction.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.reaction.is_valid.emoji_name.app_error", - "translation": "Invalid emoji name" + "translation": "Invalid emoji name." }, { "id": "model.reaction.is_valid.post_id.app_error", - "translation": "Invalid post id" + "translation": "Invalid post id." }, { "id": "model.reaction.is_valid.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.team.is_valid.characters.app_error", - "translation": "Name must be 2 or more lowercase alphanumeric characters" + "translation": "Name must be 2 or more lowercase alphanumeric characters." }, { "id": "model.team.is_valid.company.app_error", - "translation": "Invalid company name" + "translation": "Invalid company name." }, { "id": "model.team.is_valid.create_at.app_error", - "translation": "Create at must be a valid time" + "translation": "Create at must be a valid time." }, { "id": "model.team.is_valid.description.app_error", - "translation": "Invalid description" + "translation": "Invalid description." }, { "id": "model.team.is_valid.domains.app_error", - "translation": "Invalid allowed domains" + "translation": "Invalid allowed domains." }, { "id": "model.team.is_valid.email.app_error", - "translation": "Invalid email" + "translation": "Invalid email." }, { "id": "model.team.is_valid.id.app_error", - "translation": "Invalid Id" + "translation": "Invalid Id." }, { "id": "model.team.is_valid.invite_id.app_error", - "translation": "Invalid invite id" + "translation": "Invalid invite id." }, { "id": "model.team.is_valid.name.app_error", - "translation": "Invalid name" + "translation": "Invalid name." }, { "id": "model.team.is_valid.reserved.app_error", @@ -5464,23 +5464,23 @@ }, { "id": "model.team.is_valid.type.app_error", - "translation": "Invalid type" + "translation": "Invalid type." }, { "id": "model.team.is_valid.update_at.app_error", - "translation": "Update at must be a valid time" + "translation": "Update at must be a valid time." }, { "id": "model.team.is_valid.url.app_error", - "translation": "Invalid URL Identifier" + "translation": "Invalid URL Identifier." }, { "id": "model.team_member.is_valid.team_id.app_error", - "translation": "Invalid team ID" + "translation": "Invalid team ID." }, { "id": "model.team_member.is_valid.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.token.is_valid.expiry", @@ -5492,43 +5492,43 @@ }, { "id": "model.user.is_valid.auth_data.app_error", - "translation": "Invalid auth data" + "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" + "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" + "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" + "translation": "Create at must be a valid time." }, { "id": "model.user.is_valid.email.app_error", - "translation": "Invalid email" + "translation": "Invalid email." }, { "id": "model.user.is_valid.first_name.app_error", - "translation": "Invalid first name" + "translation": "Invalid first name." }, { "id": "model.user.is_valid.id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.user.is_valid.last_name.app_error", - "translation": "Invalid last name" + "translation": "Invalid last name." }, { "id": "model.user.is_valid.locale.app_error", - "translation": "Invalid locale" + "translation": "Invalid locale." }, { "id": "model.user.is_valid.nickname.app_error", - "translation": "Invalid nickname" + "translation": "Invalid nickname." }, { "id": "model.user.is_valid.password_limit.app_error", @@ -5604,7 +5604,7 @@ }, { "id": "model.user.is_valid.update_at.app_error", - "translation": "Update at must be a valid time" + "translation": "Update at must be a valid time." }, { "id": "model.user.is_valid.username.app_error", @@ -5612,23 +5612,23 @@ }, { "id": "model.user_access_token.is_valid.description.app_error", - "translation": "Invalid description, must be 255 or less characters" + "translation": "Invalid description, must be 255 or less characters." }, { "id": "model.user_access_token.is_valid.id.app_error", - "translation": "Invalid value for id" + "translation": "Invalid value for id." }, { "id": "model.user_access_token.is_valid.token.app_error", - "translation": "Invalid access token" + "translation": "Invalid access token." }, { "id": "model.user_access_token.is_valid.user_id.app_error", - "translation": "Invalid user id" + "translation": "Invalid user id." }, { "id": "model.utils.decode_json.app_error", - "translation": "could not decode" + "translation": "could not decode." }, { "id": "model.websocket_client.connect_fail.app_error", @@ -5640,7 +5640,7 @@ }, { "id": "plugin.api.get_users_in_channel", - "translation": "Unable to get the users, invalid sorting criteria" + "translation": "Unable to get the users, invalid sorting criteria." }, { "id": "plugin.api.update_user_status.bad_status", @@ -5652,7 +5652,7 @@ }, { "id": "plugin_api.get_file_link.disabled.app_error", - "translation": "Public links have been disabled" + "translation": "Public links have been disabled." }, { "id": "plugin_api.get_file_link.no_post.app_error", @@ -5680,7 +5680,7 @@ }, { "id": "store.sql.build_query.app_error", - "translation": "failed to build query" + "translation": "failed to build query." }, { "id": "store.sql.convert_string_array", @@ -5696,311 +5696,311 @@ }, { "id": "store.sql_audit.get.finding.app_error", - "translation": "We encountered an error finding the audits" + "translation": "We encountered an error finding the audits." }, { "id": "store.sql_audit.get.limit.app_error", - "translation": "Limit exceeded for paging" + "translation": "Limit exceeded for paging." }, { "id": "store.sql_audit.permanent_delete_by_user.app_error", - "translation": "We encountered an error deleting the audits" + "translation": "We encountered an error deleting the audits." }, { "id": "store.sql_audit.save.saving.app_error", - "translation": "We encountered an error saving the audit" + "translation": "We encountered an error saving the audit." }, { "id": "store.sql_bot.delete.app_error", - "translation": "Unable to delete the bot" + "translation": "Unable to delete the bot." }, { "id": "store.sql_bot.get.app_error", - "translation": "Unable to get the bot" + "translation": "Unable to get the bot." }, { "id": "store.sql_bot.get.missing.app_error", - "translation": "Bot does not exist" + "translation": "Bot does not exist." }, { "id": "store.sql_bot.get_all.app_error", - "translation": "Unable to get the bots" + "translation": "Unable to get the bots." }, { "id": "store.sql_bot.save.app_error", - "translation": "Unable to save the bot" + "translation": "Unable to save the bot." }, { "id": "store.sql_bot.update.app_error", - "translation": "Unable to update the bot" + "translation": "Unable to update the bot." }, { "id": "store.sql_bot.update.updating.app_error", - "translation": "We encountered an error updating the bot" + "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" + "translation": "Unable to get deleted channel type counts." }, { "id": "store.sql_channel.analytics_type_count.app_error", - "translation": "Unable to get channel type counts" + "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" + "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" + "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" + "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" + "translation": "Failed to update the channel member." }, { "id": "store.sql_channel.count_posts_since.app_error", - "translation": "Unable to count messages since given date" + "translation": "Unable to count messages since given date." }, { "id": "store.sql_channel.delete.channel.app_error", - "translation": "Unable to delete the channel" + "translation": "Unable to delete the channel." }, { "id": "store.sql_channel.get.existing.app_error", - "translation": "Unable to find the existing channel" + "translation": "Unable to find the existing channel." }, { "id": "store.sql_channel.get.find.app_error", - "translation": "We encountered an error finding the channel" + "translation": "We encountered an error finding the channel." }, { "id": "store.sql_channel.get_all.app_error", - "translation": "Unable to get all the channels" + "translation": "Unable to get all the channels." }, { "id": "store.sql_channel.get_all_channels.get.app_error", - "translation": "Unable to get all the channels" + "translation": "Unable to get all the channels." }, { "id": "store.sql_channel.get_all_direct.app_error", - "translation": "Unable to get all the direct channels" + "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" + "translation": "Unable to find the existing channel." }, { "id": "store.sql_channel.get_by_name.missing.app_error", - "translation": "Channel does not exist" + "translation": "Channel does not exist." }, { "id": "store.sql_channel.get_by_scheme.app_error", - "translation": "Unable to get the channels for the provided scheme" + "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" + "translation": "Unable to get the channel counts." }, { "id": "store.sql_channel.get_channels.get.app_error", - "translation": "Unable to get the channels" + "translation": "Unable to get the channels." }, { "id": "store.sql_channel.get_channels.not_found.app_error", - "translation": "No channels were found" + "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" + "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" + "translation": "Unable to get channels by ids." }, { "id": "store.sql_channel.get_channels_by_ids.get.app_error", - "translation": "Unable to get the channels" + "translation": "Unable to get the channels." }, { "id": "store.sql_channel.get_channels_by_ids.not_found.app_error", - "translation": "No channel found" + "translation": "No channel found." }, { "id": "store.sql_channel.get_deleted.existing.app_error", - "translation": "Unable to find the existing deleted channel" + "translation": "Unable to find the existing deleted channel." }, { "id": "store.sql_channel.get_deleted.missing.app_error", - "translation": "No deleted channels exist" + "translation": "No deleted channels exist." }, { "id": "store.sql_channel.get_deleted_by_name.existing.app_error", - "translation": "Unable to find the existing deleted channel" + "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" + "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" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to get the channel members." }, { "id": "store.sql_channel.get_members_by_ids.app_error", - "translation": "Unable to get the channel members" + "translation": "Unable to get the channel members." }, { "id": "store.sql_channel.get_more_channels.get.app_error", - "translation": "Unable to get the channels" + "translation": "Unable to get the channels." }, { "id": "store.sql_channel.get_pinnedpost_count.app_error", - "translation": "Unable to get the channel pinned post count" + "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" + "translation": "Unable to get public channels." }, { "id": "store.sql_channel.get_unread.app_error", - "translation": "Unable to get the channel unread messages" + "translation": "Unable to get the channel unread messages." }, { "id": "store.sql_channel.increment_mention_count.app_error", - "translation": "Unable to increment the mention count" + "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" + "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" + "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" + "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" + "translation": "Failed to update the channel member." }, { "id": "store.sql_channel.permanent_delete.app_error", - "translation": "Unable to delete the channel" + "translation": "Unable to delete the channel." }, { "id": "store.sql_channel.permanent_delete.commit_transaction.app_error", - "translation": "Unable to commit transaction" + "translation": "Unable to commit transaction." }, { "id": "store.sql_channel.permanent_delete.delete_public_channel.app_error", - "translation": "Unable to delete materialized public channel" + "translation": "Unable to delete materialized public channel." }, { "id": "store.sql_channel.permanent_delete.open_transaction.app_error", - "translation": "Unable to open transaction" + "translation": "Unable to open transaction." }, { "id": "store.sql_channel.permanent_delete_by_team.app_error", - "translation": "Unable to delete the channels" + "translation": "Unable to delete the channels." }, { "id": "store.sql_channel.permanent_delete_by_team.commit_transaction.app_error", - "translation": "Unable to commit transaction" + "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" + "translation": "Unable to delete materialized public channels." }, { "id": "store.sql_channel.permanent_delete_by_team.open_transaction.app_error", - "translation": "Unable to open transaction" + "translation": "Unable to open transaction." }, { "id": "store.sql_channel.permanent_delete_members_by_user.app_error", - "translation": "Unable to remove the channel member" + "translation": "Unable to remove the channel member." }, { "id": "store.sql_channel.pinned_posts.app_error", - "translation": "Unable to find the pinned posts" + "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" + "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" + "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" + "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" + "translation": "Unable to commit transaction." }, { "id": "store.sql_channel.reset_all_channel_schemes.open_transaction.app_error", - "translation": "Unable to open transaction" + "translation": "Unable to open transaction." }, { "id": "store.sql_channel.save.archived_channel.app_error", - "translation": "You can not modify an archived channel" + "translation": "You can not modify an archived channel." }, { "id": "store.sql_channel.save.commit_transaction.app_error", - "translation": "Unable to commit transaction" + "translation": "Unable to commit transaction." }, { "id": "store.sql_channel.save.direct_channel.app_error", - "translation": "Use SaveDirectChannel to create a direct channel" + "translation": "Use SaveDirectChannel to create a direct channel." }, { "id": "store.sql_channel.save.open_transaction.app_error", - "translation": "Unable to open transaction" + "translation": "Unable to open transaction." }, { "id": "store.sql_channel.save.upsert_public_channel.app_error", - "translation": "Unable to upsert materialized public channel" + "translation": "Unable to upsert materialized public channel." }, { "id": "store.sql_channel.save_channel.current_count.app_error", - "translation": "Failed to get current channel count" + "translation": "Failed to get current channel count." }, { "id": "store.sql_channel.save_channel.existing.app_error", - "translation": "Must call update for existing channel" + "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" + "translation": "A channel with that name already exists on the same team." }, { "id": "store.sql_channel.save_channel.limit.app_error", @@ -6008,115 +6008,115 @@ }, { "id": "store.sql_channel.save_channel.save.app_error", - "translation": "Unable to save the channel" + "translation": "Unable to save the channel." }, { "id": "store.sql_channel.save_direct_channel.add_members.app_error", - "translation": "Unable to add direct channel members" + "translation": "Unable to add direct channel members." }, { "id": "store.sql_channel.save_direct_channel.commit.app_error", - "translation": "Unable to commit transaction" + "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" + "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" + "translation": "Unable to open transaction." }, { "id": "store.sql_channel.save_member.commit_transaction.app_error", - "translation": "Unable to commit transaction" + "translation": "Unable to commit transaction." }, { "id": "store.sql_channel.save_member.exists.app_error", - "translation": "A channel member with that ID already exists" + "translation": "A channel member with that ID already exists." }, { "id": "store.sql_channel.save_member.open_transaction.app_error", - "translation": "Unable to open transaction" + "translation": "Unable to open transaction." }, { "id": "store.sql_channel.save_member.save.app_error", - "translation": "Unable to save the channel member" + "translation": "Unable to save the channel member." }, { "id": "store.sql_channel.search.app_error", - "translation": "We encountered an error searching channels" + "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" + "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" + "translation": "Unable to commit transaction." }, { "id": "store.sql_channel.set_delete_at.open_transaction.app_error", - "translation": "Unable to open transaction" + "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" + "translation": "Unable to update the materialized public channel." }, { "id": "store.sql_channel.update.app_error", - "translation": "Unable to update the channel" + "translation": "Unable to update the channel." }, { "id": "store.sql_channel.update.archived_channel.app_error", - "translation": "You can not modify an archived channel" + "translation": "You can not modify an archived channel." }, { "id": "store.sql_channel.update.commit_transaction.app_error", - "translation": "Unable to commit transaction" + "translation": "Unable to commit transaction." }, { "id": "store.sql_channel.update.exists.app_error", - "translation": "A channel with that handle already exists" + "translation": "A channel with that handle already exists." }, { "id": "store.sql_channel.update.open_transaction.app_error", - "translation": "Unable to open transaction" + "translation": "Unable to open transaction." }, { "id": "store.sql_channel.update.previously.app_error", - "translation": "A channel with that handle was previously created" + "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" + "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" + "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" + "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" + "translation": "Unable to mark channel as unread." }, { "id": "store.sql_channel.update_member.app_error", - "translation": "We encountered an error updating the channel member" + "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" + "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" + "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" + "translation": "Failed to record channel member history." }, { "id": "store.sql_channel_member_history.log_leave_event.update_error", @@ -6124,151 +6124,151 @@ }, { "id": "store.sql_channel_member_history.permanent_delete_batch.app_error", - "translation": "Failed to purge records" + "translation": "Failed to purge records." }, { "id": "store.sql_cluster_discovery.cleanup.app_error", - "translation": "Failed to save ClusterDiscovery row" + "translation": "Failed to save ClusterDiscovery row." }, { "id": "store.sql_cluster_discovery.delete.app_error", - "translation": "Failed to delete" + "translation": "Failed to delete." }, { "id": "store.sql_cluster_discovery.exists.app_error", - "translation": "Failed to check if it exists" + "translation": "Failed to check if it exists." }, { "id": "store.sql_cluster_discovery.get_all.app_error", - "translation": "Failed to get all discovery rows" + "translation": "Failed to get all discovery rows." }, { "id": "store.sql_cluster_discovery.save.app_error", - "translation": "Failed to save ClusterDiscovery row" + "translation": "Failed to save ClusterDiscovery row." }, { "id": "store.sql_cluster_discovery.set_last_ping.app_error", - "translation": "Failed to update last ping at" + "translation": "Failed to update last ping at." }, { "id": "store.sql_command.analytics_command_count.app_error", - "translation": "Unable to count the commands" + "translation": "Unable to count the commands." }, { "id": "store.sql_command.get_by_trigger.app_error", - "translation": "Unable to get the command" + "translation": "Unable to get the command." }, { "id": "store.sql_command.save.delete.app_error", - "translation": "Unable to delete the command" + "translation": "Unable to delete the command." }, { "id": "store.sql_command.save.delete_perm.app_error", - "translation": "Unable to delete the command" + "translation": "Unable to delete the command." }, { "id": "store.sql_command.save.get.app_error", - "translation": "Unable to get the command" + "translation": "Unable to get the command." }, { "id": "store.sql_command.save.get_team.app_error", - "translation": "Unable to get the commands" + "translation": "Unable to get the commands." }, { "id": "store.sql_command.save.saving.app_error", - "translation": "Unable to save the Command" + "translation": "Unable to save the Command." }, { "id": "store.sql_command.save.saving_overwrite.app_error", - "translation": "You cannot overwrite an existing Command" + "translation": "You cannot overwrite an existing Command." }, { "id": "store.sql_command.save.update.app_error", - "translation": "Unable to update the command" + "translation": "Unable to update the command." }, { "id": "store.sql_command_webhooks.get.app_error", - "translation": "Unable to get the webhook" + "translation": "Unable to get the webhook." }, { "id": "store.sql_command_webhooks.save.app_error", - "translation": "Unable to save the CommandWebhook" + "translation": "Unable to save the CommandWebhook." }, { "id": "store.sql_command_webhooks.save.existing.app_error", - "translation": "You cannot update an existing CommandWebhook" + "translation": "You cannot update an existing CommandWebhook." }, { "id": "store.sql_command_webhooks.try_use.app_error", - "translation": "Unable to use the webhook" + "translation": "Unable to use the webhook." }, { "id": "store.sql_command_webhooks.try_use.invalid.app_error", - "translation": "Invalid webhook" + "translation": "Invalid webhook." }, { "id": "store.sql_compliance.get.finding.app_error", - "translation": "We encountered an error retrieving the compliance reports" + "translation": "We encountered an error retrieving the compliance reports." }, { "id": "store.sql_compliance.message_export.app_error", - "translation": "Failed to select message export data" + "translation": "Failed to select message export data." }, { "id": "store.sql_compliance.save.saving.app_error", - "translation": "We encountered an error saving the compliance report" + "translation": "We encountered an error saving the compliance report." }, { "id": "store.sql_emoji.delete.app_error", - "translation": "Unable to delete the emoji" + "translation": "Unable to delete the emoji." }, { "id": "store.sql_emoji.delete.no_results", - "translation": "We couldn’t find the emoji to delete" + "translation": "We couldn’t find the emoji to delete." }, { "id": "store.sql_emoji.get.app_error", - "translation": "Unable to get the emoji" + "translation": "Unable to get the emoji." }, { "id": "store.sql_emoji.get_all.app_error", - "translation": "Unable to get the emoji" + "translation": "Unable to get the emoji." }, { "id": "store.sql_emoji.get_by_name.app_error", - "translation": "Unable to get the emoji" + "translation": "Unable to get the emoji." }, { "id": "store.sql_emoji.save.app_error", - "translation": "Unable to save the emoji" + "translation": "Unable to save the emoji." }, { "id": "store.sql_file_info.PermanentDeleteByUser.app_error", - "translation": "Unable to delete attachments of the user" + "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" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to get the file info for the user." }, { "id": "store.sql_file_info.get_with_options.app_error", @@ -6276,19 +6276,19 @@ }, { "id": "store.sql_file_info.permanent_delete.app_error", - "translation": "Unable to permanently delete the file info" + "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" + "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" + "translation": "Unable to save the file info." }, { "id": "store.sql_group.app_error", - "translation": "failed to build query" + "translation": "failed to build query." }, { "id": "store.sql_group.group_syncable_already_deleted", @@ -6304,7 +6304,7 @@ }, { "id": "store.sql_group.permanent_delete_members_by_user.app_error", - "translation": "Unable to remove the group member with UserID \"{{.UserId}}\"" + "translation": "Unable to remove the group member with UserID \"{{.UserId}}\"." }, { "id": "store.sql_group.unique_constraint", @@ -6316,111 +6316,111 @@ }, { "id": "store.sql_job.delete.app_error", - "translation": "Unable to delete the job" + "translation": "Unable to delete the job." }, { "id": "store.sql_job.get.app_error", - "translation": "Unable to get the job" + "translation": "Unable to get the job." }, { "id": "store.sql_job.get_all.app_error", - "translation": "Unable to get the jobs" + "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" + "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" + "translation": "Unable to get the newest job by status and type." }, { "id": "store.sql_job.save.app_error", - "translation": "Unable to save the job" + "translation": "Unable to save the job." }, { "id": "store.sql_job.update.app_error", - "translation": "Unable to update the job" + "translation": "Unable to update the job." }, { "id": "store.sql_license.get.app_error", - "translation": "We encountered an error getting the license" + "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" + "translation": "A license with that ID was not found." }, { "id": "store.sql_license.save.app_error", - "translation": "We encountered an error saving the license" + "translation": "We encountered an error saving the license." }, { "id": "store.sql_link_metadata.get.app_error", - "translation": "Unable to get the link metadata" + "translation": "Unable to get the link metadata." }, { "id": "store.sql_link_metadata.save.app_error", - "translation": "Unable to save the link metadata" + "translation": "Unable to save the link metadata." }, { "id": "store.sql_oauth.delete.commit_transaction.app_error", - "translation": "Unable to commit transaction" + "translation": "Unable to commit transaction." }, { "id": "store.sql_oauth.delete.open_transaction.app_error", - "translation": "Unable to open transaction to delete the OAuth2 app" + "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" + "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" + "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" + "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" + "translation": "Unable to find the requested app." }, { "id": "store.sql_oauth.get_app.finding.app_error", - "translation": "We encountered an error finding the app" + "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" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to remove the authorization code." }, { "id": "store.sql_oauth.remove_access_data.app_error", - "translation": "Unable to remove the access token" + "translation": "Unable to remove the access token." }, { "id": "store.sql_oauth.remove_auth_data.app_error", - "translation": "Unable to remove the authorization code" + "translation": "Unable to remove the authorization code." }, { "id": "store.sql_oauth.save_access_data.app_error", @@ -6428,7 +6428,7 @@ }, { "id": "store.sql_oauth.save_app.existing.app_error", - "translation": "Must call update for existing app" + "translation": "Must call update for existing app." }, { "id": "store.sql_oauth.save_app.save.app_error", @@ -6440,23 +6440,23 @@ }, { "id": "store.sql_oauth.update_access_data.app_error", - "translation": "We encountered an error updating the access token" + "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" + "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" + "translation": "We encountered an error finding the app." }, { "id": "store.sql_oauth.update_app.update.app_error", - "translation": "Unable to update the app" + "translation": "Unable to update the app." }, { "id": "store.sql_oauth.update_app.updating.app_error", - "translation": "We encountered an error updating the app" + "translation": "We encountered an error updating the app." }, { "id": "store.sql_plugin_store.compare_and_set.mysql_select.app_error", @@ -6468,31 +6468,31 @@ }, { "id": "store.sql_plugin_store.delete.app_error", - "translation": "Could not delete plugin key value" + "translation": "Could not delete plugin key value." }, { "id": "store.sql_plugin_store.get.app_error", - "translation": "Could not get plugin key value" + "translation": "Could not get plugin key value." }, { "id": "store.sql_plugin_store.list.app_error", - "translation": "Unable to list all the plugin keys" + "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" + "translation": "Could not save or update plugin key value." }, { "id": "store.sql_post.analytics_posts_count.app_error", - "translation": "Unable to get post counts" + "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" + "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" + "translation": "Unable to get user counts with posts." }, { "id": "store.sql_post.compliance_export.app_error", @@ -6500,99 +6500,99 @@ }, { "id": "store.sql_post.delete.app_error", - "translation": "Unable to delete the post" + "translation": "Unable to delete the post." }, { "id": "store.sql_post.get.app_error", - "translation": "Unable to get the post" + "translation": "Unable to get the post." }, { "id": "store.sql_post.get_direct_posts.app_error", - "translation": "Unable to get direct posts" + "translation": "Unable to get direct posts." }, { "id": "store.sql_post.get_flagged_posts.app_error", - "translation": "Unable to get the flagged posts" + "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" + "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" + "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" + "translation": "Unable to get post around time bound." }, { "id": "store.sql_post.get_posts.app_error", - "translation": "Limit exceeded for paging" + "translation": "Limit exceeded for paging." }, { "id": "store.sql_post.get_posts_around.get.app_error", - "translation": "Unable to get the posts for the channel" + "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" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to get the posts for the channel." }, { "id": "store.sql_post.overwrite.app_error", - "translation": "Unable to overwrite the Post" + "translation": "Unable to overwrite the Post." }, { "id": "store.sql_post.permanent_delete.app_error", - "translation": "Unable to delete the post" + "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" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to save the Post." }, { "id": "store.sql_post.save.existing.app_error", - "translation": "You cannot update an existing Post" + "translation": "You cannot update an existing Post." }, { "id": "store.sql_post.search.disabled", @@ -6600,291 +6600,291 @@ }, { "id": "store.sql_post.update.app_error", - "translation": "Unable to update the Post" + "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" + "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" + "translation": "We encountered an error while deleting preferences." }, { "id": "store.sql_preference.get.app_error", - "translation": "We encountered an error while finding preferences" + "translation": "We encountered an error while finding preferences." }, { "id": "store.sql_preference.get_all.app_error", - "translation": "We encountered an error while finding preferences" + "translation": "We encountered an error while finding preferences." }, { "id": "store.sql_preference.get_category.app_error", - "translation": "We encountered an error while finding preferences" + "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" + "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" + "translation": "Unable to save the preference." }, { "id": "store.sql_preference.permanent_delete_by_user.app_error", - "translation": "We encountered an error while deleteing preferences" + "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" + "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" + "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" + "translation": "Unable to open transaction to save preferences." }, { "id": "store.sql_preference.save.updating.app_error", - "translation": "We encountered an error while updating preferences" + "translation": "We encountered an error while updating preferences." }, { "id": "store.sql_preference.update.app_error", - "translation": "Unable to update the preference" + "translation": "Unable to update the preference." }, { "id": "store.sql_reaction.bulk_get_for_post_ids.app_error", - "translation": "Unable to get reactions for post" + "translation": "Unable to get reactions for post." }, { "id": "store.sql_reaction.delete.app_error", - "translation": "Unable to delete reaction" + "translation": "Unable to delete reaction." }, { "id": "store.sql_reaction.delete.begin.app_error", - "translation": "Unable to open transaction while deleting reaction" + "translation": "Unable to open transaction while deleting reaction." }, { "id": "store.sql_reaction.delete.commit.app_error", - "translation": "Unable to commit transaction while deleting reaction" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to open transaction while saving reaction." }, { "id": "store.sql_reaction.save.commit.app_error", - "translation": "Unable to commit transaction while saving reaction" + "translation": "Unable to commit transaction while saving reaction." }, { "id": "store.sql_reaction.save.save.app_error", - "translation": "Unable to save reaction" + "translation": "Unable to save reaction." }, { "id": "store.sql_recover.delete.app_error", - "translation": "Unable to delete token" + "translation": "Unable to delete token." }, { "id": "store.sql_recover.get_by_code.app_error", - "translation": "Unable to get a token with this code" + "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" + "translation": "Unable to remove all the tokens of a type." }, { "id": "store.sql_recover.save.app_error", - "translation": "Unable to save the token" + "translation": "Unable to save the token." }, { "id": "store.sql_role.delete.update.app_error", - "translation": "Unable to delete the role" + "translation": "Unable to delete the role." }, { "id": "store.sql_role.get.app_error", - "translation": "Unable to get role" + "translation": "Unable to get role." }, { "id": "store.sql_role.get_all.app_error", - "translation": "Unable to get all the roles" + "translation": "Unable to get all the roles." }, { "id": "store.sql_role.get_by_name.app_error", - "translation": "Unable to get role" + "translation": "Unable to get role." }, { "id": "store.sql_role.get_by_names.app_error", - "translation": "Unable to get roles" + "translation": "Unable to get roles." }, { "id": "store.sql_role.permanent_delete_all.app_error", - "translation": "We could not permanently delete all the roles" + "translation": "We could not permanently delete all the roles." }, { "id": "store.sql_role.save.insert.app_error", - "translation": "Unable to save new role" + "translation": "Unable to save new role." }, { "id": "store.sql_role.save.invalid_role.app_error", - "translation": "The role was not valid" + "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" + "translation": "Failed to open the transaction to save the role." }, { "id": "store.sql_role.save.update.app_error", - "translation": "Unable to update role" + "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" + "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" + "translation": "Unable to delete the roles belonging to this scheme." }, { "id": "store.sql_scheme.delete.update.app_error", - "translation": "Unable to delete the scheme" + "translation": "Unable to delete the scheme." }, { "id": "store.sql_scheme.get.app_error", - "translation": "Unable to get the scheme" + "translation": "Unable to get the scheme." }, { "id": "store.sql_scheme.permanent_delete_all.app_error", - "translation": "We could not permanently delete the schemes" + "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" + "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" + "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" + "translation": "Unable to create the scheme." }, { "id": "store.sql_scheme.save.invalid_scheme.app_error", - "translation": "The provided scheme is invalid" + "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" + "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" + "translation": "Unable to retrieve the default scheme roles." }, { "id": "store.sql_scheme.save.update.app_error", - "translation": "Unable to update the scheme" + "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" + "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" + "translation": "Unable to count the sessions." }, { "id": "store.sql_session.get.app_error", - "translation": "We encountered an error finding the session" + "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" + "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" + "translation": "Unable to remove all the sessions for the user." }, { "id": "store.sql_session.remove.app_error", - "translation": "Unable to remove the session" + "translation": "Unable to remove the session." }, { "id": "store.sql_session.remove_all_sessions_for_team.app_error", - "translation": "Unable to remove all the sessions" + "translation": "Unable to remove all the sessions." }, { "id": "store.sql_session.save.app_error", - "translation": "Unable to save the session" + "translation": "Unable to save the session." }, { "id": "store.sql_session.save.existing.app_error", - "translation": "Unable to update existing session" + "translation": "Unable to update existing session." }, { "id": "store.sql_session.update_device_id.app_error", - "translation": "Unable to update the device id" + "translation": "Unable to update the device id." }, { "id": "store.sql_session.update_last_activity.app_error", - "translation": "Unable to update the last_activity_at" + "translation": "Unable to update the last_activity_at." }, { "id": "store.sql_session.update_props.app_error", - "translation": "Unable to update session props" + "translation": "Unable to update session props." }, { "id": "store.sql_session.update_roles.app_error", - "translation": "Unable to update the roles" + "translation": "Unable to update the roles." }, { "id": "store.sql_status.get.app_error", - "translation": "Encountered an error retrieving the status" + "translation": "Encountered an error retrieving the status." }, { "id": "store.sql_status.get.missing.app_error", - "translation": "No entry for that status exists" + "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" + "translation": "We could not count the active users." }, { "id": "store.sql_status.reset_all.app_error", - "translation": "Encountered an error resetting all the statuses" + "translation": "Encountered an error resetting all the statuses." }, { "id": "store.sql_status.save.app_error", - "translation": "Encountered an error saving the status" + "translation": "Encountered an error saving the status." }, { "id": "store.sql_status.update.app_error", - "translation": "Encountered an error updating the status" + "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" + "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" + "translation": "We encountered an error finding the system properties." }, { "id": "store.sql_system.get_by_name.app_error", @@ -6892,15 +6892,15 @@ }, { "id": "store.sql_system.permanent_delete_by_name.app_error", - "translation": "We could not permanently delete the system table entry" + "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" + "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" + "translation": "We encountered an error updating the system property." }, { "id": "store.sql_team.analytics_get_team_count_for_scheme.app_error", @@ -6908,187 +6908,187 @@ }, { "id": "store.sql_team.analytics_private_team_count.app_error", - "translation": "Unable to count the private teams" + "translation": "Unable to count the private teams." }, { "id": "store.sql_team.analytics_public_team_count.app_error", - "translation": "Unable to count the public teams" + "translation": "Unable to count the public teams." }, { "id": "store.sql_team.analytics_team_count.app_error", - "translation": "Unable to count the teams" + "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" + "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" + "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" + "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" + "translation": "Failed to update the team member." }, { "id": "store.sql_team.get.find.app_error", - "translation": "Unable to find the existing team" + "translation": "Unable to find the existing team." }, { "id": "store.sql_team.get.finding.app_error", - "translation": "We encountered an error finding the team" + "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" + "translation": "Unable to count the team members." }, { "id": "store.sql_team.get_all.app_error", - "translation": "We could not get all teams" + "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" + "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" + "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" + "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" + "translation": "Unable to find the existing team." }, { "id": "store.sql_team.get_by_name.app_error", - "translation": "Unable to find the existing team" + "translation": "Unable to find the existing team." }, { "id": "store.sql_team.get_by_name.missing.app_error", - "translation": "Unable to find the existing team" + "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" + "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" + "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" + "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" + "translation": "Unable to count the team members." }, { "id": "store.sql_team.get_members.app_error", - "translation": "Unable to get the team members" + "translation": "Unable to get the team members." }, { "id": "store.sql_team.get_members_by_ids.app_error", - "translation": "Unable to get the team members" + "translation": "Unable to get the team members." }, { "id": "store.sql_team.get_unread.app_error", - "translation": "Unable to get the teams unread messages" + "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" + "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" + "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" + "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" + "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" + "translation": "Failed to update the team member." }, { "id": "store.sql_team.permanent_delete.app_error", - "translation": "Unable to delete the existing team" + "translation": "Unable to delete the existing team." }, { "id": "store.sql_team.remove_member.app_error", - "translation": "Unable to remove the team member" + "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" + "translation": "We could not reset the team schemes." }, { "id": "store.sql_team.save.app_error", - "translation": "Unable to save the team" + "translation": "Unable to save the team." }, { "id": "store.sql_team.save.domain_exists.app_error", - "translation": "A team with that name already exists" + "translation": "A team with that name already exists." }, { "id": "store.sql_team.save.existing.app_error", - "translation": "Must call update for existing team" + "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" + "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" + "translation": "Unable to save the team member." }, { "id": "store.sql_team.search_all_team.app_error", - "translation": "We encountered an error searching teams" + "translation": "We encountered an error searching teams." }, { "id": "store.sql_team.search_open_team.app_error", - "translation": "We encountered an error searching open teams" + "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" + "translation": "We encountered an error searching private teams." }, { "id": "store.sql_team.update.app_error", - "translation": "Unable to update the team" + "translation": "Unable to update the team." }, { "id": "store.sql_team.update.find.app_error", - "translation": "Unable to find the existing team to update" + "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" + "translation": "We encountered an error finding the team." }, { "id": "store.sql_team.update.updating.app_error", - "translation": "We encountered an error updating the team" + "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" + "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" + "translation": "Unable to determine if the user belongs to a list of teams." }, { "id": "store.sql_terms_of_service.save.app_error", @@ -7108,63 +7108,63 @@ }, { "id": "store.sql_user.analytics_daily_active_users.app_error", - "translation": "Unable to get the active users during the requested period" + "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" + "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" + "translation": "Unable to get the system admin count." }, { "id": "store.sql_user.app_error", - "translation": "Failed to build query" + "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" + "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" + "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" + "translation": "Failed to retrieve the users." }, { "id": "store.sql_user.clear_all_custom_role_assignments.update.app_error", - "translation": "Failed to update the user" + "translation": "Failed to update the user." }, { "id": "store.sql_user.count.app_error", - "translation": "UserCountOptions don't make sense" + "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" + "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" + "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" + "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" + "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" + "translation": "Failed to update the user." }, { "id": "store.sql_user.get.app_error", - "translation": "We encountered an error finding the account" + "translation": "We encountered an error finding the account." }, { "id": "store.sql_user.get_by_auth.missing_account.app_error", @@ -7188,23 +7188,23 @@ }, { "id": "store.sql_user.get_new_users.app_error", - "translation": "We encountered an error while finding the new users" + "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" + "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" + "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" + "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" + "translation": "We encountered an error while finding user profiles." }, { "id": "store.sql_user.get_system_install_date.app_error", @@ -7212,27 +7212,27 @@ }, { "id": "store.sql_user.get_total_users_count.app_error", - "translation": "We could not count the users" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to get the users batch for indexing." }, { "id": "store.sql_user.missing_account.const", @@ -7240,27 +7240,27 @@ }, { "id": "store.sql_user.permanent_delete.app_error", - "translation": "Unable to delete the existing account" + "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" + "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" + "translation": "Failed to commit the database transaction." }, { "id": "store.sql_user.promote_guest.open_transaction.app_error", - "translation": "Failed to begin the database transaction" + "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" + "translation": "Failed to update the user teams memberships." }, { "id": "store.sql_user.promote_guest.user_update.app_error", - "translation": "Failed to update the user" + "translation": "Failed to update the user." }, { "id": "store.sql_user.save.app_error", @@ -7280,7 +7280,7 @@ }, { "id": "store.sql_user.save.existing.app_error", - "translation": "Must call update for existing user" + "translation": "Must call update for existing user." }, { "id": "store.sql_user.save.max_accounts.app_error", @@ -7288,7 +7288,7 @@ }, { "id": "store.sql_user.save.member_count.app_error", - "translation": "Failed to get current team member count" + "translation": "Failed to get current team member count." }, { "id": "store.sql_user.save.username_exists.app_error", @@ -7304,15 +7304,15 @@ }, { "id": "store.sql_user.search.app_error", - "translation": "Unable to find any user matching the search parameters" + "translation": "Unable to find any user matching the search parameters." }, { "id": "store.sql_user.update.app_error", - "translation": "Unable to update the account" + "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" + "translation": "Can not change fields set by AD/LDAP." }, { "id": "store.sql_user.update.email_taken.app_error", @@ -7320,15 +7320,15 @@ }, { "id": "store.sql_user.update.find.app_error", - "translation": "Unable to find the existing account to update" + "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" + "translation": "We encountered an error finding the account." }, { "id": "store.sql_user.update.updating.app_error", - "translation": "We encountered an error updating the account" + "translation": "We encountered an error updating the account." }, { "id": "store.sql_user.update.username_taken.app_error", @@ -7336,15 +7336,15 @@ }, { "id": "store.sql_user.update_active_for_multiple_users.getting_changed_users.app_error", - "translation": "Unable to get the list of deactivate guests ids" + "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" + "translation": "Unable to deactivate guests." }, { "id": "store.sql_user.update_auth_data.app_error", - "translation": "Unable to update the auth data" + "translation": "Unable to update the auth data." }, { "id": "store.sql_user.update_auth_data.email_exists.app_error", @@ -7352,67 +7352,67 @@ }, { "id": "store.sql_user.update_failed_pwd_attempts.app_error", - "translation": "Unable to update the failed_attempts" + "translation": "Unable to update the failed_attempts." }, { "id": "store.sql_user.update_last_picture_update.app_error", - "translation": "Unable to update the update_at" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to update verify email field." }, { "id": "store.sql_user_access_token.delete.app_error", - "translation": "Unable to delete the personal access token" + "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" + "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" + "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" + "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" + "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" + "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" + "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" + "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" + "translation": "Unable to enable the access token." }, { "id": "store.sql_user_terms_of_service.delete.app_error", @@ -7432,83 +7432,83 @@ }, { "id": "store.sql_webhooks.analytics_incoming_count.app_error", - "translation": "Unable to count the incoming webhooks" + "translation": "Unable to count the incoming webhooks." }, { "id": "store.sql_webhooks.analytics_outgoing_count.app_error", - "translation": "Unable to count the outgoing webhooks" + "translation": "Unable to count the outgoing webhooks." }, { "id": "store.sql_webhooks.delete_incoming.app_error", - "translation": "Unable to delete the webhook" + "translation": "Unable to delete the webhook." }, { "id": "store.sql_webhooks.delete_outgoing.app_error", - "translation": "Unable to delete the webhook" + "translation": "Unable to delete the webhook." }, { "id": "store.sql_webhooks.get_incoming.app_error", - "translation": "Unable to get the webhook" + "translation": "Unable to get the webhook." }, { "id": "store.sql_webhooks.get_incoming_by_channel.app_error", - "translation": "Unable to get the webhooks" + "translation": "Unable to get the webhooks." }, { "id": "store.sql_webhooks.get_incoming_by_user.app_error", - "translation": "Unable to get the webhook" + "translation": "Unable to get the webhook." }, { "id": "store.sql_webhooks.get_outgoing.app_error", - "translation": "Unable to get the webhook" + "translation": "Unable to get the webhook." }, { "id": "store.sql_webhooks.get_outgoing_by_channel.app_error", - "translation": "Unable to get the webhooks" + "translation": "Unable to get the webhooks." }, { "id": "store.sql_webhooks.get_outgoing_by_team.app_error", - "translation": "Unable to get the webhooks" + "translation": "Unable to get the webhooks." }, { "id": "store.sql_webhooks.permanent_delete_incoming_by_channel.app_error", - "translation": "Unable to delete the webhook" + "translation": "Unable to delete the webhook." }, { "id": "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", - "translation": "Unable to delete the webhook" + "translation": "Unable to delete the webhook." }, { "id": "store.sql_webhooks.permanent_delete_outgoing_by_channel.app_error", - "translation": "Unable to delete the webhook" + "translation": "Unable to delete the webhook." }, { "id": "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", - "translation": "Unable to delete the webhook" + "translation": "Unable to delete the webhook." }, { "id": "store.sql_webhooks.save_incoming.app_error", - "translation": "Unable to save the IncomingWebhook" + "translation": "Unable to save the IncomingWebhook." }, { "id": "store.sql_webhooks.save_incoming.existing.app_error", - "translation": "You cannot overwrite an existing IncomingWebhook" + "translation": "You cannot overwrite an existing IncomingWebhook." }, { "id": "store.sql_webhooks.save_outgoing.app_error", - "translation": "Unable to save the OutgoingWebhook" + "translation": "Unable to save the OutgoingWebhook." }, { "id": "store.sql_webhooks.save_outgoing.override.app_error", - "translation": "You cannot overwrite an existing OutgoingWebhook" + "translation": "You cannot overwrite an existing OutgoingWebhook." }, { "id": "store.sql_webhooks.update_incoming.app_error", - "translation": "Unable to update the IncomingWebhook" + "translation": "Unable to update the IncomingWebhook." }, { "id": "store.sql_webhooks.update_outgoing.app_error", - "translation": "Unable to update the webhook" + "translation": "Unable to update the webhook." }, { "id": "store.update_error", @@ -7544,19 +7544,19 @@ }, { "id": "utils.mail.connect_smtp.helo.app_error", - "translation": "Failed to set HELO" + "translation": "Failed to set HELO." }, { "id": "utils.mail.connect_smtp.open.app_error", - "translation": "Failed to open connection" + "translation": "Failed to open connection." }, { "id": "utils.mail.connect_smtp.open_tls.app_error", - "translation": "Failed to open TLS connection" + "translation": "Failed to open TLS connection." }, { "id": "utils.mail.new_client.auth.app_error", - "translation": "Failed to authenticate on SMTP server" + "translation": "Failed to authenticate on SMTP server." }, { "id": "utils.mail.sendMail.attachments.write_error", @@ -7564,7 +7564,7 @@ }, { "id": "utils.mail.send_mail.close.app_error", - "translation": "Failed to close connection to SMTP server" + "translation": "Failed to close connection to SMTP server." }, { "id": "utils.mail.send_mail.from_address.app_error", @@ -7572,27 +7572,27 @@ }, { "id": "utils.mail.send_mail.msg.app_error", - "translation": "Failed to write email message" + "translation": "Failed to write email message." }, { "id": "utils.mail.send_mail.msg_data.app_error", - "translation": "Failed to add email message data" + "translation": "Failed to add email message data." }, { "id": "utils.mail.send_mail.to_address.app_error", - "translation": "Error setting \"To Address\"" + "translation": "Error setting \"To Address\"." }, { "id": "web.command_webhook.command.app_error", - "translation": "Couldn't find the command" + "translation": "Couldn't find the command." }, { "id": "web.command_webhook.invalid.app_error", - "translation": "Invalid webhook" + "translation": "Invalid webhook." }, { "id": "web.command_webhook.parse.app_error", - "translation": "Unable to parse incoming data" + "translation": "Unable to parse incoming data." }, { "id": "web.error.unsupported_browser.browser_get_latest.chrome", @@ -7696,11 +7696,11 @@ }, { "id": "web.incoming_webhook.channel.app_error", - "translation": "Couldn't find the channel" + "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" + "translation": "This webhook is not permitted to post to the requested channel." }, { "id": "web.incoming_webhook.disabled.app_error", @@ -7708,15 +7708,15 @@ }, { "id": "web.incoming_webhook.invalid.app_error", - "translation": "Invalid webhook" + "translation": "Invalid webhook." }, { "id": "web.incoming_webhook.parse.app_error", - "translation": "Unable to parse incoming data" + "translation": "Unable to parse incoming data." }, { "id": "web.incoming_webhook.permissions.app_error", - "translation": "Inappropriate channel permissions" + "translation": "Inappropriate channel permissions." }, { "id": "web.incoming_webhook.split_props_length.app_error", @@ -7724,10 +7724,10 @@ }, { "id": "web.incoming_webhook.text.app_error", - "translation": "No text specified" + "translation": "No text specified." }, { "id": "web.incoming_webhook.user.app_error", - "translation": "Couldn't find the user" + "translation": "Couldn't find the user." } ]