diff options
-rw-r--r-- | app/channel.go | 10 | ||||
-rw-r--r-- | app/diagnostics.go | 67 | ||||
-rw-r--r-- | app/team.go | 20 | ||||
-rw-r--r-- | i18n/de.json | 16 | ||||
-rw-r--r-- | i18n/en.json | 16 | ||||
-rw-r--r-- | i18n/es.json | 14 | ||||
-rw-r--r-- | i18n/fr.json | 136 | ||||
-rw-r--r-- | i18n/it.json | 16 | ||||
-rw-r--r-- | i18n/ja.json | 14 | ||||
-rw-r--r-- | i18n/ko.json | 16 | ||||
-rw-r--r-- | i18n/nl.json | 14 | ||||
-rw-r--r-- | i18n/pl.json | 14 | ||||
-rw-r--r-- | i18n/pt-BR.json | 18 | ||||
-rw-r--r-- | i18n/ru.json | 18 | ||||
-rw-r--r-- | i18n/tr.json | 14 | ||||
-rw-r--r-- | i18n/zh-CN.json | 14 | ||||
-rw-r--r-- | i18n/zh-TW.json | 14 | ||||
-rw-r--r-- | model/post.go | 8 |
18 files changed, 314 insertions, 125 deletions
diff --git a/app/channel.go b/app/channel.go index 68963a94a..0054fe14b 100644 --- a/app/channel.go +++ b/app/channel.go @@ -69,7 +69,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) } } @@ -1105,7 +1105,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), @@ -1125,10 +1125,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{ @@ -1196,7 +1196,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/diagnostics.go b/app/diagnostics.go index 2ef608ee3..135875de6 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, "experimental_enable_default_channel_leave_join_messages": *cfg.ServiceSettings.ExperimentalEnableDefaultChannelLeaveJoinMessages, }) @@ -265,6 +267,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, ""), }) a.SendDiagnostic(TRACK_CONFIG_CLIENT_REQ, map[string]interface{}{ @@ -323,6 +326,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, @@ -335,6 +339,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, ""), }) a.SendDiagnostic(TRACK_CONFIG_RATE, map[string]interface{}{ @@ -374,21 +381,24 @@ func (a *App) trackConfig() { }) a.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, ""), }) a.SendDiagnostic(TRACK_CONFIG_COMPLIANCE, map[string]interface{}{ @@ -403,18 +413,21 @@ func (a *App) trackConfig() { }) a.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, ""), }) a.SendDiagnostic(TRACK_CONFIG_CLUSTER, map[string]interface{}{ diff --git a/app/team.go b/app/team.go index bda418081..71eb00569 100644 --- a/app/team.go +++ b/app/team.go @@ -622,7 +622,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) } } @@ -674,6 +674,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/i18n/de.json b/i18n/de.json index 77556183f..3c8e41934 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -1421,10 +1421,14 @@ "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" }, @@ -4975,6 +4979,10 @@ "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" }, @@ -4991,6 +4999,10 @@ "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 e40d4bc67..eed106197 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -5047,18 +5047,14 @@ "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" }, @@ -5071,6 +5067,10 @@ "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 f95920563..b8d4c2f6a 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -1421,10 +1421,14 @@ "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" }, @@ -4975,6 +4979,10 @@ "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" }, @@ -4991,6 +4999,10 @@ "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 95bbdc7d9..d0a27dcee 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", @@ -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,10 +1421,14 @@ "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" }, @@ -1768,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", @@ -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", @@ -4991,6 +4999,10 @@ "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", @@ -5720,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", @@ -5752,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", @@ -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", @@ -6576,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 7bf2c4f62..cd5c53b4c 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -1421,8 +1421,12 @@ "translation": "Impostazione dell email come verificata fallita err=%v" }, { - "id": "api.incoming_webhook.disabled.app_errror", - "translation": "I webhooks in ingresso sono stati disabilitati dall'amministratore di sistema." + "id": "api.incoming_webhook.disabled.app_error", + "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." }, { "id": "api.ldap.init.debug", @@ -4975,6 +4979,10 @@ "translation": "Titolo non valido" }, { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Icona pubblicazione non valida" + }, + { "id": "model.incoming_hook.id.app_error", "translation": "ID non valido" }, @@ -4991,6 +4999,10 @@ "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 ccaab98ae..d35f2b08f 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -1421,10 +1421,14 @@ "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ルートを初期化しています" }, @@ -4975,6 +4979,10 @@ "translation": "不正なタイトルです" }, { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "不正な投稿アイコンです。" + }, + { "id": "model.incoming_hook.id.app_error", "translation": "不正なIDです" }, @@ -4991,6 +4999,10 @@ "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 93a28a353..599a52013 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,10 +1421,14 @@ "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 경로 초기화 중" }, @@ -4975,6 +4979,10 @@ "translation": "잘못된 형식" }, { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "잘못된 루트 아이디입니다." + }, + { "id": "model.incoming_hook.id.app_error", "translation": "잘못된 Id" }, @@ -4991,6 +4999,10 @@ "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 cc0975427..a6fa05b5a 100644 --- a/i18n/nl.json +++ b/i18n/nl.json @@ -1421,10 +1421,14 @@ "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" }, @@ -4975,6 +4979,10 @@ "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" }, @@ -4991,6 +4999,10 @@ "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 33c1a6ec1..dae215db8 100644 --- a/i18n/pl.json +++ b/i18n/pl.json @@ -1421,10 +1421,14 @@ "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" }, @@ -4975,6 +4979,10 @@ "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" }, @@ -4991,6 +4999,10 @@ "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 ddaef3006..369141607 100644 --- a/i18n/pt-BR.json +++ b/i18n/pt-BR.json @@ -1421,10 +1421,14 @@ "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", @@ -4975,6 +4979,10 @@ "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" }, @@ -4991,6 +4999,10 @@ "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 769cc6416..1459f161d 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -1421,10 +1421,14 @@ "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" }, @@ -2288,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", @@ -4975,6 +4979,10 @@ "translation": "Недопустимый тип" }, { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "Неверный идентификатор сообщения" + }, + { "id": "model.incoming_hook.id.app_error", "translation": "Некорректный идентификатор" }, @@ -4991,6 +4999,10 @@ "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 bb58c9d4e..987adbcab 100644 --- a/i18n/tr.json +++ b/i18n/tr.json @@ -1421,10 +1421,14 @@ "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" }, @@ -4975,6 +4979,10 @@ "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" }, @@ -4991,6 +4999,10 @@ "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 f772c34d4..dec0da464 100644 --- a/i18n/zh-CN.json +++ b/i18n/zh-CN.json @@ -1421,10 +1421,14 @@ "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 路由" }, @@ -4975,6 +4979,10 @@ "translation": "无效的标题" }, { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "无效消息图标" + }, + { "id": "model.incoming_hook.id.app_error", "translation": "无效Id" }, @@ -4991,6 +4999,10 @@ "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 927ef6ffd..9b3af5d76 100644 --- a/i18n/zh-TW.json +++ b/i18n/zh-TW.json @@ -1421,10 +1421,14 @@ "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 路徑" }, @@ -4975,6 +4979,10 @@ "translation": "無效的標題" }, { + "id": "model.incoming_hook.icon_url.app_error", + "translation": "無效的文章圖示" + }, + { "id": "model.incoming_hook.id.app_error", "translation": "無效的 ID" }, @@ -4991,6 +4999,10 @@ "translation": "無效的使用者 ID" }, { + "id": "model.incoming_hook.username.app_error", + "translation": "無效的使用者名稱" + }, + { "id": "model.job.is_valid.create_at.app_error", "translation": "\"新增時間\"必須是一個有效時間" }, diff --git a/model/post.go b/model/post.go index 950bf401c..f3d990a87 100644 --- a/model/post.go +++ b/model/post.go @@ -27,8 +27,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" @@ -196,11 +197,12 @@ func (o *Post) IsValid() *AppError { POST_ADD_REMOVE, POST_JOIN_CHANNEL, POST_LEAVE_CHANNEL, + POST_JOIN_TEAM, POST_LEAVE_TEAM, - POST_REMOVE_FROM_CHANNEL, POST_ADD_TO_CHANNEL, + POST_REMOVE_FROM_CHANNEL, POST_ADD_TO_TEAM, - POST_JOIN_TEAM, + POST_REMOVE_FROM_TEAM, POST_SLACK_ATTACHMENT, POST_HEADER_CHANGE, POST_PURPOSE_CHANGE, |