From 90abd76d3fe4cf1ad88a74cf77eb3ec2b18a7198 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Wed, 10 Jan 2018 14:22:51 -0500 Subject: [PATCH 1/4] PLT-8522 Added separate messages for being removed from channel or team (#8078) --- app/channel.go | 10 +++++----- app/team.go | 20 +++++++++++++++++++- model/post.go | 12 +++++++----- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/app/channel.go b/app/channel.go index d37f681bb5..3480d5b0e0 100644 --- a/app/channel.go +++ b/app/channel.go @@ -68,7 +68,7 @@ func (a *App) JoinDefaultChannels(teamId string, user *model.User, channelRole s l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err) } } else { - if err := a.PostAddToTeamMessage(requestor, user, townSquare, ""); err != nil { + if err := a.postAddToTeamMessage(requestor, user, townSquare, ""); err != nil { l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err) } } @@ -1058,7 +1058,7 @@ func (a *App) PostAddToChannelMessage(user *model.User, addedUser *model.User, c return nil } -func (a *App) PostAddToTeamMessage(user *model.User, addedUser *model.User, channel *model.Channel, postRootId string) *model.AppError { +func (a *App) postAddToTeamMessage(user *model.User, addedUser *model.User, channel *model.Channel, postRootId string) *model.AppError { post := &model.Post{ ChannelId: channel.Id, Message: fmt.Sprintf(utils.T("api.team.add_user_to_team.added"), addedUser.Username, user.Username), @@ -1078,10 +1078,10 @@ func (a *App) PostAddToTeamMessage(user *model.User, addedUser *model.User, chan return nil } -func (a *App) PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel) *model.AppError { +func (a *App) postRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel) *model.AppError { post := &model.Post{ ChannelId: channel.Id, - Message: fmt.Sprintf(utils.T("api.team.remove_user_from_team.removed"), removedUser.Username), + Message: fmt.Sprintf(utils.T("api.channel.remove_member.removed"), removedUser.Username), Type: model.POST_REMOVE_FROM_CHANNEL, UserId: removerUserId, Props: model.StringInterface{ @@ -1149,7 +1149,7 @@ func (a *App) RemoveUserFromChannel(userIdToRemove string, removerUserId string, a.postLeaveChannelMessage(user, channel) } else { a.Go(func() { - a.PostRemoveFromChannelMessage(removerUserId, user, channel) + a.postRemoveFromChannelMessage(removerUserId, user, channel) }) } diff --git a/app/team.go b/app/team.go index 00808b200a..b12904ab37 100644 --- a/app/team.go +++ b/app/team.go @@ -621,7 +621,7 @@ func (a *App) LeaveTeam(team *model.Team, user *model.User, requestorId string) l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err) } } else { - if err := a.PostRemoveFromChannelMessage(user.Id, user, channel); err != nil { + if err := a.postRemoveFromTeamMessage(user, channel); err != nil { l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err) } } @@ -672,6 +672,24 @@ func (a *App) postLeaveTeamMessage(user *model.User, channel *model.Channel) *mo return nil } +func (a *App) postRemoveFromTeamMessage(user *model.User, channel *model.Channel) *model.AppError { + post := &model.Post{ + ChannelId: channel.Id, + Message: fmt.Sprintf(utils.T("api.team.remove_user_from_team.removed"), user.Username), + Type: model.POST_REMOVE_FROM_TEAM, + UserId: user.Id, + Props: model.StringInterface{ + "removedUsername": user.Username, + }, + } + + if _, err := a.CreatePost(post, channel, false); err != nil { + return model.NewAppError("postRemoveFromTeamMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error(), http.StatusInternalServerError) + } + + return nil +} + func (a *App) InviteNewUsersToTeam(emailList []string, teamId, senderId string) *model.AppError { if len(emailList) == 0 { err := model.NewAppError("InviteNewUsersToTeam", "api.team.invite_members.no_one.app_error", nil, "", http.StatusBadRequest) diff --git a/model/post.go b/model/post.go index 3873e61133..6b282fbfa3 100644 --- a/model/post.go +++ b/model/post.go @@ -24,8 +24,9 @@ const ( POST_LEAVE_TEAM = "system_leave_team" POST_ADD_REMOVE = "system_add_remove" // Deprecated, use POST_ADD_TO_CHANNEL or POST_REMOVE_FROM_CHANNEL instead POST_ADD_TO_CHANNEL = "system_add_to_channel" - POST_ADD_TO_TEAM = "system_add_to_team" POST_REMOVE_FROM_CHANNEL = "system_remove_from_channel" + POST_ADD_TO_TEAM = "system_add_to_team" + POST_REMOVE_FROM_TEAM = "system_remove_from_team" POST_HEADER_CHANGE = "system_header_change" POST_DISPLAYNAME_CHANGE = "system_displayname_change" POST_PURPOSE_CHANGE = "system_purpose_change" @@ -177,11 +178,12 @@ func (o *Post) IsValid() *AppError { POST_ADD_REMOVE, POST_JOIN_CHANNEL, POST_LEAVE_CHANNEL, - POST_LEAVE_TEAM, - POST_REMOVE_FROM_CHANNEL, - POST_ADD_TO_CHANNEL, - POST_ADD_TO_TEAM, POST_JOIN_TEAM, + POST_LEAVE_TEAM, + POST_ADD_TO_CHANNEL, + POST_REMOVE_FROM_CHANNEL, + POST_ADD_TO_TEAM, + POST_REMOVE_FROM_TEAM, POST_SLACK_ATTACHMENT, POST_HEADER_CHANGE, POST_PURPOSE_CHANGE, From ae7732871420459c426268be61aa3ffda5db73c9 Mon Sep 17 00:00:00 2001 From: Jason Blais Date: Wed, 10 Jan 2018 21:50:22 -0500 Subject: [PATCH 2/4] Update diagnostics.go for 4.6 release (#8082) * Update diagnostics.go * Fix formatting error --- app/diagnostics.go | 67 +++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 27 deletions(-) diff --git a/app/diagnostics.go b/app/diagnostics.go index e19be15c62..c427578d7a 100644 --- a/app/diagnostics.go +++ b/app/diagnostics.go @@ -237,6 +237,8 @@ func (a *App) trackConfig() { "enable_post_search": *cfg.ServiceSettings.EnablePostSearch, "enable_user_statuses": *cfg.ServiceSettings.EnableUserStatuses, "close_unused_direct_messages": *cfg.ServiceSettings.CloseUnusedDirectMessages, + "enable_preview_features": *cfg.ServiceSettings.EnablePreviewFeatures, + "enable_tutorial": *cfg.ServiceSettings.EnableTutorial, }) SendDiagnostic(TRACK_CONFIG_TEAM, map[string]interface{}{ @@ -264,6 +266,7 @@ func (a *App) trackConfig() { "restrict_private_channel_manage_members": *cfg.TeamSettings.RestrictPrivateChannelManageMembers, "enable_X_to_leave_channels_from_LHS": *cfg.TeamSettings.EnableXToLeaveChannelsFromLHS, "experimental_town_square_is_read_only": *cfg.TeamSettings.ExperimentalTownSquareIsReadOnly, + "experimental_primary_team": isDefault(*cfg.TeamSettings.ExperimentalPrimaryTeam, ""), }) SendDiagnostic(TRACK_CONFIG_CLIENT_REQ, map[string]interface{}{ @@ -322,6 +325,7 @@ func (a *App) trackConfig() { "enable_sign_in_with_username": *cfg.EmailSettings.EnableSignInWithUsername, "require_email_verification": cfg.EmailSettings.RequireEmailVerification, "send_email_notifications": cfg.EmailSettings.SendEmailNotifications, + "use_channel_in_email_notifications": *cfg.EmailSettings.UseChannelInEmailNotifications, "email_notification_contents_type": *cfg.EmailSettings.EmailNotificationContentsType, "enable_smtp_auth": *cfg.EmailSettings.EnableSMTPAuth, "connection_security": cfg.EmailSettings.ConnectionSecurity, @@ -334,6 +338,9 @@ func (a *App) trackConfig() { "isdefault_feedback_email": isDefault(cfg.EmailSettings.FeedbackEmail, ""), "isdefault_feedback_organization": isDefault(*cfg.EmailSettings.FeedbackOrganization, model.EMAIL_SETTINGS_DEFAULT_FEEDBACK_ORGANIZATION), "skip_server_certificate_verification": *cfg.EmailSettings.SkipServerCertificateVerification, + "isdefault_login_button_color": isDefault(*cfg.EmailSettings.LoginButtonColor, ""), + "isdefault_login_button_border_color": isDefault(*cfg.EmailSettings.LoginButtonBorderColor, ""), + "isdefault_login_button_text_color": isDefault(*cfg.EmailSettings.LoginButtonTextColor, ""), }) SendDiagnostic(TRACK_CONFIG_RATE, map[string]interface{}{ @@ -373,21 +380,24 @@ func (a *App) trackConfig() { }) SendDiagnostic(TRACK_CONFIG_LDAP, map[string]interface{}{ - "enable": *cfg.LdapSettings.Enable, - "enable_sync": *cfg.LdapSettings.EnableSync, - "connection_security": *cfg.LdapSettings.ConnectionSecurity, - "skip_certificate_verification": *cfg.LdapSettings.SkipCertificateVerification, - "sync_interval_minutes": *cfg.LdapSettings.SyncIntervalMinutes, - "query_timeout": *cfg.LdapSettings.QueryTimeout, - "max_page_size": *cfg.LdapSettings.MaxPageSize, - "isdefault_first_name_attribute": isDefault(*cfg.LdapSettings.FirstNameAttribute, model.LDAP_SETTINGS_DEFAULT_FIRST_NAME_ATTRIBUTE), - "isdefault_last_name_attribute": isDefault(*cfg.LdapSettings.LastNameAttribute, model.LDAP_SETTINGS_DEFAULT_LAST_NAME_ATTRIBUTE), - "isdefault_email_attribute": isDefault(*cfg.LdapSettings.EmailAttribute, model.LDAP_SETTINGS_DEFAULT_EMAIL_ATTRIBUTE), - "isdefault_username_attribute": isDefault(*cfg.LdapSettings.UsernameAttribute, model.LDAP_SETTINGS_DEFAULT_USERNAME_ATTRIBUTE), - "isdefault_nickname_attribute": isDefault(*cfg.LdapSettings.NicknameAttribute, model.LDAP_SETTINGS_DEFAULT_NICKNAME_ATTRIBUTE), - "isdefault_id_attribute": isDefault(*cfg.LdapSettings.IdAttribute, model.LDAP_SETTINGS_DEFAULT_ID_ATTRIBUTE), - "isdefault_position_attribute": isDefault(*cfg.LdapSettings.PositionAttribute, model.LDAP_SETTINGS_DEFAULT_POSITION_ATTRIBUTE), - "isdefault_login_field_name": isDefault(*cfg.LdapSettings.LoginFieldName, model.LDAP_SETTINGS_DEFAULT_LOGIN_FIELD_NAME), + "enable": *cfg.LdapSettings.Enable, + "enable_sync": *cfg.LdapSettings.EnableSync, + "connection_security": *cfg.LdapSettings.ConnectionSecurity, + "skip_certificate_verification": *cfg.LdapSettings.SkipCertificateVerification, + "sync_interval_minutes": *cfg.LdapSettings.SyncIntervalMinutes, + "query_timeout": *cfg.LdapSettings.QueryTimeout, + "max_page_size": *cfg.LdapSettings.MaxPageSize, + "isdefault_first_name_attribute": isDefault(*cfg.LdapSettings.FirstNameAttribute, model.LDAP_SETTINGS_DEFAULT_FIRST_NAME_ATTRIBUTE), + "isdefault_last_name_attribute": isDefault(*cfg.LdapSettings.LastNameAttribute, model.LDAP_SETTINGS_DEFAULT_LAST_NAME_ATTRIBUTE), + "isdefault_email_attribute": isDefault(*cfg.LdapSettings.EmailAttribute, model.LDAP_SETTINGS_DEFAULT_EMAIL_ATTRIBUTE), + "isdefault_username_attribute": isDefault(*cfg.LdapSettings.UsernameAttribute, model.LDAP_SETTINGS_DEFAULT_USERNAME_ATTRIBUTE), + "isdefault_nickname_attribute": isDefault(*cfg.LdapSettings.NicknameAttribute, model.LDAP_SETTINGS_DEFAULT_NICKNAME_ATTRIBUTE), + "isdefault_id_attribute": isDefault(*cfg.LdapSettings.IdAttribute, model.LDAP_SETTINGS_DEFAULT_ID_ATTRIBUTE), + "isdefault_position_attribute": isDefault(*cfg.LdapSettings.PositionAttribute, model.LDAP_SETTINGS_DEFAULT_POSITION_ATTRIBUTE), + "isdefault_login_field_name": isDefault(*cfg.LdapSettings.LoginFieldName, model.LDAP_SETTINGS_DEFAULT_LOGIN_FIELD_NAME), + "isdefault_login_button_color": isDefault(*cfg.LdapSettings.LoginButtonColor, ""), + "isdefault_login_button_border_color": isDefault(*cfg.LdapSettings.LoginButtonBorderColor, ""), + "isdefault_login_button_text_color": isDefault(*cfg.LdapSettings.LoginButtonTextColor, ""), }) SendDiagnostic(TRACK_CONFIG_COMPLIANCE, map[string]interface{}{ @@ -402,18 +412,21 @@ func (a *App) trackConfig() { }) SendDiagnostic(TRACK_CONFIG_SAML, map[string]interface{}{ - "enable": *cfg.SamlSettings.Enable, - "enable_sync_with_ldap": *cfg.SamlSettings.EnableSyncWithLdap, - "verify": *cfg.SamlSettings.Verify, - "encrypt": *cfg.SamlSettings.Encrypt, - "isdefault_first_name_attribute": isDefault(*cfg.SamlSettings.FirstNameAttribute, model.SAML_SETTINGS_DEFAULT_FIRST_NAME_ATTRIBUTE), - "isdefault_last_name_attribute": isDefault(*cfg.SamlSettings.LastNameAttribute, model.SAML_SETTINGS_DEFAULT_LAST_NAME_ATTRIBUTE), - "isdefault_email_attribute": isDefault(*cfg.SamlSettings.EmailAttribute, model.SAML_SETTINGS_DEFAULT_EMAIL_ATTRIBUTE), - "isdefault_username_attribute": isDefault(*cfg.SamlSettings.UsernameAttribute, model.SAML_SETTINGS_DEFAULT_USERNAME_ATTRIBUTE), - "isdefault_nickname_attribute": isDefault(*cfg.SamlSettings.NicknameAttribute, model.SAML_SETTINGS_DEFAULT_NICKNAME_ATTRIBUTE), - "isdefault_locale_attribute": isDefault(*cfg.SamlSettings.LocaleAttribute, model.SAML_SETTINGS_DEFAULT_LOCALE_ATTRIBUTE), - "isdefault_position_attribute": isDefault(*cfg.SamlSettings.PositionAttribute, model.SAML_SETTINGS_DEFAULT_POSITION_ATTRIBUTE), - "isdefault_login_button_text": isDefault(*cfg.SamlSettings.LoginButtonText, model.USER_AUTH_SERVICE_SAML_TEXT), + "enable": *cfg.SamlSettings.Enable, + "enable_sync_with_ldap": *cfg.SamlSettings.EnableSyncWithLdap, + "verify": *cfg.SamlSettings.Verify, + "encrypt": *cfg.SamlSettings.Encrypt, + "isdefault_first_name_attribute": isDefault(*cfg.SamlSettings.FirstNameAttribute, model.SAML_SETTINGS_DEFAULT_FIRST_NAME_ATTRIBUTE), + "isdefault_last_name_attribute": isDefault(*cfg.SamlSettings.LastNameAttribute, model.SAML_SETTINGS_DEFAULT_LAST_NAME_ATTRIBUTE), + "isdefault_email_attribute": isDefault(*cfg.SamlSettings.EmailAttribute, model.SAML_SETTINGS_DEFAULT_EMAIL_ATTRIBUTE), + "isdefault_username_attribute": isDefault(*cfg.SamlSettings.UsernameAttribute, model.SAML_SETTINGS_DEFAULT_USERNAME_ATTRIBUTE), + "isdefault_nickname_attribute": isDefault(*cfg.SamlSettings.NicknameAttribute, model.SAML_SETTINGS_DEFAULT_NICKNAME_ATTRIBUTE), + "isdefault_locale_attribute": isDefault(*cfg.SamlSettings.LocaleAttribute, model.SAML_SETTINGS_DEFAULT_LOCALE_ATTRIBUTE), + "isdefault_position_attribute": isDefault(*cfg.SamlSettings.PositionAttribute, model.SAML_SETTINGS_DEFAULT_POSITION_ATTRIBUTE), + "isdefault_login_button_text": isDefault(*cfg.SamlSettings.LoginButtonText, model.USER_AUTH_SERVICE_SAML_TEXT), + "isdefault_login_button_color": isDefault(*cfg.SamlSettings.LoginButtonColor, ""), + "isdefault_login_button_border_color": isDefault(*cfg.SamlSettings.LoginButtonBorderColor, ""), + "isdefault_login_button_text_color": isDefault(*cfg.SamlSettings.LoginButtonTextColor, ""), }) SendDiagnostic(TRACK_CONFIG_CLUSTER, map[string]interface{}{ From 58defb7424773c75718f0173f4ace702cffa4f0e Mon Sep 17 00:00:00 2001 From: enahum Date: Fri, 12 Jan 2018 16:08:34 -0300 Subject: [PATCH 3/4] translations PR 20180109 (#8069) * translations PR 20180109 * Fix french translation --- i18n/de.json | 16 ++++++- i18n/en.json | 16 +++---- i18n/es.json | 14 +++++- i18n/fr.json | 120 ++++++++++++++++++++++++++---------------------- i18n/it.json | 14 +++++- i18n/ja.json | 14 +++++- i18n/ko.json | 16 ++++++- i18n/nl.json | 14 +++++- i18n/pl.json | 14 +++++- i18n/pt-BR.json | 18 ++++++-- i18n/ru.json | 14 +++++- i18n/tr.json | 14 +++++- i18n/zh-CN.json | 14 +++++- i18n/zh-TW.json | 14 +++++- 14 files changed, 234 insertions(+), 78 deletions(-) diff --git a/i18n/de.json b/i18n/de.json index 77556183f4..3c8e41934d 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -1421,9 +1421,13 @@ "translation": "Fehler beim Setzen der E-Mail-Adresse als geprüft err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Eingehende Webhooks wurden vom Systemadministrator deaktiviert." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Ungültiger Benutzername." + }, { "id": "api.ldap.init.debug", "translation": "Initialisiere LDAP-API-Routen" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Ungültiger Titel" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Ungültiges Nachrichtensymbol" + }, { "id": "model.incoming_hook.id.app_error", "translation": "Ungültige ID" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Ungültige Benutzer-ID" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Ungültiger Benutzername" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Erstellt am muss eine gültige Zeit sein" @@ -5840,7 +5852,7 @@ }, { "id": "store.sql_channel_member_history.permanent_delete_batch.app_error", - "translation": "Konnte Datensätze nicht säubern" + "translation": "Konnte Datensätze nicht leeren" }, { "id": "store.sql_command.analytics_command_count.app_error", diff --git a/i18n/en.json b/i18n/en.json index 405ee49f15..856d6a1c7b 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -4978,18 +4978,14 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Invalid title" }, - { - "id": "model.incoming_hook.id.app_error", - "translation": "Invalid Id" - }, - { - "id": "model.incoming_hook.username.app_error", - "translation": "Invalid username" - }, { "id": "model.incoming_hook.icon_url.app_error", "translation": "Invalid post icon" }, + { + "id": "model.incoming_hook.id.app_error", + "translation": "Invalid Id" + }, { "id": "model.incoming_hook.team_id.app_error", "translation": "Invalid team ID" @@ -5002,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Invalid user id" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Invalid username" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Create at must be a valid time" diff --git a/i18n/es.json b/i18n/es.json index f959205634..b8d4c2f6a1 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -1421,9 +1421,13 @@ "translation": "Falla al asignar el correo como verificado err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Webhooks entrantes han sido deshabilitados por el administrador del sistema." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Nombre de usuario no válido." + }, { "id": "api.ldap.init.debug", "translation": "Inicializando rutas del API para LDAP" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Título inválido" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Icono del mensaje no válido" + }, { "id": "model.incoming_hook.id.app_error", "translation": "Id inválido" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Id del Usuario inválido" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Nombre de usuario no válido" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Create debe ser un tiempo válido" diff --git a/i18n/fr.json b/i18n/fr.json index 95bbdc7d92..e81b4eec51 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -253,7 +253,7 @@ }, { "id": "api.channel.delete_channel.incoming_webhook.error", - "translation": "Erreur rencontrée lors de la suppression du webhook arrivant, id=%v" + "translation": "Erreur rencontrée lors de la suppression du webhook entrant, id=%v" }, { "id": "api.channel.delete_channel.outgoing_webhook.error", @@ -701,30 +701,30 @@ }, { "id": "api.command_groupmsg.desc", - "translation": "Sends a Group Message to the specified users" + "translation": "Envoie un message de groupe aux utilisateurs spécifiés" }, { "id": "api.command_groupmsg.fail.app_error", - "translation": "Une erreur s'est produite lors de l'envoi du message à l'utilisateur." + "translation": "Une erreur s'est produite lors de l'envoi du message aux utilisateurs." }, { "id": "api.command_groupmsg.group_fail.app_error", - "translation": "Une erreur s'est produite à la création du message personnel." + "translation": "Une erreur s'est produite lors de la création du message de groupe." }, { "id": "api.command_groupmsg.hint", - "translation": "@[username1],@[username2] 'message'" + "translation": "@[nom utilisateur 1],@[nom utilisateur 2] 'message'" }, { "id": "api.command_groupmsg.invalid_user.app_error", "translation": { - "one": "We couldn't find the user: {{.Users}}", - "other": "We couldn't find the users: {{.Users}}" + "one": "Impossible de trouver l'utilisateur : {{.Users}}", + "other": "Impossible de trouver les utilisateurs : {{.Users}}" } }, { "id": "api.command_groupmsg.invalid_users.app_error", - "translation": "Utilisateur introuvable" + "translation": "Impossible de trouver les utilisateurs : %s" }, { "id": "api.command_groupmsg.list.app_error", @@ -732,23 +732,23 @@ }, { "id": "api.command_groupmsg.max_users.app_error", - "translation": "Group messages are limited to a maximum of {{.MaxUsers}} users." + "translation": "Les messages de groupe sont limités à maximum {{.MaxUsers}} utilisateurs." }, { "id": "api.command_groupmsg.min_users.app_error", - "translation": "Group messages are limited to a minimum of {{.MinUsers}} users." + "translation": "Les messages de groupe sont limités à minimum {{.MaxUsers}} utilisateurs." }, { "id": "api.command_groupmsg.missing.app_error", - "translation": "Utilisateur introuvable" + "translation": "Impossible de trouver l'utilisateur" }, { "id": "api.command_groupmsg.name", - "translation": "[message]" + "translation": "message" }, { "id": "api.command_groupmsg.success", - "translation": "Message envoyé." + "translation": "Message envoyé aux utilisateurs." }, { "id": "api.command_help.desc", @@ -1334,7 +1334,7 @@ }, { "id": "api.file.move_file.copy_within_s3.app_error", - "translation": "Unable to copy file within S3." + "translation": "Impossible de copier le fichier dans S3." }, { "id": "api.file.move_file.delete_from_s3.app_error", @@ -1421,9 +1421,13 @@ "translation": "Impossible de marquer l'adresse e-mail comme vérifiée err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Les webhooks entrants ont été désactivés par l'administrateur système." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Nom d'utilisateur invalide." + }, { "id": "api.ldap.init.debug", "translation": "Initialisation des routes de l'API LDAP" @@ -2172,7 +2176,7 @@ }, { "id": "api.team.add_user_to_team.added", - "translation": "%v a été ajouté au canal par %v" + "translation": "%v a été ajouté à l'équipe par %v" }, { "id": "api.team.add_user_to_team.missing_parameter.app_error", @@ -2288,11 +2292,11 @@ }, { "id": "api.team.join_team.post_and_forget", - "translation": "%v joined the team." + "translation": "%v a rejoint l'équipe." }, { "id": "api.team.leave.left", - "translation": "%v left the team." + "translation": "%v a quitté l'équipe." }, { "id": "api.team.permanent_delete_team.attempting.warn", @@ -2308,7 +2312,7 @@ }, { "id": "api.team.remove_user_from_team.removed", - "translation": "%v a été retiré du canal." + "translation": "%v a été retiré de l'équipe." }, { "id": "api.team.signup_team.email_disabled.app_error", @@ -3596,15 +3600,15 @@ }, { "id": "app.plugin.id_length.app_error", - "translation": "Plugin Id must be less than {{.Max}} characters." + "translation": "L'Id de plugin doit faire moins de {{.Max}} caractères." }, { "id": "app.plugin.install.app_error", - "translation": "Unable to install plugin." + "translation": "Impossible d'installer le plugin." }, { "id": "app.plugin.install_id.app_error", - "translation": "Unable to install plugin. A plugin with the same ID is already installed." + "translation": "Impossible d'installer le plugin. Un plugin avec le même ID est déjà installé." }, { "id": "app.plugin.manifest.app_error", @@ -3612,7 +3616,7 @@ }, { "id": "app.plugin.mvdir.app_error", - "translation": "Unable to move plugin from temporary directory to final destination. Another plugin may be using the same directory name." + "translation": "Impossible de déplacer le plugin de son dossier temporaire vers sa destination finale. Il se peut qu'un autre plugin utilise le même nom de dossier." }, { "id": "app.plugin.not_installed.app_error", @@ -4052,7 +4056,7 @@ }, { "id": "ent.message_export.generic.license.error", - "translation": "License does not support Message Export." + "translation": "La licence ne supporte pas l'exportation de messages." }, { "id": "ent.metrics.starting.info", @@ -4392,19 +4396,19 @@ }, { "id": "model.channel_member_history.is_valid.channel_id.app_error", - "translation": "Id canal invalide" + "translation": "Id de canal invalide" }, { "id": "model.channel_member_history.is_valid.join_time.app_error", - "translation": "Type de tâche invalide" + "translation": "Le moment auquel l'utilisateur a rejoint le canal est invalide" }, { "id": "model.channel_member_history.is_valid.leave_time.app_error", - "translation": "Invalid leave time" + "translation": "Le moment auquel l'utilisateur a quitté le canal est invalide" }, { "id": "model.channel_member_history.is_valid.user_email.app_error", - "translation": "Id utilisateur invalide" + "translation": "E-mail utilisateur invalide" }, { "id": "model.channel_member_history.is_valid.user_id.app_error", @@ -4488,7 +4492,7 @@ }, { "id": "model.command.is_valid.display_name.app_error", - "translation": "Type invalide" + "translation": "Titre invalide" }, { "id": "model.command.is_valid.id.app_error", @@ -4780,27 +4784,27 @@ }, { "id": "model.config.is_valid.message_export.batch_size.app_error", - "translation": "Message export job BatchSize must be a positive integer" + "translation": "Le paramètre BatchSize de la tâche d'exportation de messages doit être un entier positif" }, { "id": "model.config.is_valid.message_export.daily_runtime.app_error", - "translation": "Message export job DailyRuntime must be a 24-hour time stamp in the form HH:MM." + "translation": "Le paramètre DailyRuntime de la tâche d'exportation de messages doit être un horodatage de 24 heures sous le format HH:MM." }, { "id": "model.config.is_valid.message_export.enable.app_error", - "translation": "Message export job EnableExport setting must be either true or false" + "translation": "Le paramètre EnableExport de la tâche d'exportation de messages doit être un booléen" }, { "id": "model.config.is_valid.message_export.export_from.app_error", - "translation": "Message export job ExportFromTimestamp must be a timestamp (expressed in seconds since unix epoch). Only messages sent after this timestamp will be exported." + "translation": "Le paramètre ExportFromTimestamp de la tâche d'exportation de messages doit être un horodatage (exprimé en secondes depuis l'epoch UNIX). Seuls les messages envoyés après cet horodatage seront exportés." }, { "id": "model.config.is_valid.message_export.file_location.app_error", - "translation": "Message export job FileLocation must be a writable directory that export data will be written to" + "translation": "Le paramètre FileLocation de la tâche d'exportation de messages doit être un dossier avec droits d'écriture. Il s'agit du dossier dans lequel les données seront exportées." }, { "id": "model.config.is_valid.message_export.file_location.relative", - "translation": "Message export job FileLocation must be a sub-directory of FileSettings.Directory" + "translation": "Le paramètre FileLocation de la tâche d'exportation de messages doit être un sous-dossier de FileSettings.Directory." }, { "id": "model.config.is_valid.password_length.app_error", @@ -4972,7 +4976,11 @@ }, { "id": "model.incoming_hook.display_name.app_error", - "translation": "Type invalide" + "translation": "Titre invalide" + }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Icône de message invalide" }, { "id": "model.incoming_hook.id.app_error", @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Id utilisateur invalide" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Nom d'utilisateur invalide" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Create at doit être une date valide" @@ -5064,7 +5076,7 @@ }, { "id": "model.outgoing_hook.is_valid.display_name.app_error", - "translation": "Type invalide" + "translation": "Titre invalide" }, { "id": "model.outgoing_hook.is_valid.id.app_error", @@ -5100,23 +5112,23 @@ }, { "id": "model.plugin_command.error.app_error", - "translation": "An error occurred while trying to execute this command." + "translation": "Une erreur s'est produite lors de l'exécution de cette commande." }, { "id": "model.plugin_key_value.is_valid.key.app_error", - "translation": "Invalid key, must be more than {{.Min}} and a of maximum {{.Max}} characters long." + "translation": "Clé invalide. Elle doit faire entre {{.Min}} et {{.Max}} caractères." }, { "id": "model.plugin_key_value.is_valid.key.app_error", - "translation": "Invalid key, must be more than {{.Min}} and a of maximum {{.Max}} characters long." + "translation": "Clé invalide. Elle doit faire entre {{.Min}} et {{.Max}} caractères." }, { "id": "model.plugin_key_value.is_valid.plugin_id.app_error", - "translation": "Invalid plugin ID, must be more than {{.Min}} and a of maximum {{.Max}} characters long." + "translation": "ID de plugin invalide. Il doit faire entre {{.Min}} et {{.Max}} caractères." }, { "id": "model.plugin_key_value.is_valid.plugin_id.app_error", - "translation": "Invalid plugin ID, must be more than {{.Min}} and a of maximum {{.Max}} characters long." + "translation": "ID de plugin invalide. Il doit faire entre {{.Min}} et {{.Max}} caractères." }, { "id": "model.post.is_valid.channel_id.app_error", @@ -5816,31 +5828,31 @@ }, { "id": "store.sql_channel_member_history.get_all.app_error", - "translation": "Failed to get records" + "translation": "Impossible de récupérer les enregistrements" }, { "id": "store.sql_channel_member_history.get_users_in_channel_at.app_error", - "translation": "Failed to get users in channel at specified time" + "translation": "Impossible de récupérer la liste des utilisateurs du canal à la date spécifiée" }, { "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": "Impossible de récupérer la liste des utilisateurs du canal à la période spécifiée" }, { "id": "store.sql_channel_member_history.log_join_event.app_error", - "translation": "Failed to record channel member history" + "translation": "Impossible d'enregistrer l'historique des membres du canal" }, { "id": "store.sql_channel_member_history.log_leave_event.select_error", - "translation": "Failed to record channel member history. No existing join record found" + "translation": "Impossible d'enregistrer l'historique des membres du canal. Aucun enregistrement indiquant que l'utilisateur a rejoint le canal n'a été trouvé." }, { "id": "store.sql_channel_member_history.log_leave_event.update_error", - "translation": "Failed to record channel member history. Failed to update existing join record" + "translation": "Impossible d'enregistrer l'historique des membres du canal. Impossible de mettre à jour l'enregistrement existant indiquant que l'utilisateur a rejoint le canal." }, { "id": "store.sql_channel_member_history.permanent_delete_batch.app_error", - "translation": "Failed to purge records" + "translation": "Impossible de purger les enregistrements" }, { "id": "store.sql_command.analytics_command_count.app_error", @@ -5904,7 +5916,7 @@ }, { "id": "store.sql_compliance.message_export.app_error", - "translation": "Failed to select message export data" + "translation": "Impossible de sélectionner les données d'exportation de messages" }, { "id": "store.sql_compliance.save.saving.app_error", @@ -6112,19 +6124,19 @@ }, { "id": "store.sql_plugin_store.delete.app_error", - "translation": "Could not delete plugin key value" + "translation": "Impossible de supprimer le couple clé-valeur du plugin" }, { "id": "store.sql_plugin_store.get.app_error", - "translation": "Could not get plugin key value" + "translation": "Impossible de récupérer le couple clé-valeur du plugin" }, { "id": "store.sql_plugin_store.save.app_error", - "translation": "Could not save or update plugin key value" + "translation": "Impossible de supprimer ou mettre à jour le couple clé-valeur du plugin" }, { "id": "store.sql_plugin_store.save_unique.app_error", - "translation": "Could not save or update plugin key value due to unique constraint violation" + "translation": "Impossible de supprimer ou mettre à jour le couple clé-valeur du plugin à cause d'une violation de contrainte unique." }, { "id": "store.sql_post.analytics_posts_count.app_error", diff --git a/i18n/it.json b/i18n/it.json index 7bf2c4f62e..9b68960173 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -1421,9 +1421,13 @@ "translation": "Impostazione dell email come verificata fallita err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "I webhooks in ingresso sono stati disabilitati dall'amministratore di sistema." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Nome utente non valido" + }, { "id": "api.ldap.init.debug", "translation": "Inizializzazione delle LDAP API routes" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Titolo non valido" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Id pubblicazione non valido" + }, { "id": "model.incoming_hook.id.app_error", "translation": "ID non valido" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "User id non valido" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Nome utente non valido" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Creato alle deve essere un tempo valido" diff --git a/i18n/ja.json b/i18n/ja.json index ccaab98ae3..d35f2b08fa 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -1421,9 +1421,13 @@ "translation": "電子メールを確認済みに設定できませんでした err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "内向きのウェブフックはシステム管理者によって無効にされています。" }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "不正なユーザー名です。" + }, { "id": "api.ldap.init.debug", "translation": "LDAP APIルートを初期化しています" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "不正なタイトルです" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "不正な投稿アイコンです。" + }, { "id": "model.incoming_hook.id.app_error", "translation": "不正なIDです" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "不正なユーザーIDです" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "不正なユーザー名です。" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "作成日時は有効な時刻にしてください" diff --git a/i18n/ko.json b/i18n/ko.json index 93a28a3533..599a520134 100644 --- a/i18n/ko.json +++ b/i18n/ko.json @@ -724,7 +724,7 @@ }, { "id": "api.command_groupmsg.invalid_users.app_error", - "translation": "사용자를 찾을 수 없습니다" + "translation": "사용자를 찾을 수 없습니다: %s" }, { "id": "api.command_groupmsg.list.app_error", @@ -1421,9 +1421,13 @@ "translation": "확인된 이메일로 설정하는데 실패했습니다. err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Incoming webhook은 관리자가 사용할 수 없게 설정했습니다." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "잘못된 유저이름입니다." + }, { "id": "api.ldap.init.debug", "translation": "파일 API 경로 초기화 중" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "잘못된 형식" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "잘못된 루트 아이디입니다." + }, { "id": "model.incoming_hook.id.app_error", "translation": "잘못된 Id" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "잘못된 사용자 ID" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "잘못된 유저이름입니다." + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Create at must be a valid time" diff --git a/i18n/nl.json b/i18n/nl.json index cc09754278..a6fa05b5ab 100644 --- a/i18n/nl.json +++ b/i18n/nl.json @@ -1421,9 +1421,13 @@ "translation": "Fout tijdens het instellen van e-mail verificatie. Fout=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Commando's zijn uitgeschakeld door de beheerder." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Ongeldige gebruikersnaam" + }, { "id": "api.ldap.init.debug", "translation": "Initialisatie bestand API routes" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Ongeldige type" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Ongeldig start id" + }, { "id": "model.incoming_hook.id.app_error", "translation": "Ongeldig Id" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Ongeldig gebruikers id" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Ongeldige gebruikersnaam" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Aangemaakt op moet een geldige tijd zijn" diff --git a/i18n/pl.json b/i18n/pl.json index 33c1a6ec1f..dae215db8b 100644 --- a/i18n/pl.json +++ b/i18n/pl.json @@ -1421,9 +1421,13 @@ "translation": "Nie udało się oznaczyć emaila jako zweryfikowanego err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Przychodzące webhooki zostały wyłączone przez administratora systemu." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Niepoprawna nazwa uzytkownika" + }, { "id": "api.ldap.init.debug", "translation": "Inicjalizowaine tras LDAP API" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Nieprawidłowy typ" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Nieprawidłowy identyfikator wiadomości." + }, { "id": "model.incoming_hook.id.app_error", "translation": "Nieprawidłowy identyfikator" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Nieprawidłowe ID użytkownika" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Niepoprawna nazwa uzytkownika" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Utworzono dnia musi zawierać prawidłowy czas" diff --git a/i18n/pt-BR.json b/i18n/pt-BR.json index ddaef30060..3691416077 100644 --- a/i18n/pt-BR.json +++ b/i18n/pt-BR.json @@ -1421,9 +1421,13 @@ "translation": "Não foi possível definir email verificado err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Nome do usuário inválido" + }, { "id": "api.ldap.init.debug", "translation": "Inicializando as rotas de API de LDAP" @@ -2288,7 +2292,7 @@ }, { "id": "api.team.join_team.post_and_forget", - "translation": "%v joined the team." + "translation": "%v entrou na equipe." }, { "id": "api.team.leave.left", @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Título inválido" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Ícone de postagem inválido" + }, { "id": "model.incoming_hook.id.app_error", "translation": "ID inválida" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Id de usuário inválido" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Nome do usuário inválido" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Create at deve ser uma data válida" @@ -5100,7 +5112,7 @@ }, { "id": "model.plugin_command.error.app_error", - "translation": "An error occurred while trying to execute this command." + "translation": "Um erro aconteceu enquanto tentava executar este comando." }, { "id": "model.plugin_key_value.is_valid.key.app_error", diff --git a/i18n/ru.json b/i18n/ru.json index 769cc64163..6291a8cafb 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -1421,9 +1421,13 @@ "translation": "Не удалось проверить адрес электронной почты err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Входящие вебхуки были отключены системным администратором." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Неверное имя пользователя" + }, { "id": "api.ldap.init.debug", "translation": "Инициализация маршрутов LDAP API" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Недопустимый тип" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Неверный идентификатор сообщения" + }, { "id": "model.incoming_hook.id.app_error", "translation": "Некорректный идентификатор" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Некорректный идентификатор пользователя" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Неверное имя пользователя" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Create at должно быть корректным временем" diff --git a/i18n/tr.json b/i18n/tr.json index bb58c9d4ed..987adbcab0 100644 --- a/i18n/tr.json +++ b/i18n/tr.json @@ -1421,9 +1421,13 @@ "translation": "E-posta doğrulanmış olarak ayarlanamadı. Hata: %v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "Gelen web bağlantıları sistem yöneticisi tarafından devre dışı bırakılmış." }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "Kullanıcı adı geçersiz." + }, { "id": "api.ldap.init.debug", "translation": "LDAP API rotaları hazırlanıyor" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "Başlık geçersiz" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "İleti simgesi geçersiz" + }, { "id": "model.incoming_hook.id.app_error", "translation": "Kod geçersiz" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "Kullanıcı kodu geçersiz" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "Kullanıcı adı geçersiz" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "Oluşturulma zamanı geçerli bir zaman olmalıdır" diff --git a/i18n/zh-CN.json b/i18n/zh-CN.json index f772c34d4c..dec0da4649 100644 --- a/i18n/zh-CN.json +++ b/i18n/zh-CN.json @@ -1421,9 +1421,13 @@ "translation": "设置电子邮件验证失败 err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "传入的 webhooks 已被系统管理员禁用。" }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "无效用户名。" + }, { "id": "api.ldap.init.debug", "translation": "正在初始化LDAP API 路由" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "无效的标题" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "无效消息图标" + }, { "id": "model.incoming_hook.id.app_error", "translation": "无效Id" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "无效用户id" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "无效用户名" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "创建于必须为有效时间" diff --git a/i18n/zh-TW.json b/i18n/zh-TW.json index 927ef6ffdb..9b3af5d760 100644 --- a/i18n/zh-TW.json +++ b/i18n/zh-TW.json @@ -1421,9 +1421,13 @@ "translation": "設定電子郵件為已驗證時失敗 err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", + "id": "api.incoming_webhook.disabled.app_error", "translation": "傳入的 Webhook 已被系統管理員停用。" }, + { + "id": "api.incoming_webhook.invalid_username.app_error", + "translation": "無效的使用者名稱。" + }, { "id": "api.ldap.init.debug", "translation": "正在初始化 LDAP API 路徑" @@ -4974,6 +4978,10 @@ "id": "model.incoming_hook.display_name.app_error", "translation": "無效的標題" }, + { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "無效的文章圖示" + }, { "id": "model.incoming_hook.id.app_error", "translation": "無效的 ID" @@ -4990,6 +4998,10 @@ "id": "model.incoming_hook.user_id.app_error", "translation": "無效的使用者 ID" }, + { + "id": "model.incoming_hook.username.app_error", + "translation": "無效的使用者名稱" + }, { "id": "model.job.is_valid.create_at.app_error", "translation": "\"新增時間\"必須是一個有效時間" From 2bdd44cce9dc922959dcf51d329a0039eba8debd Mon Sep 17 00:00:00 2001 From: enahum Date: Sun, 21 Jan 2018 18:27:59 -0300 Subject: [PATCH 4/4] translations PR 20180115 (#8107) --- i18n/fr.json | 16 ++++++++-------- i18n/it.json | 6 +++--- i18n/ru.json | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/i18n/fr.json b/i18n/fr.json index e81b4eec51..d0a27dcee2 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -185,11 +185,11 @@ }, { "id": "api.channel.can_manage_channel.private_restricted_system_admin.app_error", - "translation": "La gestion et la création de canaux privés sont réservés aux administrateurs systèmes." + "translation": "La gestion et la création de canaux privés sont réservés aux administrateurs système." }, { "id": "api.channel.can_manage_channel.private_restricted_team_admin.app_error", - "translation": "La gestion et la création de canaux privés sont réservés aux administrateurs d'équipes et administrateurs systèmes." + "translation": "La gestion et la création de canaux privés sont réservés aux administrateurs d'équipe et administrateurs système." }, { "id": "api.channel.can_manage_channel.public_restricted_system_admin.app_error", @@ -197,7 +197,7 @@ }, { "id": "api.channel.can_manage_channel.public_restricted_team_admin.app_error", - "translation": "La création et l'administration du canal public sont réservées aux administrateurs systèmes et administrateurs d'équipe." + "translation": "La gestion et la création de canaux publics sont réservés aux administrateurs système et administrateurs d'équipe." }, { "id": "api.channel.create_channel.direct_channel.app_error", @@ -1772,11 +1772,11 @@ }, { "id": "api.post.make_direct_channel_visible.save_pref.error", - "translation": "Échec de la sauvegarde des préférences du canal direct user_id=%v other_user_id=%v err=%v" + "translation": "Impossible de sauvegarder les préférences du canal de messages personnels user_id=%v other_user_id=%v err=%v" }, { "id": "api.post.make_direct_channel_visible.update_pref.error", - "translation": "Échec de la mise à jour des préférences du canal direct user_id=%v other_user_id=%v err=%v" + "translation": "Impossible de mettre à jour les préférences du canal de messages personnels user_id=%v other_user_id=%v err=%v" }, { "id": "api.post.notification.member_profile.warn", @@ -5732,7 +5732,7 @@ }, { "id": "store.sql_channel.save.direct_channel.app_error", - "translation": "Utilisez SaveDirectChannel pour créer un canal direct" + "translation": "Utilisez SaveDirectChannel pour créer un canal de messages personnels" }, { "id": "store.sql_channel.save.open_transaction.app_error", @@ -5764,7 +5764,7 @@ }, { "id": "store.sql_channel.save_direct_channel.add_members.app_error", - "translation": "Impossible d'ajouter des membres au canal direct" + "translation": "Impossible d'ajouter des membres au canal de messages personnels" }, { "id": "store.sql_channel.save_direct_channel.commit.app_error", @@ -6588,7 +6588,7 @@ }, { "id": "store.sql_user.analytics_get_system_admin_count.app_error", - "translation": "Impossible de récupérer le nombre d'administrateurs systèmes" + "translation": "Impossible de récupérer le nombre d'administrateurs système" }, { "id": "store.sql_user.analytics_unique_user_count.app_error", diff --git a/i18n/it.json b/i18n/it.json index 9b68960173..cd5c53b4cb 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -1422,11 +1422,11 @@ }, { "id": "api.incoming_webhook.disabled.app_error", - "translation": "I webhooks in ingresso sono stati disabilitati dall'amministratore di sistema." + "translation": "I webhook in ingresso sono stati disabilitati dall'amministratore di sistema." }, { "id": "api.incoming_webhook.invalid_username.app_error", - "translation": "Nome utente non valido" + "translation": "Nome utente non valido." }, { "id": "api.ldap.init.debug", @@ -4980,7 +4980,7 @@ }, { "id": "model.incoming_hook.icon_url.app_error", - "translation": "Id pubblicazione non valido" + "translation": "Icona pubblicazione non valida" }, { "id": "model.incoming_hook.id.app_error", diff --git a/i18n/ru.json b/i18n/ru.json index 6291a8cafb..1459f161da 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -2292,11 +2292,11 @@ }, { "id": "api.team.join_team.post_and_forget", - "translation": "%v joined the team." + "translation": "%v присоединился(-лась) к команде." }, { "id": "api.team.leave.left", - "translation": "%v left the team." + "translation": "%v покинул(а) команду." }, { "id": "api.team.permanent_delete_team.attempting.warn",