diff --git a/app/assets/javascripts/admin/addon/components/watched-word-uploader.js b/app/assets/javascripts/admin/addon/components/watched-word-uploader.js index 00c8ce4d995..040154d30b7 100644 --- a/app/assets/javascripts/admin/addon/components/watched-word-uploader.js +++ b/app/assets/javascripts/admin/addon/components/watched-word-uploader.js @@ -8,7 +8,7 @@ import discourseComputed from "discourse-common/utils/decorators"; export default Component.extend(UploadMixin, { type: "txt", classNames: "watched-words-uploader", - uploadUrl: "/admin/logs/watched_words/upload", + uploadUrl: "/admin/customize/watched_words/upload", addDisabled: alias("uploading"), validateUploadedFilesOptions() { diff --git a/app/assets/javascripts/admin/addon/controllers/admin-watched-words-action.js b/app/assets/javascripts/admin/addon/controllers/admin-watched-words-action.js index 0d0f020ec61..1265e3d0288 100644 --- a/app/assets/javascripts/admin/addon/controllers/admin-watched-words-action.js +++ b/app/assets/javascripts/admin/addon/controllers/admin-watched-words-action.js @@ -18,7 +18,7 @@ export default Controller.extend({ ), downloadLink: fmt( "actionNameKey", - "/admin/logs/watched_words/action/%@/download" + "/admin/customize/watched_words/action/%@/download" ), findAction(actionName) { @@ -97,7 +97,7 @@ export default Controller.extend({ I18n.t("yes_value"), (result) => { if (result) { - ajax(`/admin/logs/watched_words/action/${actionKey}.json`, { + ajax(`/admin/customize/watched_words/action/${actionKey}.json`, { type: "DELETE", }).then(() => { const action = this.findAction(actionKey); diff --git a/app/assets/javascripts/admin/addon/models/watched-word.js b/app/assets/javascripts/admin/addon/models/watched-word.js index 6b7de3bf95e..9aebef18eb0 100644 --- a/app/assets/javascripts/admin/addon/models/watched-word.js +++ b/app/assets/javascripts/admin/addon/models/watched-word.js @@ -5,7 +5,9 @@ import { ajax } from "discourse/lib/ajax"; const WatchedWord = EmberObject.extend({ save() { return ajax( - "/admin/logs/watched_words" + (this.id ? "/" + this.id : "") + ".json", + "/admin/customize/watched_words" + + (this.id ? "/" + this.id : "") + + ".json", { type: this.id ? "PUT" : "POST", data: { @@ -19,7 +21,7 @@ const WatchedWord = EmberObject.extend({ }, destroy() { - return ajax("/admin/logs/watched_words/" + this.id + ".json", { + return ajax("/admin/customize/watched_words/" + this.id + ".json", { type: "DELETE", }); }, @@ -27,7 +29,7 @@ const WatchedWord = EmberObject.extend({ WatchedWord.reopenClass({ findAll() { - return ajax("/admin/logs/watched_words.json").then((list) => { + return ajax("/admin/customize/watched_words.json").then((list) => { const actions = {}; list.words.forEach((s) => { if (!actions[s.action]) { diff --git a/app/assets/javascripts/admin/addon/routes/admin-route-map.js b/app/assets/javascripts/admin/addon/routes/admin-route-map.js index bdc27d133f0..9b888f9ce55 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-route-map.js +++ b/app/assets/javascripts/admin/addon/routes/admin-route-map.js @@ -97,6 +97,14 @@ export default function () { this.route("edit", { path: "/:field_name" }); } ); + this.route( + "adminWatchedWords", + { path: "/watched_words", resetNamespace: true }, + function () { + this.route("index", { path: "/" }); + this.route("action", { path: "/action/:action_id" }); + } + ); } ); @@ -152,14 +160,6 @@ export default function () { this.route("term", { path: "/term" }); } ); - this.route( - "adminWatchedWords", - { path: "/watched_words", resetNamespace: true }, - function () { - this.route("index", { path: "/" }); - this.route("action", { path: "/action/:action_id" }); - } - ); } ); diff --git a/app/assets/javascripts/admin/addon/templates/customize.hbs b/app/assets/javascripts/admin/addon/templates/customize.hbs index cafafd12852..46bdf2f8efa 100644 --- a/app/assets/javascripts/admin/addon/templates/customize.hbs +++ b/app/assets/javascripts/admin/addon/templates/customize.hbs @@ -8,6 +8,7 @@ {{nav-item route="adminEmojis" label="admin.emoji.title" class="admin-customize-emojis"}} {{nav-item route="adminPermalinks" label="admin.permalink.title" class="admin-customize-permalinks"}} {{nav-item route="adminEmbedding" label="admin.embedding.title" class="admin-customize-embedding"}} + {{nav-item route="adminWatchedWords" label="admin.watched_words.title" class="admin-customize-watched-words"}} {{/admin-nav}}
diff --git a/app/assets/javascripts/admin/addon/templates/logs.hbs b/app/assets/javascripts/admin/addon/templates/logs.hbs index 194f6ec8bf3..4cc214e1848 100644 --- a/app/assets/javascripts/admin/addon/templates/logs.hbs +++ b/app/assets/javascripts/admin/addon/templates/logs.hbs @@ -3,7 +3,6 @@ {{nav-item route="adminLogs.screenedEmails" label="admin.logs.screened_emails.title"}} {{nav-item route="adminLogs.screenedIpAddresses" label="admin.logs.screened_ips.title"}} {{nav-item route="adminLogs.screenedUrls" label="admin.logs.screened_urls.title"}} - {{nav-item route="adminWatchedWords" label="admin.watched_words.title"}} {{nav-item route="adminSearchLogs" label="admin.logs.search_logs.title"}} {{#if currentUser.admin}} {{nav-item path="/logs" label="admin.logs.logster.title"}} diff --git a/app/assets/javascripts/discourse/tests/acceptance/admin-watched-words-test.js b/app/assets/javascripts/discourse/tests/acceptance/admin-watched-words-test.js index 36a2e4db9a1..1a3162e242a 100644 --- a/app/assets/javascripts/discourse/tests/acceptance/admin-watched-words-test.js +++ b/app/assets/javascripts/discourse/tests/acceptance/admin-watched-words-test.js @@ -10,7 +10,7 @@ acceptance("Admin - Watched Words", function (needs) { needs.user(); test("list words in groups", async function (assert) { - await visit("/admin/logs/watched_words/action/block"); + await visit("/admin/customize/watched_words/action/block"); assert.ok( !exists(".watched-words-list"), @@ -51,7 +51,7 @@ acceptance("Admin - Watched Words", function (needs) { }); test("add words", async function (assert) { - await visit("/admin/logs/watched_words/action/block"); + await visit("/admin/customize/watched_words/action/block"); click(".show-words-checkbox"); fillIn(".watched-word-form input", "poutine"); @@ -68,7 +68,7 @@ acceptance("Admin - Watched Words", function (needs) { }); test("remove words", async function (assert) { - await visit("/admin/logs/watched_words/action/block"); + await visit("/admin/customize/watched_words/action/block"); await click(".show-words-checkbox"); let word = null; diff --git a/app/assets/javascripts/discourse/tests/fixtures/watched-words-fixtures.js b/app/assets/javascripts/discourse/tests/fixtures/watched-words-fixtures.js index 6ac2eaa9a40..8fca803089e 100644 --- a/app/assets/javascripts/discourse/tests/fixtures/watched-words-fixtures.js +++ b/app/assets/javascripts/discourse/tests/fixtures/watched-words-fixtures.js @@ -1,5 +1,5 @@ export default { - "/admin/logs/watched_words.json": { + "/admin/customize/watched_words.json": { actions: ["block", "censor", "require_approval", "flag"], words: [ { id: 1, word: "liquorice", action: "block" }, diff --git a/app/assets/javascripts/discourse/tests/helpers/create-pretender.js b/app/assets/javascripts/discourse/tests/helpers/create-pretender.js index a59a911ec80..79b84af24bc 100644 --- a/app/assets/javascripts/discourse/tests/helpers/create-pretender.js +++ b/app/assets/javascripts/discourse/tests/helpers/create-pretender.js @@ -773,12 +773,12 @@ export function applyDefaultHandlers(pretender) { }); }); - pretender.get("/admin/logs/watched_words", () => { - return response(200, fixturesByUrl["/admin/logs/watched_words.json"]); + pretender.get("/admin/customize/watched_words", () => { + return response(200, fixturesByUrl["/admin/customize/watched_words.json"]); }); - pretender.delete("/admin/logs/watched_words/:id.json", success); + pretender.delete("/admin/customize/watched_words/:id.json", success); - pretender.post("/admin/logs/watched_words.json", (request) => { + pretender.post("/admin/customize/watched_words.json", (request) => { const result = parsePostData(request.requestBody); result.id = new Date().getTime(); return response(200, result); diff --git a/config/locales/server.ca.yml b/config/locales/server.ca.yml index 47899a59cea..4485b2c9d06 100644 --- a/config/locales/server.ca.yml +++ b/config/locales/server.ca.yml @@ -1198,7 +1198,7 @@ ca: force_https_warning: "El vostre lloc web utilitza SSL. Però ` force_https` encara no és activat en la configuració del vostre lloc web." out_of_date_themes: "Hi ha actualitzacions disponibles per a les aparences següents:" unreachable_themes: "No hem pogut comprovar si hi ha actualitzacions de les aparences següents:" - watched_word_regexp_error: "L'expressió regular de les paraules vigilades %{action} no és vàlida. Comproveu la configuració de les paraules vigilades o desactiveu el paràmetre de configuració 'les paraules vigilades són expressions regulars'." + watched_word_regexp_error: "L'expressió regular de les paraules vigilades %{action} no és vàlida. Comproveu la configuració de les paraules vigilades o desactiveu el paràmetre de configuració 'les paraules vigilades són expressions regulars'." site_settings: censored_words: "Paraules que es reemplaçaran automàticament amb ■■■■" delete_old_hidden_posts: "Suprimeix automàticament qualsevol publicació que resti oculta durant més de 30 dies." @@ -3146,7 +3146,7 @@ ca: trust_level: "Les respostes dels usuaris amb nivells baixos de confiança han de ser aprovades per l'equip responsable. Vegeu `approve_unless_trust_level`." new_topics_unless_trust_level: "Els temes dels usuaris amb nivells baixos de confiança han de ser aprovats per l'equip responsable. Vegeu `approve_new_topics_unless_trust_level`." fast_typer: "Un usuari nou ha escrit la seva primera publicació sospitosament de pressa. És un comportament sospitós de bot o de generador de brossa. Vegeu `min_first_post_typing_time`." - watched_word: "Aquesta publicació incloïa una paraula vigilada. Vegeu la vostra llista de paraules vigilades ." + watched_word: "Aquesta publicació incloïa una paraula vigilada. Vegeu la vostra llista de paraules vigilades ." staged: "Els temes i les publicacions noves per a usuaris ficticis han de ser aprovats per l'equip responsable. Vegeu `approve_unless_staged`." category: "Les publicacions d'aquesta categoria requereixen l'aprovació manual de l'equip responsable. Vegeu la configuració de la categoria." must_approve_users: "Tots els usuaris nous han de ser aprovats per l'equip responsable. Vegeu `must_approve_users`." diff --git a/config/locales/server.de.yml b/config/locales/server.de.yml index 8e27f01847b..fab5363a7df 100644 --- a/config/locales/server.de.yml +++ b/config/locales/server.de.yml @@ -1360,7 +1360,7 @@ de: force_https_warning: "Deine Webseite verwendet SSL, aber die `force_https` ist in deinen Website-Einstellungen noch nicht aktiviert." out_of_date_themes: "Updates sind zu folgenden Themes verfügbar:" unreachable_themes: "Wir konnten die folgenden Themes nicht auf Updates prüfen:" - watched_word_regexp_error: "Der reguläre Ausdruck für %{action} beobachtete Wörter ist ungültig. Bitte prüfe deine Einstellungen für beobachtete Wörter, oder deaktiviere die 'reguläre Ausdrücke beobachteter Wörter' Seiteneinstellung." + watched_word_regexp_error: "Der reguläre Ausdruck für %{action} beobachtete Wörter ist ungültig. Bitte prüfe deine Einstellungen für beobachtete Wörter, oder deaktiviere die 'reguläre Ausdrücke beobachteter Wörter' Seiteneinstellung." site_settings: display_local_time_in_user_card: "Zeigt die lokale Zeit basierend auf der Zeitzone eines Benutzers an, wenn die Benutzerkarte geöffnet wird." censored_words: "Wörter, die automatisch durch ■■■■ ersetzt werden" @@ -4452,7 +4452,7 @@ de: new_topics_unless_trust_level: "Themen von Benutzern in niedrigen Vertrauensstufen müssen von Team-Mitgliedern genehmigt werden. Siehe `approve_new_topics_unless_trust_level`." fast_typer: "Ein neuer Benutzer hat seinen ersten Beitrag verdächtig schnell getippt, Verdacht auf Bot oder Spammer-Verhalten. Siehe `min_first_post_typing_time`." auto_silence_regexp: "Neuer Benutzer, dessen erster Beitrag mit der Einstellung „auto_silence_first_post_regex“ übereinstimmt." - watched_word: "Dieser Beitrag enthielt ein beobachtetes Wort. Siehe deine Liste beobachteter Wörter." + watched_word: "Dieser Beitrag enthielt ein beobachtetes Wort. Siehe deine Liste beobachteter Wörter." staged: "Neue Themen und Beiträge für aufgeführte Benutzer müssen von Team-Mitgliedern genehmigt werden. Siehe `approve_unless_staged`." category: "Beiträge in dieser Kategorie benötigen manuelle Genehmigung von Team-Mitgliedern. Siehe in den Kategorie-Einstellungen." must_approve_users: "Alle neuen Benutzer müssen von Team-Mitgliedern bestätigt werden. Siehe `must_approve_users`. " diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 83426bbf769..4e1ca38f6b0 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -1442,7 +1442,7 @@ en: force_https_warning: "Your website is using SSL. But `force_https` is not yet enabled in your site settings." out_of_date_themes: "Updates are available for the following themes:" unreachable_themes: "We were unable to check for updates on the following themes:" - watched_word_regexp_error: "The regular expression for %{action} watched words is invalid. Please check your Watched Word settings, or disable the 'watched words regular expressions' site setting." + watched_word_regexp_error: "The regular expression for %{action} watched words is invalid. Please check your Watched Word settings, or disable the 'watched words regular expressions' site setting." site_settings: display_local_time_in_user_card: "Display the local time based on a user's timezone when their user card is opened." @@ -4918,7 +4918,7 @@ en: new_topics_unless_trust_level: "Users at low trust levels must have topics approved by staff. See `approve_new_topics_unless_trust_level`." fast_typer: "New user typed their first post suspiciously fast, suspected bot or spammer behavior. See `min_first_post_typing_time`." auto_silence_regexp: "New user whose first post matches the `auto_silence_first_post_regex` setting." - watched_word: "This post included a Watched Word. See your list of watched words." + watched_word: "This post included a Watched Word. See your list of watched words." staged: "New topics and posts for staged users must be approved by staff. See `approve_unless_staged`." category: "Posts in this category require manual approval by staff. See the category settings." must_approve_users: "All new users must be approved by staff. See `must_approve_users`." diff --git a/config/locales/server.es.yml b/config/locales/server.es.yml index f6ca3f47552..e0114dc2c64 100644 --- a/config/locales/server.es.yml +++ b/config/locales/server.es.yml @@ -1352,7 +1352,7 @@ es: force_https_warning: "Tu sitio web está usando SSL. Pero «force_https» no está habilitado todavía en la configuración de tu sitio." out_of_date_themes: "Hay actualizaciones disponibles para los siguientes temas:" unreachable_themes: "No pudimos verificar actualizaciones de los siguientes temas:" - watched_word_regexp_error: "La expresión regular para %{action} las palabras vigiladas es inválida. Por favor, revisa tu configuración de palabras vigiladas o desactiva la opción «expresiones regulares de palabras vigiladas»" + watched_word_regexp_error: "La expresión regular para %{action} las palabras vigiladas es inválida. Por favor, revisa tu configuración de palabras vigiladas o desactiva la opción «expresiones regulares de palabras vigiladas»" site_settings: display_local_time_in_user_card: "Mostrar la hora local basada en el la zona horaria cuando se abra la tarjeta de un usuario." censored_words: "Las palabras serán reemplazadas con ■■■■" @@ -4297,7 +4297,7 @@ es: trust_level: "Los usuarios con niveles de confianza bajos deben tener respuestas aprobadas por el staff. Consulta `approve_unless_trust_level`." new_topics_unless_trust_level: "Los usuarios con niveles de confianza bajos deben tener temas aprobados por el staff. Consulta `approve_new_topics_unless_trust_level`." fast_typer: "El usuario nuevo escribió su primer mensaje de forma sospechosamente rápida. Podría ser un bot o comportamiento de spammer. Consulta `min_first_post_typing_time`." - watched_word: "Esta publicación incluye una palabra observada. Ver tu lista de palabras observadas." + watched_word: "Esta publicación incluye una palabra observada. Ver tu lista de palabras observadas." staged: "Los temas y publicaciones nuevas para usuarios provisionales deben ser aprobados por el staff. Consulta `approve_unless_staged`." category: "Los mensajes en esta categoría requieren la aprobación manual del staff. Consulta la configuración de la categoría." must_approve_users: "Todos los usuarios nuevos deben ser aprobados por el staff. Consulta `must_approve_users`." diff --git a/config/locales/server.fi.yml b/config/locales/server.fi.yml index d6191d9c244..8c4f55bad17 100644 --- a/config/locales/server.fi.yml +++ b/config/locales/server.fi.yml @@ -1241,7 +1241,7 @@ fi: force_https_warning: "Sivusto käyttää SSL-salausta, mutta `force_https` ei ole valittuna asetuksissa." out_of_date_themes: "Päivityksiä on saatavilla näihin teemoihin:" unreachable_themes: "Näille teemoille ei löytynyt päivityksiä:" - watched_word_regexp_error: "Säännöllinen lauseke %{action}-tyypin tarkkailuille sanoille ei kelpaa. Käy läpi Tarkkaillut sanat -asetuksesi tai poista käytöstä 'watched words regular expressions' -sivustoasetus." + watched_word_regexp_error: "Säännöllinen lauseke %{action}-tyypin tarkkailuille sanoille ei kelpaa. Käy läpi Tarkkaillut sanat -asetuksesi tai poista käytöstä 'watched words regular expressions' -sivustoasetus." site_settings: display_local_time_in_user_card: "Näytä käyttäjän aikavyöhykkeeseen perustuva paikallinen aika hänen käyttäjäkortissaan." censored_words: "Sanat, jotka korvataan automaattisesti merkeillä ■■■■" @@ -3745,7 +3745,7 @@ fi: trust_level: "Matalan luottamustason käyttäjien vastaukset tulevat henkilökunnan hyväksyttäviksi. Ks. `approve_unless_trust_level`." new_topics_unless_trust_level: "Matalan luottamustason käyttäjien aloittamat ketjut tulevat henkilökunnan hyväksyttäviksi. Ks. `approve_new_topics_unless_trust_level`." fast_typer: "Uusi käyttäjä näppäili ensimmäisen viestinsä epäilyttävän nopeasti. Käyttäytyminen viittaa bottiin tai roskapostittajaan. Ks. `min_first_post_typing_time`." - watched_word: "Viesti sisälsi \"tarkkaillun sanan\". Ks. luettelo tarkkailemistanne sanoista." + watched_word: "Viesti sisälsi \"tarkkaillun sanan\". Ks. luettelo tarkkailemistanne sanoista." staged: "Henkilökunnan täytyy hyväksyä esikäyttäjien uudet ketjut ja viestit. Katso `approve_unless_staged`." category: "Tämän alueen viestit vaativat henkilökunnan manuaalisen hyväksynnän. Ks. alueen asetukset." must_approve_users: "Kaikki uudet käyttäjät tulevat henkilökunnan hyväksyttäviksi. Ks. `must_approve_users`." diff --git a/config/locales/server.fr.yml b/config/locales/server.fr.yml index 8973ae568aa..aa5fe25d474 100644 --- a/config/locales/server.fr.yml +++ b/config/locales/server.fr.yml @@ -1342,7 +1342,7 @@ fr: force_https_warning: "Votre site web utiliser le SSL. Mais `force_https` n'est pas encore activé dans les paramètres du site." out_of_date_themes: "Des mises à jour sont disponibles pour les thèmes suivants :" unreachable_themes: "Nous n'avons pas pu vérifier les mises à jour pour les thèmes suivants :" - watched_word_regexp_error: "L'expression régulière pour les mots surveillés %{action} n'est pas valide. Vérifiez vos paramètres de mots surveillés ou désactivez le paramètre de site 'watched words regular expressions'." + watched_word_regexp_error: "L'expression régulière pour les mots surveillés %{action} n'est pas valide. Vérifiez vos paramètres de mots surveillés ou désactivez le paramètre de site 'watched words regular expressions'." site_settings: display_local_time_in_user_card: "Afficher le temps local selon le fuseau horaire de l'utilisateur quand sa carte est ouverte." censored_words: "Mots qui seront automatiquement remplacés par ■■■■" @@ -4309,7 +4309,7 @@ fr: new_topics_unless_trust_level: "Les sujets d'utilisateurs dont le niveau de confiance est bas doivent être approuvées par un responsable. Voir `approve_new_topics_unless_trust_level`." fast_typer: "Le nouvel utilisateur a écrit son premier message avec une rapidité suspecte, un comportement typique des robots et spammeurs. Voir `min_first_post_typing_time`." auto_silence_regexp: "Nouvel utilisateur dont le premier message correspond à la règle `auto_silence_first_post_regex`." - watched_word: "Ce message comprenait un mot surveillé. Voir votre liste de mots surveillés ." + watched_word: "Ce message comprenait un mot surveillé. Voir votre liste de mots surveillés ." staged: "Les nouveaux sujets et messages des utilisateurs distants doivent être approuvés par un responsable. Voir `approve_unless_staged`." category: "Les messages de cette catégorie doivent être approuvés manuellement par un responsable. Voir les paramètres de la catégorie." must_approve_users: "Tous les nouveaux utilisateurs doivent être approuvés par un responsable. Voir `must_approve_users`." diff --git a/config/locales/server.gl.yml b/config/locales/server.gl.yml index c05ee27cc42..a92ecb3473c 100644 --- a/config/locales/server.gl.yml +++ b/config/locales/server.gl.yml @@ -1360,7 +1360,7 @@ gl: force_https_warning: "O seu sitio web está a utilizar SSL, pero `force_https` non está aínda activado nos seus axustes de sitio." out_of_date_themes: "Hai actualizacións dispoñibles para os seguintes temas:" unreachable_themes: "Non puidemos comprobar se hai actualizacións para os seguintes temas:" - watched_word_regexp_error: "A expresión regular para %{action} as palabras vixiadas non é válida. Comprobe a configuración das palabras vixiadas ou desactive a opción de 'expresións regulares para palabras vixiadas'." + watched_word_regexp_error: "A expresión regular para %{action} as palabras vixiadas non é válida. Comprobe a configuración das palabras vixiadas ou desactive a opción de 'expresións regulares para palabras vixiadas'." site_settings: display_local_time_in_user_card: "Amosar a hora local con base no fuso horario do usuario cando se abre a súa tarxeta." censored_words: "As palabras serán automaticamente substituídas por ■■■■" @@ -4462,7 +4462,7 @@ gl: new_topics_unless_trust_level: "Os usuarios con niveis de confianza baixos deben ter temas aprobados polo equipo. Revise `approve_new_topics_unless_trust_level`." fast_typer: "O usuario novo escribiu a súa primeira publicación sospeitosamente rápido; pode ser un bot ou alguén cun comportamento de remitente non desexado. Revise `min_first_post_typing_time`." auto_silence_regexp: "Usuario novo cuxa primeira publicación coincide coa configuración `auto_silence_first_post_regex`." - watched_word: "Esta publicación incluía unha palabra vixiada. Consulte a listaxe de palabras vixiadas." + watched_word: "Esta publicación incluía unha palabra vixiada. Consulte a listaxe de palabras vixiadas." staged: "Os novos temas e publicacións de usuarios transitorios deben ser aprobados polo equipo. Revise `approve_unless_staged`." category: "As publicacións nesta categoría requiren a aprobación manual do equipo. Consulte os axustes das categorías." must_approve_users: "Todos os novos usuarios deben ser aprobados polo equipo. Consulte `must_approve_users`." diff --git a/config/locales/server.he.yml b/config/locales/server.he.yml index 8e96c68002d..ee68c318fba 100644 --- a/config/locales/server.he.yml +++ b/config/locales/server.he.yml @@ -1438,7 +1438,7 @@ he: force_https_warning: "האתר שלך משתמש ב־SSL. אך `force_https` לא מופעל עדיין בהגדרות האתר שלך." out_of_date_themes: "יש עדכונים זמינים לערכות העיצוב הבאות:" unreachable_themes: "לא הצלחתי לבדוק אם יש עדכונים לערכות העיצוב הבאות:" - watched_word_regexp_error: "הביטוי הרגולרי למילים במעקב %{action} שגוי. נא לבדוק את הגדרות המילים במעקב או לנטרל את הגדרות האתר ‚ביטוי רגולרי למילים במעקב’." + watched_word_regexp_error: "הביטוי הרגולרי למילים במעקב %{action} שגוי. נא לבדוק את הגדרות המילים במעקב או לנטרל את הגדרות האתר ‚ביטוי רגולרי למילים במעקב’." site_settings: display_local_time_in_user_card: "להציג את הזמן המקומי בהתאם לאזור הזמן של המשתמש כאשר כרטיס המשתמש שלו נפתח." censored_words: "מלים שיוחלפו אוטומטית ב־■■■■" @@ -4601,7 +4601,7 @@ he: new_topics_unless_trust_level: "הפוסטים של משתמשים בדרגות אמון נמוכות חייבות לעבור את אישור הסגל. יש לעיין ב־`approve_new_topics_unless_trust_level` (אישור פוסטים חדשים למעט דרגת אמון)." fast_typer: "ההקלדה של הפוסט הראשון של משתמש מסוים הייתה מהירה באופן שמעלה חשד שמדובר בהתנהגות של בוט או הפצת ספאם. יש לעיין ב־`min_first_post_typing_time` (זמן מזערי להקלדת פוסט ראשון)." auto_silence_regexp: "הפוסט הראשון שפורסם על ידי משתמש חדש תואם להגדרה `auto_silence_first_post_regex` (השתקה אוטומטית של פוסט ראשון לפי ביטוי רגולרי)." - watched_word: "פוסט זה הכיל מילה במעקב. יש לעיין ברשימת המילים שבמעקב." + watched_word: "פוסט זה הכיל מילה במעקב. יש לעיין ברשימת המילים שבמעקב." staged: "נושאים ופוסטים חדשים של משתמשים מבוימים חייבים לקבל את אישור הסגל. למידע נוסף `approve_unless_staged` (אישור אלמלא מבוים)." category: "פוסטים בקטגוריה זו דורשים אימות ידני של הסגל. יש לעיין בהגדרות הקטגוריה." must_approve_users: "כל המשתמשים החדשים חייבים לעבור את אישור הסגל. יש לעיין בנושא `must_approve_users` (חובת אישור משתמשים)." diff --git a/config/locales/server.it.yml b/config/locales/server.it.yml index 5dfb50d5898..8c6e978907a 100644 --- a/config/locales/server.it.yml +++ b/config/locales/server.it.yml @@ -1336,7 +1336,7 @@ it: force_https_warning: "Il tuo sito web utilizza SSL. Ma ` force_https` non è ancora abilitato nelle impostazioni del tuo sito." out_of_date_themes: "Sono disponibili aggiornamenti per i seguenti temi:" unreachable_themes: "È fallita la verifica della presenza di aggiornamenti per i seguenti temi:" - watched_word_regexp_error: "L'espressione regolare per %{action} per le parole osservate è invalida. Per favore controlla le impostazioni Parola Osservata, o disabilita le impostazioni del sito 'espressioni regolari delle parole osservate'." + watched_word_regexp_error: "L'espressione regolare per %{action} per le parole osservate è invalida. Per favore controlla le impostazioni Parola Osservata, o disabilita le impostazioni del sito 'espressioni regolari delle parole osservate'." site_settings: display_local_time_in_user_card: "Visualizza l'ora locale in base al fuso orario di un utente quando viene aperta la sua scheda utente." censored_words: "Parole che saranno automaticamente sostituite con ■■■■" @@ -3832,7 +3832,7 @@ it: trust_level: "Le risposte degli utenti con un basso Livello di Esperienza devono essere approvate dallo Staff. Vedi `approve_unless_trust_level`." new_topics_unless_trust_level: "Gli Argomenti di utenti con basso Livello Esperienza devono essere approvati dallo staff. Vedi `approve_new_topics_unless_trust_level`." fast_typer: "Il nuovo utente ha digitato il suo primo messaggio in modo sospettosamente rapido, sembrerebbe il comportamento di un bot o di uno spammer. Vedi `min_first_post_typing_time`." - watched_word: "Questo post include una parola monitorata. Guarda il tuo elenco di parole monitorate ." + watched_word: "Questo post include una parola monitorata. Guarda il tuo elenco di parole monitorate ." staged: "Nuovi argomenti e post per gli Utenti Temporanei devono essere approvati dallo staff. Vedi `approve_unless_staged`." category: "I post in questa Categoria richiedono l'approvazione manuale da parte dello staff. Vedi le impostazioni della categoria." must_approve_users: "Tutti i nuovi utenti devono essere approvati dallo staff. Vedi 'must_approve_users'." diff --git a/config/locales/server.ko.yml b/config/locales/server.ko.yml index 35adc4ba0aa..b58fbbd4b05 100644 --- a/config/locales/server.ko.yml +++ b/config/locales/server.ko.yml @@ -1316,7 +1316,7 @@ ko: force_https_warning: "귀하의 웹 사이트는 SSL을 사용하고 있습니다. 그러나 사이트 설정에서` force_https` 가 아직 활성화되어 있지 않습니다." out_of_date_themes: "다음 테마에 대한 업데이트가 제공됩니다." unreachable_themes: "다음 테마에 대한 업데이트를 확인할 수 없습니다." - watched_word_regexp_error: "시청 한 단어 %{action}의 정규식이 잘못되었습니다. 감시 단어 설정을 확인하거나 '감시 단어 정규식'사이트 설정을 비활성화하십시오." + watched_word_regexp_error: "시청 한 단어 %{action}의 정규식이 잘못되었습니다. 감시 단어 설정을 확인하거나 '감시 단어 정규식'사이트 설정을 비활성화하십시오." site_settings: display_local_time_in_user_card: "사용자 카드 페이지가 열릴 때 사용자의 시간대를 기준으로 현지 시간을 표시합니다." censored_words: "단어는 자동적으로 `■■■■` 로 대체 됩니다." @@ -4167,7 +4167,7 @@ ko: new_topics_unless_trust_level: "신뢰 수준이 낮은 사용자에게는 직원이 승인 한 주제가 있어야합니다. `approve_new_topics_unless_trust_level`을 참조하십시오." fast_typer: "새로운 사용자가 첫 번째 게시물을 의심스럽게 빠르거나 의심되는 봇 또는 스패머 동작을 입력했습니다. `min_first_post_typing_time`을 참조하십시오." auto_silence_regexp: "첫 번째 게시물이`auto_silence_first_post_regex` 설정과 일치하는 새 사용자입니다." - watched_word: "이 게시물에는 감시 단어가 포함되어 있습니다. 본 단어 목록을 참조하십시오." + watched_word: "이 게시물에는 감시 단어가 포함되어 있습니다. 본 단어 목록을 참조하십시오." staged: "단계별 사용자를위한 새로운 주제와 게시물은 직원의 승인을 받아야합니다. `approve_unless_staged`를 참조하십시오." category: "이 카테고리의 게시물은 직원의 수동 승인이 필요합니다. 카테고리 설정을 참조하십시오." must_approve_users: "모든 신규 사용자는 직원의 승인을 받아야합니다. `must_approve_users`를 참조하십시오." diff --git a/config/locales/server.nl.yml b/config/locales/server.nl.yml index 2628bbcb8c3..689b151390d 100644 --- a/config/locales/server.nl.yml +++ b/config/locales/server.nl.yml @@ -1298,7 +1298,7 @@ nl: force_https_warning: "Uw website gebruikt SSL, maar `force_https` is nog niet ingeschakeld in uw website-instellingen." out_of_date_themes: "Er zijn updates voor de volgende thema's beschikbaar:" unreachable_themes: "We konden niet op updates controleren voor de volgende thema's:" - watched_word_regexp_error: "De reguliere expressie voor %{action} in de gaten gehouden woorden is ongeldig. Controleer uw Instellingen voor in de gaten gehouden woorden, of schakel de website-instelling 'watched words regular expressions' uit." + watched_word_regexp_error: "De reguliere expressie voor %{action} in de gaten gehouden woorden is ongeldig. Controleer uw Instellingen voor in de gaten gehouden woorden, of schakel de website-instelling 'watched words regular expressions' uit." site_settings: display_local_time_in_user_card: "De lokale tijd weergeven op basis van de tijdzone van een gebruiker wanneer zijn of haar gebruikerskaart wordt geopend." censored_words: "Woorden die automatisch door ■■■■ zullen worden vervangen" diff --git a/config/locales/server.pl_PL.yml b/config/locales/server.pl_PL.yml index 158bf748f18..def5d4347e5 100644 --- a/config/locales/server.pl_PL.yml +++ b/config/locales/server.pl_PL.yml @@ -1455,7 +1455,7 @@ pl_PL: force_https_warning: "Twoja strona korzysta z SSL. Ale `force_https` nie jest jeszcze włączone w ustawieniach strony." out_of_date_themes: "Aktualizacje są dostępne dla następujących motywów:" unreachable_themes: "Nie byliśmy w stanie sprawdzić aktualizacji następujących tematów:" - watched_word_regexp_error: "Wyrażenie regularne dla obserwowanych słów %{action} jest nieprawidłowe. Sprawdź ustawienia Obserwowanego słowa lub wyłącz ustawienie witryny „obserwowane słowa wyrażenia regularne”." + watched_word_regexp_error: "Wyrażenie regularne dla obserwowanych słów %{action} jest nieprawidłowe. Sprawdź ustawienia Obserwowanego słowa lub wyłącz ustawienie witryny „obserwowane słowa wyrażenia regularne”." site_settings: display_local_time_in_user_card: "Wyświetl czas lokalny w oparciu o strefę czasową użytkownika po otwarciu karty użytkownika." censored_words: "Wskazane słowa będą automatycznie zamieniane na ■■■■" @@ -4583,7 +4583,7 @@ pl_PL: new_topics_unless_trust_level: "Użytkownicy o niskim poziomie zaufania muszą mieć tematy zatwierdzone przez personel. Zobacz `approve_new_topics_unless_trust_level`." fast_typer: "Nowy użytkownik wpisał swój pierwszy post podejrzanie szybko, co sugeruje zachowanie bota lub spamera. Zobacz `min_first_post_typing_time`." auto_silence_regexp: "Nowy użytkownik, którego pierwszy post pasuje do ustawienia `auto_silence_first_post_regex`." - watched_word: "Ten post zawierał obserwowane słowo. Zobacz listę obserwowanych słów." + watched_word: "Ten post zawierał obserwowane słowo. Zobacz listę obserwowanych słów." staged: "Nowe tematy i posty dla użytkowników etapowych muszą zostać zatwierdzone przez personel. Zobacz `approve_unless_staged`." category: "Posty w tej kategorii wymagają ręcznego zatwierdzenia przez personel. Zobacz ustawienia kategorii." must_approve_users: "Wszyscy nowi użytkownicy muszą zostać zatwierdzeni przez personel. Zobacz `must_approve_users`." diff --git a/config/locales/server.pt.yml b/config/locales/server.pt.yml index c7ab95c973f..e4242a36b90 100644 --- a/config/locales/server.pt.yml +++ b/config/locales/server.pt.yml @@ -839,7 +839,7 @@ pt: other: "A consulta automática de emails gerou %{count} erros nas últimas 24 horas. Consulte em os registos para mais detalhes." poll_pop3_timeout: "A tentativa de ligação ao servidor POP3 está a ultrapassar o tempo máximo. O email da caixa de entrada não pôde ser obtido. Por favor verifique a sua configuração de POP3 e fornecedor de serviço internet." poll_pop3_auth_error: "A tentativa de ligação ao servidor POP3 está a falhar por motivos de erro de autenticação. Por favor verifique a sua configuração de POP3." - watched_word_regexp_error: "A expressão regular para %{action} palavras vigiadas é inválida. Verifique as suas Configurações de Palavras Vigiadas ou desative a as configurações de 'expressões regulares de palavras vigiadas'." + watched_word_regexp_error: "A expressão regular para %{action} palavras vigiadas é inválida. Verifique as suas Configurações de Palavras Vigiadas ou desative a as configurações de 'expressões regulares de palavras vigiadas'." site_settings: censored_words: "Palavras que serão automaticamente substituídas por ■■■■" delete_old_hidden_posts: "Eliminar automaticamente quaisquer mensagens ocultas que permaneçam escondidas por mais de 30 dias." @@ -2109,7 +2109,7 @@ pt: confirm_body: "Sucesso! As notificações foram ativadas." reviewables: reasons: - watched_word: "Este post incluiu uma Palavra Vigiada. Veja a sua lista de palavras vigiadas." + watched_word: "Este post incluiu uma Palavra Vigiada. Veja a sua lista de palavras vigiadas." queued_by_staff: "Um membro do pessoal considera que esta publicação necessita de ser revista. Ela permanecerá oculta até lá." actions: agree_and_suspend: diff --git a/config/locales/server.pt_BR.yml b/config/locales/server.pt_BR.yml index ee9a4703b60..08d1b6f5b2d 100644 --- a/config/locales/server.pt_BR.yml +++ b/config/locales/server.pt_BR.yml @@ -1233,7 +1233,7 @@ pt_BR: force_https_warning: "Seu site está usando SSL. Mas `force_https` ainda não está ativado nas configurações do seu site." out_of_date_themes: "Atualizações estão disponíveis para os seguintes temas:" unreachable_themes: "Não foi possível verificar se há atualizações para os seguintes temas:" - watched_word_regexp_error: "A expressão regular para %{action} palavras assistidas é inválida. Verifique as configurações das Palavras Assistidas ou desative a configuração do site 'expressões regulares de palavras assistidas'." + watched_word_regexp_error: "A expressão regular para %{action} palavras assistidas é inválida. Verifique as configurações das Palavras Assistidas ou desative a configuração do site 'expressões regulares de palavras assistidas'." site_settings: censored_words: "Palavras que serão substituídos automaticamente por ■■■■" delete_old_hidden_posts: "Auto-apagar todas as mensagens ocultas que ficar oculta por mais de 30 dias." @@ -3562,7 +3562,7 @@ pt_BR: trust_level: "Usuários com níveis de confiança baixos precisam ter respostas aprovadas pela staff. Veja `approve_unless_trust_level`." new_topics_unless_trust_level: "Usuários com níveis de confiança baixos precisam ter tópicos aprovados pela staff. Veja `approve_new_topics_unless_trust_level`." fast_typer: "Novo usuário digitou sua primeira postagem desconfiadamente rápido, suspeita de comportamento de bot ou spammer. Veja `min_first_post_typing_time`." - watched_word: "Esta postagem incluiu uma Palavra Observada. Veja sua lista de palavras observadas." + watched_word: "Esta postagem incluiu uma Palavra Observada. Veja sua lista de palavras observadas." staged: "Novos tópicos e postagens para usuários fictícios precisam ser aprovados pela staff. Veja `approve_unless_staged`." category: "Postagens nesta categoria exigem aprovação manual pela staff. Veja as configurações da categoria." must_approve_users: "Todos os novos usuários precisam ser aprovados pela staff. Veja `must_approve_users`." diff --git a/config/locales/server.ru.yml b/config/locales/server.ru.yml index 96ecbe6bc02..7b59d3702e9 100644 --- a/config/locales/server.ru.yml +++ b/config/locales/server.ru.yml @@ -1459,7 +1459,7 @@ ru: force_https_warning: "Ваш сайт использует SSL. Но `force_https` ещё не включён в настройках вашего сайта." out_of_date_themes: "Доступны обновления для следующих тем:" unreachable_themes: "Нам не удалось проверить наличие обновлений для следующих тем:" - watched_word_regexp_error: "Недопустимое регулярное выражение для контролируемых слов %{action}. Пожалуйста, проверьте настройки просматриваемого слова или отключите в настройках сайта поддержку регулярных выражений для контролируемых слов." + watched_word_regexp_error: "Недопустимое регулярное выражение для контролируемых слов %{action}. Пожалуйста, проверьте настройки просматриваемого слова или отключите в настройках сайта поддержку регулярных выражений для контролируемых слов." site_settings: display_local_time_in_user_card: "Отображать местное время в карточке пользователя." censored_words: "Слова, которые будут автоматически заменены на ■■■■" @@ -4510,7 +4510,7 @@ ru: new_topics_unless_trust_level: "Пользователи с низким уровнем доверия должны иметь темы, одобренные администрацией форума. См. параметр `approve_new_topics_unless_trust_level`." fast_typer: "Сообщение было напечатано подозрительно быстро, такая активность похожа на поведение бота или спамера. См. параметр `min_first_post_typing_time`." auto_silence_regexp: "Новый пользователь, чье первое сообщение соответствует выражению, указанному в настройке 'auto_silence_first_post_regex'." - watched_word: "Это сообщение содержало контролируемые слова. См. список контролируемых слов." + watched_word: "Это сообщение содержало контролируемые слова. См. список контролируемых слов." staged: "Новые темы и сообщения для сымитированных пользователей должны быть одобрены администрацией форума. См. параметр `approve_unless_staged`." category: "Сообщения в этом разделе требуют предварительного одобрения администрацией форума. Смотрите настройки раздела." must_approve_users: "Учётные записи всех новых пользователей должны быть одобрены администрацией форума. См. параметр `must_approve_users`." diff --git a/config/locales/server.sv.yml b/config/locales/server.sv.yml index e8fee5b9f4e..91bf310dd2a 100644 --- a/config/locales/server.sv.yml +++ b/config/locales/server.sv.yml @@ -1340,7 +1340,7 @@ sv: force_https_warning: "Din webbplats använder SSL, men `force_https` har inte aktiverats i inställningarna för din webbplats." out_of_date_themes: "Uppdateringar finns tillgängliga för följande teman:" unreachable_themes: "Vi kunde inte kontrollera uppdateringar för följande teman:" - watched_word_regexp_error: "Det reguljära uttrycket för %{action}-bevakade ord är ogiltigt. Kontrollera dina inställningar för bevakade ord, eller inaktivera webbplatsens inställningar för 'watched words regular expressions'." + watched_word_regexp_error: "Det reguljära uttrycket för %{action}-bevakade ord är ogiltigt. Kontrollera dina inställningar för bevakade ord, eller inaktivera webbplatsens inställningar för 'watched words regular expressions'." site_settings: display_local_time_in_user_card: "Visa den lokala tiden baserat på en användares tidszon när deras användarkort öppnas." censored_words: "Ord som automatiskt ersätts med ■■■■" @@ -4076,7 +4076,7 @@ sv: new_topics_unless_trust_level: "Användare med låg förtroendenivå måste få ämnen godkända av personalen. Se `approve_new_topics_unless_trust_level`." fast_typer: "Ny användare skrev sitt första inlägg misstänkt snabbt, alltså misstänkt bot eller skräppostarbeteende. Se `min_first_post_typing_time`." auto_silence_regexp: "Ny användare vars första inlägg matchar inställningen `auto_silence_first_post_regex`." - watched_word: "Detta inlägg innehåller ett bevakat ord. Se din lista över bevakade ord." + watched_word: "Detta inlägg innehåller ett bevakat ord. Se din lista över bevakade ord." staged: "Nya ämnen och inlägg för arrangerade användare måste godkännas av personalen. Se `approve_unless_staged`." category: "Inlägg i denna kategori kräver manuellt godkännande av personalen. Se kategoriinställningarna." must_approve_users: "Alla nya användare måste godkännas av personalen. Se `must_approve_users`." diff --git a/config/locales/server.tr_TR.yml b/config/locales/server.tr_TR.yml index 241fad08d84..5879fd93224 100644 --- a/config/locales/server.tr_TR.yml +++ b/config/locales/server.tr_TR.yml @@ -1220,7 +1220,7 @@ tr_TR: force_https_warning: "Web siteniz SSL kullanıyor. Ancak site ayarlarınızda ` force_https` henüz etkin değil." out_of_date_themes: "Aşağıdaki temalar için güncellemeler mevcuttur:" unreachable_themes: "Aşağıdaki temalar için güncellemeleri kontrol edemedik:" - watched_word_regexp_error: "İzlenen %{action} kelimeler için normal ifade geçersiz. Lütfen İzlenen Kelime ayarlarınızı kontrol edin veya 'izlenen kelimeler normal ifadeler' site ayarını devre dışı bırakın." + watched_word_regexp_error: "İzlenen %{action} kelimeler için normal ifade geçersiz. Lütfen İzlenen Kelime ayarlarınızı kontrol edin veya 'izlenen kelimeler normal ifadeler' site ayarını devre dışı bırakın." site_settings: censored_words: "kelime yerine otomatik olarak ■■■■ kullanılacak kelimeler" delete_old_hidden_posts: "30 günden fazla süreyle gizli kalan gizlenmiş gönderileri otomatik olarak sil." @@ -3495,7 +3495,7 @@ tr_TR: new_topics_unless_trust_level: "Güven seviyesi düşük olan kullanıcılar, görevli tarafından onaylanmış konulara sahip olmalıdır. Bkz. “approve_new_topics_unless_trust_level`." fast_typer: "Yeni kullanıcı ilk gönderilerini şüpheli biçimde hızlı yazdı, şüpheli bot veya spam gönderici davranışları. Bkz. “min_first_post_typing_time”." auto_silence_regexp: "İlk gönderisi \"auto_silence_first_post_regex\" ayarıyla eşleşen yeni kullanıcı." - watched_word: "Bu gönderide İzlenen Bir Kelime vardı. İzlenen kelimeler listenize bakın." + watched_word: "Bu gönderide İzlenen Bir Kelime vardı. İzlenen kelimeler listenize bakın." staged: "Aşama kaydetmiş kullanıcılar için yeni konular ve gönderiler moderatör tarafından onaylanmalıdır. Bkz: `approve_unless_staged`." category: "Bu kategorideki gönderiler, moderatör tarafından manuel onay gerektirir. Kategori ayarlarına bakın." must_approve_users: "Tüm yeni kullanıcılar yetkili tarafından onaylanmalıdır. Bkz. “must_approve_users`." diff --git a/config/locales/server.uk.yml b/config/locales/server.uk.yml index 5b90a3f18b4..f89faf6e8cd 100644 --- a/config/locales/server.uk.yml +++ b/config/locales/server.uk.yml @@ -1453,7 +1453,7 @@ uk: force_https_warning: "Ваш веб-сайт використовує SSL. Але `force_https` ще не ввімкнено в налаштуваннях вашого сайту." out_of_date_themes: "Оновлення доступні для таких тем:" unreachable_themes: "Нам не вдалося перевірити наявність оновлень за наступними темами:" - watched_word_regexp_error: "Регулярний вираз для %{action} контрольованих слів недійсний. Будь ласка, перевірте свої налаштування контрольовані слова або вимкніть налаштування веб-сайту \"Регулярні вирази контрольованих слів\"." + watched_word_regexp_error: "Регулярний вираз для %{action} контрольованих слів недійсний. Будь ласка, перевірте свої налаштування контрольовані слова або вимкніть налаштування веб-сайту \"Регулярні вирази контрольованих слів\"." site_settings: display_local_time_in_user_card: "Відображення локального часу на основі часового поясу користувача під час відкриття картки користувача." censored_words: "Слова, які будуть автоматично замінені на ■■■■" @@ -3214,7 +3214,7 @@ uk: trust_level: "Відповіді користувачів з низьким рівнем довіри повинні бути затверджені персоналом. Перегляньте розділ `approve_unless_trust_level`." new_topics_unless_trust_level: "Теми користувачів з низьким рівнем довіри повинні бути затверджені персоналом. Див. розділ `approve_new_topics_unless_trust_level`." fast_typer: "Новий користувач набрав своє перше повідомлення підозріло швидко, є підозра про поведінку бота чи спамера. Див. `min_first_post_typing_time`." - watched_word: "Ця публікація включена \"Спостережним словом\". Дивіться ваш список спостережень слів." + watched_word: "Ця публікація включена \"Спостережним словом\". Дивіться ваш список спостережень слів." staged: "Нові теми та публікації для проміжних користувачів повинні бути затверджені персоналом. Дивіться `approve_unless_staged`." category: "Дописи в цій категорії вимагають ручного схвалення персоналом. Дивіться налаштування категорії." must_approve_users: "Всіх нових користувачів потрібно схвалити персоналом. Дивіться `must_approve_users`." diff --git a/config/locales/server.ur.yml b/config/locales/server.ur.yml index cceb765d2d5..350c90644c1 100644 --- a/config/locales/server.ur.yml +++ b/config/locales/server.ur.yml @@ -1158,7 +1158,7 @@ ur: force_https_warning: "آپ کی ویب سائٹ SSL استعمال کر رہی ہے۔ لیکن `force_https` ابھی تک آپ کی سائٹ ترتیبات میں فعال نہیں ہے۔" out_of_date_themes: "مندرجہ ذیل تِھیمز کیلئے اَپ ڈیٹس دستیاب ہیں:" unreachable_themes: "ہم مندرجہ ذیل تِھیمز کیلئے اپ ڈیٹس کو چیک نہ کر سکے:" - watched_word_regexp_error: "%{action} دیکھے ہوئے الفاظ کیلئے رَیگولر اَیکسپرَیشَن غلط ہے۔ براہ کرم اپنے دیکھے ہوئے الفاظ کی ترتیبات کو چیک کریں، یا 'دیکھے ہوئے الفاظ رَیگولر اَیکسپرَیشَن' سائٹ ترتیب کو غیر فعال کریں۔" + watched_word_regexp_error: "%{action} دیکھے ہوئے الفاظ کیلئے رَیگولر اَیکسپرَیشَن غلط ہے۔ براہ کرم اپنے دیکھے ہوئے الفاظ کی ترتیبات کو چیک کریں، یا 'دیکھے ہوئے الفاظ رَیگولر اَیکسپرَیشَن' سائٹ ترتیب کو غیر فعال کریں۔" site_settings: censored_words: "الفاظ جو خود بخود ■■■■ سے تبدیل ہوجائیں گے" delete_old_hidden_posts: "کوئی چھپی ہوئی پوسٹ جو 30 دن سے زائد عرصہ سے چھپا رکھی ہو اُس کو خود کار طریقے سے حذف کر دیں۔" @@ -3523,7 +3523,7 @@ ur: trust_level: "کم ٹرسٹ لَیول پر صارفین کے جوابات کو سٹاف کی طرف سے منظور کیا جانا ضروری ہے۔ دیکھیے `approve_unless_trust_level`۔" new_topics_unless_trust_level: "کم ٹرسٹ لَیول پر صارفین کے ٹاپکس کو سٹاف کی طرف سے منظور کیا جانا ضروری ہے۔ دیکھیے `approve_new_topics_unless_trust_level`۔" fast_typer: "نِے صارف نے اپنی پہلی اشاعت مشکوک حد تک جلدی لکھی، مشتبہ بَوٹ یا سپَیمر رویہ۔ دیکھیے `min_first_post_typing_time`۔" - watched_word: "اِس پوسٹ میں ایک نظر رکھا ہوا لفظ شامل ہے۔ اپنی نظر رکھے ہوئے الفاظ کی فہرست دیکھیے۔" + watched_word: "اِس پوسٹ میں ایک نظر رکھا ہوا لفظ شامل ہے۔ اپنی نظر رکھے ہوئے الفاظ کی فہرست دیکھیے۔" staged: "سٹَیجڈ صارفین کیلئے نئے ٹاپکس اور پوسٹس کو سٹاف کی طرف سے منظور کیا جانا ضروری ہے۔ دیکھیے `approve_unless_staged`۔" category: "اِس زُمرہ میں پوسٹس کو سٹاف کی طرف سے دستی منظوری کی ضرورت ہوتی ہے۔ زُمرہ کی ترتیبات دیکھیے۔" must_approve_users: "تمام نئے صارفین کو سٹاف کی طرف سے منظور کیا جانا ضروری ہے۔ دیکھیے `must_approve_users`۔" diff --git a/config/locales/server.zh_CN.yml b/config/locales/server.zh_CN.yml index 1cde2316453..0492af5b368 100644 --- a/config/locales/server.zh_CN.yml +++ b/config/locales/server.zh_CN.yml @@ -1310,7 +1310,7 @@ zh_CN: force_https_warning: "你的网站使用了SSL。但是,你的网站设置中尚未启用`force_https`。" out_of_date_themes: "以下主题有更新:" unreachable_themes: "我们无法检查以下主题的更新:" - watched_word_regexp_error: "捕获敏感词 %{action} 的正则表达式无效。请检查你的敏感词设置,或禁用“敏感词正则表达式”网站设置。" + watched_word_regexp_error: "捕获敏感词 %{action} 的正则表达式无效。请检查你的敏感词设置,或禁用“敏感词正则表达式”网站设置。" site_settings: display_local_time_in_user_card: "打开用户卡片时,根据用户的时区显示本地时间。" censored_words: "将被自动替换为 ■■■■" @@ -4331,7 +4331,7 @@ zh_CN: new_topics_unless_trust_level: "低信任等级用户必须有主题被管理员批准。参阅`approve_new_topics_unless_trust_level`。" fast_typer: "新用户输入第一个帖子的速度快得可疑,怀疑是机器人或垃圾制造者所为。参阅`min_firse_post_typing_time`。" auto_silence_regexp: "新用户的首个帖子符合 `auto_silence_first_post_regex` 设置。" - watched_word: "此帖子包含一个敏感词。参阅敏感词列表" + watched_word: "此帖子包含一个敏感词。参阅敏感词列表" staged: "暂存用户的新主题和帖子必须由管理员批准。参阅`approve_unless_staged`。" category: "此分类的帖子需要管理员批准。查看分类设置。" must_approve_users: "所有新用户需由管理员批准。参阅`must_approve_users`。" diff --git a/config/routes.rb b/config/routes.rb index d8aff07d2b8..77042fd1a91 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -182,20 +182,16 @@ Discourse::Application.routes.draw do end end resources :screened_urls, only: [:index] - resources :watched_words, only: [:index, :create, :update, :destroy] do - collection do - get "action/:id" => "watched_words#index" - get "action/:id/download" => "watched_words#download" - delete "action/:id" => "watched_words#clear_all" - end - end - post "watched_words/upload" => "watched_words#upload" resources :search_logs, only: [:index] get 'search_logs/term/' => 'search_logs#term' end get "/logs" => "staff_action_logs#index" + # alias + get '/logs/watched_words', to: redirect(relative_url_root + 'admin/customize/watched_words'), constraints: AdminConstraint.new + get '/logs/watched_words/*path', to: redirect(relative_url_root + 'admin/customize/watched_words/%{path}'), constraints: AdminConstraint.new + get "customize" => "color_schemes#index", constraints: AdminConstraint.new get "customize/themes" => "themes#index", constraints: AdminConstraint.new get "customize/colors" => "color_schemes#index", constraints: AdminConstraint.new @@ -243,6 +239,15 @@ Discourse::Application.routes.draw do resource :email_style, only: [:show, :update] get 'email_style/:field' => 'email_styles#show', constraints: { field: /html|css/ } + + resources :watched_words, only: [:index, :create, :update, :destroy] do + collection do + get "action/:id" => "watched_words#index" + get "action/:id/download" => "watched_words#download" + delete "action/:id" => "watched_words#clear_all" + end + end + post "watched_words/upload" => "watched_words#upload" end resources :embeddable_hosts, constraints: AdminConstraint.new diff --git a/spec/requests/admin/watched_words_controller_spec.rb b/spec/requests/admin/watched_words_controller_spec.rb index 50017ff4e57..417e19a0b0b 100644 --- a/spec/requests/admin/watched_words_controller_spec.rb +++ b/spec/requests/admin/watched_words_controller_spec.rb @@ -14,13 +14,13 @@ RSpec.describe Admin::WatchedWordsController do end it 'should return the right response when given an invalid id param' do - delete '/admin/logs/watched_words/9999.json' + delete '/admin/customize/watched_words/9999.json' expect(response.status).to eq(400) end it 'should be able to delete a watched word' do - delete "/admin/logs/watched_words/#{watched_word.id}.json" + delete "/admin/customize/watched_words/#{watched_word.id}.json" expect(response.status).to eq(200) expect(WatchedWord.find_by(id: watched_word.id)).to eq(nil) @@ -34,7 +34,7 @@ RSpec.describe Admin::WatchedWordsController do end it 'creates the words from the file' do - post '/admin/logs/watched_words/upload.json', params: { + post '/admin/customize/watched_words/upload.json', params: { action_key: 'flag', file: Rack::Test::UploadedFile.new(file_from_fixtures("words.csv", "csv")) } @@ -50,7 +50,7 @@ RSpec.describe Admin::WatchedWordsController do end it 'creates the words from the file' do - post '/admin/logs/watched_words/upload.json', params: { + post '/admin/customize/watched_words/upload.json', params: { action_key: 'tag', file: Rack::Test::UploadedFile.new(file_from_fixtures("words_tag.csv", "csv")) } @@ -71,7 +71,7 @@ RSpec.describe Admin::WatchedWordsController do describe '#download' do context 'not logged in as admin' do it "doesn't allow performing #download" do - get "/admin/logs/watched_words/action/block/download" + get "/admin/customize/watched_words/action/block/download" expect(response.status).to eq(404) end end @@ -88,17 +88,17 @@ RSpec.describe Admin::WatchedWordsController do autotag_1 = Fabricate(:watched_word, action: WatchedWord.actions[:tag], replacement: "tag1,tag2") autotag_2 = Fabricate(:watched_word, action: WatchedWord.actions[:tag], replacement: "tag3,tag2") - get "/admin/logs/watched_words/action/block/download" + get "/admin/customize/watched_words/action/block/download" expect(response.status).to eq(200) block_words = response.body.split("\n") expect(block_words).to contain_exactly(block_word_1.word, block_word_2.word) - get "/admin/logs/watched_words/action/censor/download" + get "/admin/customize/watched_words/action/censor/download" expect(response.status).to eq(200) censor_words = response.body.split("\n") expect(censor_words).to contain_exactly(censor_word_1.word) - get "/admin/logs/watched_words/action/tag/download" + get "/admin/customize/watched_words/action/tag/download" expect(response.status).to eq(200) tag_words = response.body.split("\n").map(&:parse_csv) expect(tag_words).to contain_exactly( @@ -113,7 +113,7 @@ RSpec.describe Admin::WatchedWordsController do context 'non admins' do it "doesn't allow them to perform #clear_all" do word = Fabricate(:watched_word, action: WatchedWord.actions[:block]) - delete "/admin/logs/watched_words/action/block" + delete "/admin/customize/watched_words/action/block" expect(response.status).to eq(404) expect(WatchedWord.pluck(:word)).to include(word.word) end @@ -126,7 +126,7 @@ RSpec.describe Admin::WatchedWordsController do it "allows them to perform #clear_all" do word = Fabricate(:watched_word, action: WatchedWord.actions[:block]) - delete "/admin/logs/watched_words/action/block.json" + delete "/admin/customize/watched_words/action/block.json" expect(response.status).to eq(200) expect(WatchedWord.pluck(:word)).not_to include(word.word) end @@ -135,7 +135,7 @@ RSpec.describe Admin::WatchedWordsController do block_word = Fabricate(:watched_word, action: WatchedWord.actions[:block]) flag_word = Fabricate(:watched_word, action: WatchedWord.actions[:flag]) - delete "/admin/logs/watched_words/action/flag.json" + delete "/admin/customize/watched_words/action/flag.json" expect(response.status).to eq(200) all_words = WatchedWord.pluck(:word) expect(all_words).to include(block_word.word)